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.
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.