TPU v3

Este documento descreve a arquitetura e as configurações suportadas da Cloud TPU v3.

Arquitetura do sistema

Cada chip TPU v3 contém dois TensorCores. Cada TensorCore tem duas unidades de multiplicação de matrizes (MXUs), uma unidade vetorial e uma unidade escalar. A tabela seguinte mostra as especificações principais e os respetivos valores para um Pod de TPU v3.

Principais especificações Valores de agrupamentos v3
Capacidade de computação máxima por chip 123 teraflops (bf16)
Capacidade e largura de banda da HBM2 32 GiB, 900 GBps
Potência mínima/média/máxima medida 123/220/262 W
Tamanho do pod TPU 1024 chips
Topologia de interligação Toro 2D
Pico de computação por agrupamento 126 petaflops (bf16)
Largura de banda de redução total por Pod 340 TB/s
Largura de banda de bissecção por agrupamento 6,4 TB/s

O diagrama seguinte ilustra um chip de TPU v3.

Diagrama de um chip de TPU v3

Os detalhes da arquitetura e as caraterísticas de desempenho da TPU v3 estão disponíveis no artigo A Domain Specific Supercomputer for Training Deep Neural Networks.

Vantagens de desempenho da TPU v3 em relação à v2

O aumento dos FLOPS por TensorCore e da capacidade de memória nas configurações da TPU v3 pode melhorar o desempenho dos seus modelos das seguintes formas:

  • As configurações de TPU v3 oferecem vantagens de desempenho significativas por TensorCore para modelos com restrições de computação. Os modelos limitados pela memória nas configurações de TPU v2 podem não alcançar esta mesma melhoria de desempenho se também forem limitados pela memória nas configurações de TPU v3.

  • Nos casos em que os dados não cabem na memória nas configurações de TPU v2, a TPU v3 pode oferecer um desempenho melhorado e uma recomputação reduzida dos valores intermédios (rematerialização).

  • As configurações da TPU v3 podem executar novos modelos com tamanhos de lotes que não cabiam nas configurações da TPU v2. Por exemplo, a TPU v3 pode permitir modelos ResNet mais profundos e imagens maiores com o RetinaNet.

Os modelos que estão quase limitados pela entrada ("infeed") na TPU v2 porque os passos de preparação estão à espera de entrada também podem estar limitados pela entrada com a Cloud TPU v3. O guia de desempenho do pipeline pode ajudar a resolver problemas de infeed.

Configurações

Um Pod de TPUs v3 é composto por 1024 chips interligados com ligações de alta velocidade. Para criar um dispositivo ou uma fatia de TPU v3, use a flag --accelerator-type no comando de criação de TPU (gcloud compute tpus tpu-vm). Especifique o tipo de acelerador especificando a versão da TPU e o número de núcleos da TPU. Por exemplo, para uma única TPU v3, use --accelerator-type=v3-8. Para uma fatia v3 com 128 TensorCores, use --accelerator-type=v3-128.

A tabela seguinte indica os tipos de TPU v3 suportados:

Versão da TPU O apoio técnico termina
v3-8 (Data de fim ainda não definida)
v3-32 (Data de fim ainda não definida)
v3-128 (Data de fim ainda não definida)
v3-256 (Data de fim ainda não definida)
v3-512 (Data de fim ainda não definida)
v3-1024 (Data de fim ainda não definida)
v3-2048 (Data de fim ainda não definida)

O comando seguinte mostra como criar uma fatia de TPU v3 com 128 TensorCores:

  $ gcloud compute tpus tpu-vm create tpu-name \
    --zone=europe-west4-a \
    --accelerator-type=v3-128 \
    --version=tpu-ubuntu2204-base

Para mais informações sobre a gestão de TPUs, consulte o artigo Faça a gestão de TPUs. Para mais informações sobre a arquitetura do sistema da Cloud TPU, consulte o artigo Arquitetura do sistema.