Máquinas de TPU na família de máquinas otimizadas para aceleradores

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)
  • Modelos densos e de Mixture-of-Experts (MoE) em grande escala
  • Pré-treinamento intensivo para modelos de fundação massivos
  • Amostragem e inferência com uso intenso de decodificação
TPU v6e (Trillium)
  • Treinamento e ajuste (Transformers, CNNs)
  • Inferência em grande escala (Gemma 2, Llama, modelos de difusão)
  • Mecanismos de recomendação e personalização (usando o SparseCore)
TPU v5p
  • Maior desempenho para treinamento de modelo de fundação em grande escala
  • Treinamento de IA multimodal em grande escala
  • Cargas de trabalho densas em incorporações, como grandes sistemas de recomendação

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
discounts discounts discounts
descontos descontos descontos

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-1t com 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-4t com uma topologia 2x2x2 é 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
  • Topologia: 2x2x1
  • Número de chips de TPU para a topologia: 4
  • Número de hosts: 1
  • Número de VMs: 1
  • Contagem de cubos: 1/16
TPU7x (Ironwood) tpu7x-standard-4t Vários hosts
  • Topologia: 2x2x2
  • Número de chips de TPU para a topologia: 8
  • Número de hosts: 2
  • Número de VMs: 2
  • Contagem de nichos: 1/8
TPU7x (Ironwood) tpu7x-standard-4t Vários hosts
  • Topologia: 2x2x4
  • Número de chips de TPU para a topologia: 16
  • Número de hosts: 4
  • Número de VMs: 4
  • Contagem de nichos: 1/4
TPU7x (Ironwood) tpu7x-standard-4t Vários hosts
  • Topologia: 2x4x4
  • Número de chips de TPU para a topologia: 32
  • Número de hosts: 8
  • Número de VMs: 8
  • Contagem de nichos: 1/2
TPU7x (Ironwood) tpu7x-standard-4t Vários hosts
  • Topologia: 4x4x4
  • Número de chips de TPU para a topologia: 64
  • Número de hosts: 16
  • Número de VMs: 16
  • Contagem de nichos: 1
TPU7x (Ironwood) tpu7x-standard-4t Vários hosts
  • Topologia: 4x4x8
  • Número de chips de TPU para a topologia: 128
  • Número de hosts: 32
  • Número de VMs: 32
  • Contagem de nichos: 2
TPU7x (Ironwood) tpu7x-standard-4t Vários hosts
  • Topologia: 4x8x8
  • Número de chips de TPU para a topologia: 256
  • Número de hosts: 64
  • Número de VMs: 64
  • Número de nichos: 4
TPU7x (Ironwood) tpu7x-standard-4t Vários hosts
  • Topologia: 8x8x8
  • Número de chips de TPU para a topologia: 512
  • Número de hosts: 128
  • Número de VMs: 128
  • Número de nichos: 8
TPU7x (Ironwood) tpu7x-standard-4t Vários hosts
  • Topologia: 8x8x16
  • Número de chips de TPU para a topologia: 1024
  • Número de hosts: 256
  • Número de VMs: 256
  • Número de nichos: 16
TPU7x (Ironwood) tpu7x-standard-4t Vários hosts
  • Topologia: {A}x{B}x{C} (em que A, B e C são múltiplos de dois)
  • Número de chips de TPU para a topologia: A*B*C
  • Número de hosts: (A*B*C)/4
  • Número de VMs: (A*B*C/4)
  • Contagem de cubos: (A*B*C/64)
TPU v6e (Trillium) ct6e-standard-1t Host único
  • Topologia: 1x1
  • Número de chips de TPU para a topologia: 1
  • Número de VMs: 1
TPU v6e (Trillium) ct6e-standard-8t Host único
  • Topologia: 2x4
  • Número de chips de TPU para a topologia: 8
  • Número de VMs: 1
TPU v6e (Trillium) ct6e-standard-4t Host único
  • Topologia: 2x2
  • Número de chips de TPU para a topologia: 4
  • Número de VMs: 1
TPU v6e (Trillium) ct6e-standard-4t Vários hosts
  • Topologia: 2x4
  • Número de chips de TPU para a topologia: 8
  • Número de VMs: 2
TPU v6e (Trillium) ct6e-standard-4t Vários hosts
  • Topologia: 4x4
  • Número de chips de TPU para a topologia: 16
  • Número de VMs: 4
TPU v6e (Trillium) ct6e-standard-4t Vários hosts
  • Topologia: 4x8
  • Número de chips de TPU para a topologia: 32
  • Número de VMs: 8
TPU v6e (Trillium) ct6e-standard-4t Vários hosts
  • Topologia: 8x8
  • Número de chips de TPU para a topologia: 64
  • Número de VMs: 16
TPU v6e (Trillium) ct6e-standard-4t Vários hosts
  • Topologia: 8x16
  • Número de chips de TPU para a topologia: 128
  • Número de VMs: 32
TPU v6e (Trillium) ct6e-standard-4t Vários hosts
  • Topologia: 16x16
  • Número de chips de TPU para a topologia: 256
  • Número de VMs: 64
TPU v5p ct5p-hightpu-4t Host único
  • Topologia: 2x2x1
  • Número de chips de TPU para a topologia: 4
  • Número de VMs: 1
TPU v5p ct5p-hightpu-4t Vários hosts
  • Topologia: 2x2x2
  • Número de chips de TPU para a topologia: 8
  • Número de VMs: 2
TPU v5p ct5p-hightpu-4t Vários hosts
  • Topologia: 2x2x4
  • Número de chips de TPU para a topologia: 16
  • Número de VMs: 4
TPU v5p ct5p-hightpu-4t Vários hosts
  • Topologia: 2x4x4
  • Número de chips de TPU para a topologia: 32
  • Número de VMs: 8
TPU v5p ct5p-hightpu-4t Vários hosts
  • Topologia: {A}x{B}x{C} (em que A, B e C são múltiplos de dois)
  • Número de chips de TPU para a topologia: A*B*C
  • Número de VMs: (A*B*C/4)1
  1. Calculado pelo produto de topologia dividido por quatro.

A seguir