Neste documento, descrevemos as instâncias do Compute Engine na família de máquinas com otimização de aceleradores que têm Unidades de Processamento de Tensor (TPUs). As TPUs são circuitos integrados de aplicação específica (ASICs, na sigla em inglês) desenvolvidos pelo Google e otimizados especificamente para cargas de trabalho de inteligência artificial (IA) e machine learning (ML).
O Compute Engine é compatível com as seguintes versões de TPU:
- TPU7x
- TPU v6e
- TPU v5p
Cada tipo de máquina em uma versão tem uma topologia específica e um número de chips de TPU anexados.
Princípios básicos da arquitetura de TPU
Entender os conceitos básicos da arquitetura de TPU ajuda a escolher a versão da TPU e o tipo de máquina para sua carga de trabalho.
Chip de TPU: um chip de TPU é um acelerador especializado projetado pelo Google para machine learning. Cada chip de TPU contém um ou mais TensorCores para lidar com operações de matriz massivas. Cada TensorCore consiste em uma ou mais unidades de multiplicação de matrizes (MXUs), que usam uma arquitetura de matriz sistólica para realizar milhares de operações de multiplicação e acumulação por ciclo sem acesso constante à memória. Embora seja usado principalmente para processamento de matrizes de alta velocidade, o chip de TPU também inclui unidades vetoriais e escalares para operações gerais de computação e fluxo de controle.
Pod de TPU: um Pod de TPU é um conjunto contíguo de TPUs agrupadas em uma rede especializada. O número de chips de TPU em um Pod de TPU depende da versão da TPU.
Instância de TPU: uma instância de computação do Linux que é executada em um host de TPU e tem acesso direto ao hardware de TPU, oferecendo acesso a bibliotecas de alto desempenho, conectividade SSH e registros de depuração de ambiente de execução.
Fração de TPU: um grupo lógico de chips de TPU interconectados, acessados por uma ou mais instâncias de TPU. As frações têm um dos seguintes escopos:
- Fração de host único: uma fração que consiste em uma máquina host. Em geral, isso é mapeado para uma instância de TPU.
- Fração de vários hosts: uma fração que consiste em várias instâncias de TPU interconectadas usando uma interconexão entre chips (ICI) de alta velocidade.
Cubo de TPU: uma topologia 4x4x4 de chips de TPU interconectados. Isso só é aplicável a topologias 3D.
SparseCore: os SparseCores são processadores de fluxo de dados que aceleram os modelos usando operações esparsas. Um caso de uso principal é a aceleração de modelos de recomendação, que dependem muito de embeddings.
Versões de TPU: a arquitetura exata de um chip de TPU depende da versão usada. Cada versão de TPU também aceita diferentes tamanhos e configurações de fração.
Para saber como as TPUs funcionam, consulte o documento Arquitetura de TPU na documentação do Cloud TPU.
Versões de TPU recomendadas por tipos de carga de trabalho
A escolha do modelo de TPU certo depende das características computacionais, dos requisitos de memória e das necessidades de escalonabilidade da sua carga de trabalho. Selecione uma das guias a seguir para ver as recomendações.
Treinamento com IA/ML
Pré-treinamento de modelos grandes: treinamento de modelos massivos do zero. Essas cargas de trabalho são limitadas por computação e comunicação.
Ajuste e destilação de modelos: adaptação de modelos atuais usando métodos eficientes em termos de parâmetros ou treinamento de variantes de modelos menores.
Inferência de IA/ML
Disponibilização de modelos on-line: implantação de modelos para interação em tempo real, em que a baixa latência é essencial. Essas cargas de trabalho são limitadas pela largura de banda da memória durante a geração sequencial de tokens.
- Capacidade de TPU necessária: alta largura de banda de HBM e grande SRAM no chip para minimizar a latência de recuperação de dados.
- Versões recomendadas da TPU:
Executar inferência em lote: processar grandes conjuntos de dados off-line em que a alta capacidade de processamento é o objetivo principal. Essas cargas de trabalho são limitadas pela computação durante a fase de preenchimento prévio do comando.
- Capacidade de TPU necessária: alta densidade de computação para maximizar a capacidade de processamento por dólar.
- Versões recomendadas da TPU:
Sistemas recomendadores
- Processamento de embeddings grandes: treinamento e disponibilização de modelos de recomendação que usam tabelas de embedding massivas. Essas cargas de trabalho são limitadas
por capacidade e comunicação.
- Capacidade de TPU necessária: hardware SparseCore especializado para processar operações esparsas em paralelo, grande capacidade de HBM e suporte para transferência para a memória do host.
- Versões recomendadas da TPU:
Aprendizado por reforço
Execução de loops de aprendizado por reforço: gerenciamento de cargas de trabalho híbridas que exigem loops rígidos de geração de amostras e atualização de pesos de políticas.
Opções de consumo
Para otimizar a utilização de recursos e o custo, além de equilibrar o desempenho da carga de trabalho, o Compute Engine oferece as seguintes opções de consumo de TPU:
On demand: para consumir TPUs sem organizar a capacidade com antecedência. Antes de solicitar recursos, é necessário ter cota on demand suficiente para o tipo e a quantidade específicos de instâncias de TPU. On demand é a opção de consumo mais flexível. No entanto, não há garantia de que haverá recursos on demand suficientes para atender à sua solicitação.
Spot: para provisionar VMs spot, você pode receber descontos significativos, mas as VMs spot podem ser interrompidas a qualquer momento, com um aviso de 30 segundos. Para mais informações, consulte Sobre as VMs spot.
Início flexível: para provisionar {flex_start_vms_name} por até sete dias, com o Compute Engine alocando automaticamente o hardware da melhor maneira possível com base na disponibilidade. Para mais informações, consulte Sobre as {flex_start_vms_name}.
Reserva adiantada para blocos de capacidade: para solicitar uma reserva adiantada por um ano ou mais. Para mais informações, consulte Solicitar uma reserva adiantada por um ano ou mais na documentação do Cloud TPU.
Reserva adiantada no modo de calendário: para provisionar recursos de TPU por até 90 dias, por um período especificado. Para mais informações, consulte Sobre solicitações de reserva adiantada no modo de calendário.
Sob demanda é o modelo de consumo padrão para TPUs se você não especificar outra opção.
Para informações sobre o modelo de provisionamento que permite a opção de consumo, consulte Sobre os modelos de provisionamento de VM.
Disponibilidade de opções de consumo por versões de TPU
A tabela a seguir resume a disponibilidade de cada opção de consumo por versões de TPU.
| Versão da TPU | Sob demanda | Spot | Início flexível | Reservas imediatas | Reservas adiantadas | Reservas adiantadas no modo de calendário1 | Reservas adiantadas para blocos de capacidade |
|---|---|---|---|---|---|---|---|
| 2 | 2 | 2 | 2 | ||||
1 Não é possível criar solicitações de reserva adiantada no modo de calendário ao usar o modo de capacidade total.
2 As reservas spot, de início flexível, adiantadas no modo de calendário e adiantadas para blocos de capacidade para TPU7x são restritas por uma lista de permissões. Para solicitar acesso, entre em contato com sua equipe de conta ou com a equipe de vendas.
Modo de capacidade total
Por padrão, as reservas de TPU incluem recuperação automática de falhas. OCloud de Confiance gerencia esse processo substituindo automaticamente as máquinas de TPU com falha por outras íntegras da capacidade reservada para garantir que os recursos estejam disponíveis para reiniciar as frações de TPU.
Como alternativa, para a TPU v6e e a TPU7x, é possível solicitar capacidade da TPU no modo de capacidade total. Esse modo concede acesso à capacidade reservada total e visibilidade total da topologia. Nesse modo, também é possível segmentar blocos ou sub-blocos específicos para posicionamento de carga de trabalho preciso e com reconhecimento de topologia. No entanto, você é responsável por gerenciar falhas de hardware e manutenção.
Para mais informações sobre esses modos, consulte Modos de capacidade da TPU na documentação do Cloud TPU.
Comparação de versões de TPU
Compare as características de diferentes versões de TPU. É possível selecionar propriedades específicas no campo Escolher propriedades para comparar para comparar essas propriedades em todas as versões de TPU na tabela a seguir.
| Otimização para aceleradores | Otimização para aceleradores | Otimização para aceleradores |
| VM | VM | VM |
| Intel Emerald Rapids | AMD EPYC Genoa | Intel Sapphire Rapids |
| x86 | x86 | x86 |
| 224 | 44 a 180 | 208 |
| Conversa | Conversa | Conversa |
| 960 GB | 176 a 1.440 GB | 448 GB |
| NUMA | NUMA | NUMA |
| — | — | — |
| — | — | — |
| — | — | — |
| — | — | — |
| — | — | |
| NVMe | NVMe | NVMe |
| — | ||
| — | — | — |
| — | — | — |
| — | — | — |
| — | — | — |
| — | — | — |
| — | — | |
| — | — | — |
| — | — | — |
| gVNIC | gVNIC | gVNIC |
| 400 Gbps | 50 a 400 Gbps | 200 Gbps |
| 4 | 8 | 4 |
| — | — | — |
| — | — | — |
Especificações da arquitetura da TPU
A tabela a seguir lista as principais especificações de cada versão de TPU.
| Especificação | TPU7x | TPU v6e | TPU v5p |
|---|---|---|---|
| Número de chips por pod | 9216 | 256 | 8960 |
| Pico de computação por chip (BF16) (TFLOPs) | 2307 | 918 | 459 |
| Pico de computação por chip (FP8) (TFLOPs) | 4614 | 918 | 459 |
| Capacidade de HBM por chip (GiB) | 192 | 32 | 95 |
| Largura de banda de HBM por chip (GBps) | 7380 | 1638 | 2765 |
| Número de vCPUs (VM de 4 chips) | 224 | 180 | 208 |
| RAM (GiB) (VM de 4 chips) | 960 | 720 | 448 |
| Número de TensorCores por chip | 2 | 1 | 2 |
| Número de SparseCores por chip | 4 | 2 | 4 |
| Largura de banda da interconexão entre chips (ICI) bidirecional por chip (GBps) | 1200 | 800 | 1200 |
| Largura de banda da rede do data center (DCN, na sigla em inglês) por chip (Gbps) | 100 | 100 | 50 |
Tipos de máquina de TPU
As seções a seguir descrevem os tipos de máquina disponíveis para cada versão de TPU.
TPU7x (Ironwood)
Cada máquina virtual (VM) de TPU7x contém 4 chips de TPU. Todas as frações da TPU7x usam VMs de host completo com quatro chips.
Cada chip TPU7x contém dois TensorCores e quatro SparseCores.
O modelo de programação Ironwood permite acessar dois dispositivos de TPU em vez de uma arquitetura de núcleo lógico único usada em gerações anteriores. Para mais informações, consulte Arquitetura de chiplet duplo na documentação do Cloud TPU.
| Tipo de máquina | Número de vCPUs | Memória da instância (GiB) | Contagem de NICs físicas | Largura de banda máxima da rede (Gbps) | Número de chips de TPU por VM | Número de nós NUMA | Memória total da TPU (GiB HBM) |
|---|---|---|---|---|---|---|---|
tpu7x-standard-4t |
224 | 960 | 2 | 400 | 4 | 2 | 768 |
Para mais informações sobre a arquitetura da TPU7x, consulte TPU7x (Ironwood) na documentação do Cloud TPU.
TPU v6e (Trillium)
Cada VM de TPU v6e pode conter um, quatro ou oito chips de TPU. As frações de quatro chips e menores têm o mesmo nó de acesso à memória não uniforme (NUMA).
As frações da v6e são criadas usando VMs de meio host, cada uma com quatro chips de TPU, exceto as seguintes:
ct6e-standard-1tcom apenas um chip de TPU é destinado principalmente para testes.ct6e-standard-8té uma VM de host completo otimizada para um caso de uso de inferência, permitindo que todos os oito chips de TPU conectados a uma única VM sejam usados em uma única carga de trabalho de disponibilização.
| Tipo de máquina | Número de vCPUs | Memória da instância (GB) | Contagem de NICs físicas | Largura de banda máxima da rede (Gbps) | Número de chips de TPU por VM | Número de nós NUMA | Memória total da TPU (GiB HBM) |
|---|---|---|---|---|---|---|---|
ct6e-standard-1t |
44 | 176 | 1/4 | 50 | 1 | 1 | 32 |
ct6e-standard-4t |
180 | 720 | 2 | 400 | 4 | 1 | 128 |
ct6e-standard-8t |
360 | 1440 | 1 | 200 | 8 | 2 | 256 |
Para mais informações sobre a arquitetura da TPU v6e, consulte TPU v6e na documentação do Cloud TPU.
TPU v5p
Um pod de TPU v5p é composto por 8.960 chips de TPU interconectados com links de alta velocidade reconfiguráveis. A rede flexível da TPU v5p permite conectar os chips de TPU em uma fração do mesmo tamanho de várias maneiras. O treinamento de fração única é aceito com até 6.144 chips de TPU.
| Tipo de máquina | Número de vCPUs | Memória da instância (GB) | Contagem de NICs físicas | Largura de banda máxima da rede (Gbps) | Número de chips de TPU por VM | Número de nós NUMA | Memória total da TPU (GiB HBM) |
|---|---|---|---|---|---|---|---|
ct5p-hightpu-4t |
208 | 448 | 1 | 200 | 4 | 2 | 380 |
Para mais informações sobre a arquitetura da TPU v5p, consulte TPU v5p na documentação do Cloud TPU.
Topologia da TPU
A topologia define a disposição física das TPUs dentro de uma fração da TPU. Dependendo da versão da TPU, a topologia é bidimensional ou tridimensional. É possível identificar o número de chips de TPU em uma fração ao calcular o produto de cada tamanho na topologia. Exemplo:
- O tipo de máquina
tpu7x-standard-4tcom uma topologia2x2x2é uma fração de TPU7x de vários hosts com 8 chips.
A tabela a seguir lista as topologias disponíveis para cada versão de TPU.
| Versão da TPU | Tipo de máquina | Escopo | Especificações técnicas |
|---|---|---|---|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Host único |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Vários hosts |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Vários hosts |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Vários hosts |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Vários hosts |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Vários hosts |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Vários hosts |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Vários hosts |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Vários hosts |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Vários hosts |
|
| TPU v6e (Trillium) | ct6e-standard-1t |
Host único |
|
| TPU v6e (Trillium) | ct6e-standard-8t |
Host único |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
Host único |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
Vários hosts |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
Vários hosts |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
Vários hosts |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
Vários hosts |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
Vários hosts |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
Vários hosts |
|
| TPU v5p | ct5p-hightpu-4t |
Host único |
|
| TPU v5p | ct5p-hightpu-4t |
Vários hosts |
|
| TPU v5p | ct5p-hightpu-4t |
Vários hosts |
|
| TPU v5p | ct5p-hightpu-4t |
Vários hosts |
|
| TPU v5p | ct5p-hightpu-4t |
Vários hosts |
|
-
Calculado pelo produto de topologia dividido por quatro. ↩
A seguir
- Saiba mais sobre os recursos de TPU no Compute Engine.
- Confira o guia de início rápido: Criar uma única VM de TPU