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

Este documento descreve as instâncias do Compute Engine na família de máquinas com otimização de aceleradores que têm unidades de processamento tensorial (TPUs). As TPUs são circuitos integrados de aplicação específica (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 da TPU

Entender os fundamentos da arquitetura de TPU ajuda a escolher a versão e o tipo de máquina da TPU 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 grandes. 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 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 executada em um host de TPU e com acesso direto ao hardware de TPU, oferecendo acesso a bibliotecas de alto desempenho, conectividade SSH e registros de depuração de tempo de execução.

  • Fração de TPU: um grupo lógico de chips de TPU interconectados, acessado por uma ou mais instâncias 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 é 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 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

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 conferir as recomendações.

Treinamento com IA/ML

  • Pré-treinamento de modelos grandes: treinar modelos massivos do zero. Essas cargas de trabalho são vinculadas a computação e comunicação.

    • Capacidade de TPU necessária: FLOPS de pico alto, suporte de baixa precisão e alta largura de banda de interconexão.
    • Versões recomendadas de TPU:
      • TPU7x. Essa versão oferece alto desempenho de FP8.
      • TPU v5p. Essa versão oferece suporte a configurações de cluster em grande escala.
  • Ajuste e destilação de modelos: adaptação de modelos atuais usando métodos eficientes em termos de parâmetros ou treinamento de variantes menores de modelos.

    • Capacidade de TPU necessária: computação moderada e capacidade de memória suficiente.
    • Versões recomendadas de TPU:
      • TPU v6e. Essa versão é econômica para tarefas de treinamento padrão.
      • TPU7x. Essa versão oferece alto desempenho para ajuste fino em grande escala.

Inferência de IA/ML

  • Veiculaçã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 de TPU:
      • TPU v6e. Essa versão é otimizada para veiculação econômica em grande escala.
      • TPU7x. Essa versão oferece alta largura de banda de HBM e grande SRAM para acelerar a geração de tokens.
  • Execução da inferência em lote: processamento off-line de grandes conjuntos de dados em que o principal objetivo é a alta capacidade de processamento. Essas cargas de trabalho são vinculadas à computação durante a fase de pré-preenchimento do comando.

    • Capacidade de TPU necessária: alta densidade de computação para maximizar a capacidade de processamento por dólar.
    • Versões recomendadas de TPU:
      • TPU v6e. Essa versão é econômica para o processamento em lote de alta capacidade.
      • TPU7x. Essa versão oferece alta densidade de computação para processar grandes lotes rapidamente.

Sistemas recomendadores

  • Processamento de embeddings grandes: treinamento e veiculação de modelos de recomendação que usam tabelas de embeddings grandes. 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 descarregamento na memória do host.
    • Versões recomendadas de TPU:
      • TPU7x. Essa versão inclui quatro SparseCores por chip e oferece a maior capacidade de HBM.
      • TPU v6e. Essa versão inclui dois SparseCores por chip para veiculação econômica.
      • TPU v5p. Essa versão inclui quatro SparseCores por chip para treinamento em grande escala.

Aprendizado por reforço

  • Execução de loops de aprendizado por reforço: gerenciamento de cargas de trabalho híbridas que exigem loops de geração de amostras e atualização de pesos de política.

    • Capacidade de TPU necessária: ICI de baixa latência para transferências rápidas de peso e ativação entre chips e conexões de host de alta largura de banda.
    • Versões de TPU recomendadas:

      Essas versões de TPU usam uma interconexão de alta velocidade de torus 3D.

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 instâncias de TPU. A opção on demand é a mais flexível, mas não há garantia de que recursos on demand suficientes estarão disponíveis para atender à sua solicitação.

  • 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 {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 {flex_start_vms_name}.

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

O modelo de consumo padrão para TPUs é "on demand", a menos que você especifique 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 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
2 2 2

1 Não é possível criar solicitações de reserva adiantada no modo de calendário ao usar o modo "Toda a capacidade".

2 As reservas Spot, de início flexível e futuras 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 conta ou a equipe de vendas.

Modo de capacidade total

Por padrão, as reservas de TPU incluem recuperação automática de falhas. OGoogle Cloud gerencia esse processo substituindo automaticamente as máquinas de TPU com falha por máquinas íntegras da capacidade reservada para garantir que os recursos estejam disponíveis para reiniciar as frações de TPU.

Como alternativa, para TPU v6e e TPU7x, é possível solicitar capacidade de TPU no modo de capacidade total. Esse modo concede acesso à capacidade reservada total e à visibilidade completa da topologia. Nesse modo, também é possível segmentar blocos ou sub-blocos específicos para um posicionamento preciso da carga de trabalho 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 da TPU

Compare as características de diferentes versões da 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
— — —
descontos descontos descontos
— 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 (GBps) 7380 1638 2765
Número de vCPUs (VM de quatro 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áquinas 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 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 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 organizadores: 2
  • Número de VMs: 2
  • Contagem de cubos: 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 cubos: 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 cubos: 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 cubos: 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 cubos: 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
  • Contagem de cubos: 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
  • Contagem de cubos: 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 cubos: 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