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

    • 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 da TPU:
      • TPU7x. Essa versão oferece alto desempenho de FP8.
      • TPU v5p. Esta 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 de modelos menores.

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

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:
      • TPU v6e. Essa versão é otimizada para disponibilização econômica em escala.
      • TPU7x. Essa versão oferece alta largura de banda de HBM e grande SRAM para acelerar a geração de tokens.
  • 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:
      • TPU v6e. Essa versão é econômica para 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 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:
      • 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 uma 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 rígidos de geração de amostras e atualização de pesos de políticas.

    • 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 toro 3D de alta velocidade.

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
— — —
descontos descontos descontos
— de desconto— de desconto— de desconto

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-1t com 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-4t com uma topologia 2x2x2 é 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
  • 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 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