Tipos e zonas de TPU

Visão geral

Ao criar nós de TPU para processar as cargas de trabalho de aprendizado de máquina, é preciso selecionar um tipo de TPU. Ele define a versão, o número de núcleos e a quantidade de memória da TPU que está disponível para a carga de trabalho de machine learning.

Por exemplo, o tipo de TPU v2-8 define um nó de TPU com 8 núcleos de TPU v2 e 64 GiB de memória total de TPU. O tipo de TPU v3-2048 define um nó de TPU com 2048 núcleos de TPU v3 e 32 TiB de memória total de TPU.

Para saber mais sobre as diferenças de hardware entre versões e configurações de TPU, leia a documentação da arquitetura do sistema.

Para ver o preço de cada tipo de TPU em cada região, consulte a página Preços.

Um modelo executado em um tipo de TPU pode ser executado sem alterações de código do TensorFlow em outro tipo de TPU. Por exemplo, o código v2-8 pode ser executado sem alterações em um v3-8. No entanto, o dimensionamento de um v2-8 ou v3-8 para um tipo de TPU maior, como v2-32 ou v3-128, requer ajuste e otimização significativos.

Tipos e zonas de TPU

As principais diferenças entre cada tipo de TPU são preço, desempenho, capacidade de memória e disponibilidade zonal.

O Google Cloud Platform usa regiões subdivididas em zonas para definir a localização geográfica dos recursos físicos de computação. Por exemplo, a região us-central1 indica uma região perto do centro geográfico dos Estados Unidos que tem as seguintes zonas: us-central1-a, us-central1-b, us-central1-c e us-central1-f. Ao criar um nó de TPU, especifique a zona em que você quer criá-lo. Consulte o documento Recursos globais, regionais e zonais do Compute Engine para mais informações sobre recursos regionais e zonais.

Configure seus nós de TPU com os seguintes tipos de TPU:

EUA

Tipo de TPU (v2) Núcleos de TPU v2 Memória total de TPU Região/zona
v2-8 8 64 GiB us-central1-b
us-central1-c
us-central1-f
v2-32 32 256 GiB us-central1-a
v2-128 128 1 TiB us-central1-a
v2-256 256 2 TiB us-central1-a
v2-512 512 4 TiB us-central1-a
Tipo de TPU (v3) Núcleos de TPU v3 Memória total de TPU Zonas disponíveis
v3-8 8 128 GiB us-central1-a
us-central1-b
us-central1-f

Europa

Tipo de TPU (v2) Núcleos de TPU v2 Memória total de TPU Região/zona
v2-8 8 64 GiB europe-west4-a
v2-32 32 256 GiB europe-west4-a
v2-128 128 1 TiB europe-west4-a
v2-256 256 2 TiB europe-west4-a
v2-512 512 4 TiB europe-west4-a
Tipo de TPU (v3) Núcleos de TPU v3 Memória total de TPU Zonas disponíveis
v3-8 8 128 GiB europe-west4-a
v3-32 32 512 GiB europe-west4-a
v3-64 64 1 TiB europe-west4-a
v3-128 128 2 TiB europe-west4-a
v3-256 256 4 TiB europe-west4-a
v3-512 512 8 TiB europe-west4-a
v3-1024 1024 16 TiB europe-west4-a
v3-2048 2048 32 TiB europe-west4-a

Ásia-Pacífico

Tipo de TPU (v2) Núcleos de TPU v2 Memória total de TPU Região/zona
v2-8 8 64 GiB asia-east1-c

Os tipos de TPU com maior número de núcleos estão disponíveis apenas em quantidades limitadas. Os tipos de TPU com menor contagem de núcleos têm maior probabilidade de estarem disponíveis.

Para ver o preço de cada tipo de TPU em cada região, consulte a página Preços.

Para saber mais sobre as diferenças de hardware entre versões e configurações de TPU, leia a documentação da arquitetura do sistema.

Como calcular o preço e as vantagens e desvantagens de desempenho

Para decidir qual tipo de TPU você quer usar, faça experiências usando um tutorial do Cloud TPU para treinar um modelo semelhante ao seu aplicativo.

Execute o tutorial de 5 a 10% do número de passos que serão executados no treinamento completo em um tipo de TPU v2-8 e v3-8. O resultado informa quanto tempo leva para executar esse número de etapas para esse modelo em cada tipo de TPU.

Como o desempenho em tipos de TPU é escalonado linearmente, se você sabe quanto tempo leva para executar uma tarefa em um tipo de TPU v2-8 ou v3-8, pode estimar o quanto pode reduzir o tempo de tarefas executando o modelo em um tipo de TPU maior com mais núcleos.

Por exemplo, se um tipo de TPU v2-8 levar de 60 minutos a 10.000 etapas, um nó v2-32 levará aproximadamente 15 minutos para executar a mesma tarefa.

Para determinar a diferença de custo na sua região entre os diferentes tipos de TPU do Cloud TPU e a VM do Compute Engine associada, consulte a página de preços da TPU. Quando você sabe o tempo aproximado de treinamento do modelo em alguns tipos diferentes de TPU, pode ponderar o custo da VM/TPU em relação ao tempo de treinamento para ajudá-lo a decidir a melhor relação preço/desempenho.

Como especificar o tipo de TPU

Ao criar nós de TPU, especifique um tipo de TPU. Por exemplo, é possível selecionar um tipo de TPU usando um dos seguintes métodos:

Utilitário ctpu

Comando gcloud

  • Use o comando gcloud compute tpus create:

    $ gcloud compute tpus create [TPU name] \
     --zone us-central1-b \
     --range '10.240.0.0' \
     --accelerator-type 'v2-8' \
     --network my-tf-network \
     --version '2.1'
    

    onde:

    • TPU name é o nome de identificação da TPU que está sendo criada;
    • --zone é a zona do Compute do Compute Engine. Verifique se o tipo de acelerador solicitado está disponível na sua zona.
    • --range especifica o endereço do recurso do Cloud TPU criado, podendo ser qualquer valor em 10.240.*.*.
    • --accelerator-type é o tipo de acelerador associado ao número de núcleos que você quer usar, como v2-32 (32 núcleos).
    • --network especifica o nome da rede que sua instância de VM do Compute Engine usa. Você deve ser capaz de conectar-se a instâncias nesta rede através de SSH. Na maioria das situações, é possível usar a rede padrão criada automaticamente pelo projeto do Google Cloud. No entanto, isso resultará em erro se a rede padrão for legada.
    • --version especifica a versão do TensorFlow que será usada com a TPU.

Cloud Console

  1. No menu de navegação à esquerda, selecione Compute Engine > TPUs.
  2. Na tela TPUs, clique em Criar nó de TPU. Isso cria uma página de configuração para a TPU.
  3. Em Tipo de TPU, selecione uma das versões compatíveis de TPU.
  4. Clique no botão Criar.

A seguir