Como escolher entre um dispositivo único do Cloud TPU e um Cloud TPU Pod (versão Beta)

Dispositivo único do Cloud TPU e configurações do Cloud TPU Pod(versão Beta)

O dispositivo único do Cloud TPU e as configurações do Cloud TPU Pod (versão Beta) estão descritos aqui e no documento de arquitetura do sistema .

  • Um Cloud TPU v2-8 é um dispositivo único do Cloud TPU com 4 chips de TPU. Cada chip de TPU tem 2 núcleos, então o v2-8 tem um total de 8 núcleos.
  • Um Cloud TPU v2 Pod (versão Beta) é formado por 64 dispositivos TPU com 256 chips de TPU (512 núcleos) conectados entre si por interfaces de alta velocidade.
  • Um Cloud TPU v3-8 é um dispositivo único do Cloud TPU com 4 chips de TPU. Cada chip de TPU tem 2 núcleos, resultando em um total de 8 núcleos.
  • Um Cloud TPU v3 Pod (versão Beta) é formado por 256 dispositivos TPU com 1.024 chips de TPU (2.048 núcleos) conectados entre si por interfaces de alta velocidade.

Como os recursos de TPU podem ser dimensionados de um dispositivo único do Cloud TPU para um Cloud TPU Pod (versão Beta), você não precisa escolher entre um dispositivo único do Cloud TPU e um Cloud TPU Pod (versão Beta). Em vez disso, é possível solicitar partes ou fatias de Cloud TPU Pods, que contêm um conjunto de núcleos de TPU. Dessa maneira, com as fatias, é possível comprar apenas o poder de processamento necessário.

A ampliação de um dispositivo único do Cloud TPU para um Cloud TPU Pod (versão Beta) geralmente exige apenas o ajuste de hiperparâmetros, como o tamanho do lote, para corresponder ao maior número de núcleos de TPU na fatia do Cloud TPU Pod. Com poucas alterações secundárias, um modelo que usa horas para treinar em um dispositivo único do Cloud TPU pode ser acelerado, alcançando a mesma precisão em minutos em um Cloud TPU Pod completo.

Vantagens do Cloud TPU Pod (versão Beta)

O Cloud TPU Pod (versão Beta) traz os seguintes benefícios em relação a um dispositivo único do Cloud TPU:

  • aumento da velocidade de treinamento para rápida iteração de P&D
  • aumento da produtividade humana por meio de computador de machine learning (ML) dimensionável automaticamente
  • capacidade de treinar modelos muito maiores do que em um dispositivo único do Cloud TPU

Fatias de Cloud TPU Pod (versão Beta)

Nem sempre o modelo de ML precisa de todo o Pod para treinamento, por isso, o Google Cloud Platform oferece seções menores chamadas fatias. Fatias são alocações internas com diferentes números de chips do TPU. Os tamanhos das fatias são definidos da mesma forma nos pods do Cloud TPU v2 e nos pods do Cloud TPU v3. Pods v3 têm mais chips do TPU e, portanto, suportam mais e maiores fatias. Por exemplo, uma fatia 4x4 do v2 ou do v3 tem 16 chips do TPU, conformando um total de 32 núcleos (2 núcleos por chip, em 16 chips do TPU). Uma fatia 8x8 tem 64 chips do TPU, conformando um total de 128 núcleos.

As fatias do Cloud TPU Pod v2 e v3 estão disponíveis nos seguintes tamanhos. Mostramos alguns tamanhos nos diagramas que acompanham as tabelas.

Nome # de núcleos # de chips do TPU
v2-32 32 núcleos 16 chips do TPU (fatia 4x4)
v2-128 128 núcleos 64 chips do TPU (fatia 8x8)
v2-256 256 núcleos 128 chips do TPU (fatia 8x16)
v2-512 512 núcleos 256 chips do TPU (fatia 16x16)

imagem

Nome # de núcleos # de chips do TPU
v3-32 32 núcleos 16 chips do TPU (fatia 4x4)
v3-128 128 núcleos 64 chips do TPU (fatia 8x8)
v3-256 256 núcleos 128 chips do TPU (fatia 8x16)
v3-512 512 núcleos 256 chips do TPU (fatia 16x16)
v3-1024 1.024 núcleos 512 chips do TPU (fatia 16x32)
v3-2048 2.048 núcleos 1.024 chips do TPU (fatia 32x32)

imagem

Como solicitar fatias de Pod Cloud TPU v2 e v3

Defina o tipo de fatia que você quer alocar para os jobs usando os nomes mostrados na tabela de fatias de Pods. Os nomes das fatias correspondem às versões compatíveis do TPU. Quanto menor a fatia, maior a probabilidade de estar disponível.

É possível especificar o tipo de fatia como:

Utilitário do ctpu

  1. Executando o Serviço de provisionamento do Cloud TPU (ctpu).
    • Ao executar o ctpu up, use o parâmetro --tpu-size para especificar o nome da fatia da tabela acima que corresponde ao número de núcleos a serem usados. Por exemplo, para solicitar 32 núcleos de um Pod v2 (versão Beta), é preciso especificar: --tpu-size=v2-32.
      $ ctpu up --tpu-size=[SLICE-NAME]
      onde:

Comando gcloud

  1. Ao criar um novo recurso do Cloud TPU usando o comando gcloud compute tpus create, especifique o tipo de acelerador com um dos nomes da tabela de fatias do Pod. Os nomes das fatias especificam o número de núcleos que você solicita. Por exemplo, para solicitar 32 núcleos de um Pod v2 (versão Beta), é preciso especificar:

    $ gcloud compute tpus create [TPU name] \
     --zone europe-west4-a \
     --range '10.240.0.0' \
     --accelerator-type 'v2-32' \
     --network my-tf-network \
     --version '1.13'
    

    onde:

    • TPU name é um nome para identificar o TPU que você está criando.
    • --zone é a computação/zona do Compute Engine. Verifique se o tipo de acelerador solicitado é compatível com sua região;
    • --range especifica o endereço do recurso do Cloud TPU criado, podendo ser qualquer valor em 10.240.*.*;
    • --accelerator-type é a versão do acelerador e o número de núcleos que você quer usar, por exemplo, v2-32 (32 núcleos);
    • --network especifica o nome da rede usada pela instância de VM do Compute Engine. É necessário se conectar a instâncias nessa rede por meio do SSH. Para a maioria das situações, use a rede padrão criada automaticamente pelo projeto do Google Cloud Platform. No entanto, isso resultará em erro se a rede padrão for legada;
    • --version especifica a versão do TensorFlow que será usada com o TPU.

Console do Cloud

  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 o nome da fatia associada ao número de núcleos que você quer usar, como v2-32 (32 núcleos).
  4. Clique no botão Criar.
Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…