Neste documento, descrevemos as instâncias do Compute Engine na família de máquinas otimizadas para aceleradores que têm unidades de processamento de tensor (TPUs). As TPUs são circuitos integrados específicos para aplicativos (ASICs) desenvolvidos especialmente pelo Google e otimizados 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 fundamentos da arquitetura de TPU ajuda a escolher a versão e o tipo de máquina para sua carga de trabalho.
Chip de TPU: um acelerador especializado projetado pelo Google para machine learning. Cada chip de TPU contém um ou mais TensorCores para processar operações de matrizes 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 computação geral e operações de fluxo de controle.
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.
VM de TPU: uma VM de TPU é uma máquina virtual Linux executada em um host de TPU e tem acesso às TPUs. É possível se conectar diretamente às VMs de TPU usando SSH. Você tem acesso raiz à VM para executar códigos arbitrários. É possível acessar registros de depuração do compilador e do ambiente de execução, além de mensagens de erro.
Fração de TPU: um grupo lógico de chips de TPU interconectados, acessado por uma ou mais VMs de TPU. As segmentações têm um dos seguintes escopos:
- Fatia de host único: uma fatia que consiste em uma máquina host. Em geral, isso corresponde a uma VM de TPU.
- Fração de vários hosts: uma fração que consiste em várias VMs 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: são processadores de fluxo de dados que aceleram 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 da 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 tipo de carga de trabalho
| Versão da TPU | Principais tipos de carga de trabalho |
|---|---|
| TPU7x (Ironwood) |
|
| TPU v6e (Trillium) |
|
| TPU v5p |
|
Opções de consumo
Para otimizar a utilização de recursos e o custo, equilibrando o desempenho da carga de trabalho, o Compute Engine oferece suporte às seguintes opções de consumo de TPU:
Sob demanda: para consumir TPUs sem organizar a capacidade com antecedência. Antes de solicitar recursos, você precisa ter cota on demand suficiente para o tipo e a quantidade específicos de VMs de TPU. A opção sob demanda é a mais flexível de consumo. No entanto, não há garantia de que recursos suficientes sob demanda estarão disponíveis para atender à sua solicitação.
VMs spot: para provisionar VMs spot, você pode receber descontos significativos, mas elas 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 VMs de início flexível 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 VMs de início flexível.
Reserva adiantada: 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, para 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 subjacente que permite a opção de consumo, consulte Sobre modelos de provisionamento de VM.
Disponibilidade de opções de consumo por versões da 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ário |
|---|---|---|---|---|---|---|
| 1 | 1 | 1 | ||||
1 As reservas Spot, de início flexível e adiantadas no modo de agenda para TPU7x são restritas por uma lista de permissões. Para solicitar acesso, entre em contato com sua equipe de contas ou a equipe de vendas.
Comparação de versões da 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 1440 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 (GiBps) | 7380 | 1638 | 2575 |
| Número de vCPUs (VM de 4 chips) | 224 | 180 | 208 |
| RAM (GiB) (VM de quatro 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 bidirecional da interconexão entre chips (ICI) por chip (GBps) | 1200 | 800 | 1200 |
| Largura de banda da rede do data center (DCN) por chip (Gbps) | 100 | 100 | 50 |
Tipos de máquina de TPU
As seções a seguir descrevem os tipos de máquinas disponíveis para cada versão de TPU.
TPU7x (Ironwood)
Cada máquina virtual (VM) TPU7x contém quatro chips de TPU. Todas as frações de TPU7x usam VMs de host completo com quatro chips.
Cada chip da TPU7x contém dois TensorCores e quatro SparseCores.
O modelo de programação do 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 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 para o seguinte:
ct6e-standard-1tcom apenas um chip de TPU é destinado principalmente a 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 com vários hosts e oito 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