Google e Meta abrem o código do TorchTPU

No dia da PyTorch Conference 2026, o Google Cloud anunciou que o TorchTPU, desenvolvido em parceria com a equipe do PyTorch na Meta, já tem o código aberto no GitHub. Segundo o Google, a TPU passa a ser, como a GPU e a CPU, uma opção de dispositivo nativa do PyTorch, e o código existente roda praticamente sem alterações.

O anúncio é assinado por Mark Lohmeyer, vice-presidente de IA e infraestrutura de computação do Google Cloud, e por Bill Jia, vice-presidente de engenharia. O repositório fica na organização google-pytorch; os back-ends de vLLM e SGLang que o acompanham foram incorporados às organizações de cada projeto.

Um único código aberto, vários frameworks conectados

O TorchTPU oferece depuração em modo eager e também pode usar torch.compile para elevar a utilização da TPU e reduzir o consumo de memória. No mesmo dia, vários projetos de camadas superiores e inferiores foram integrados:

  • Inferência: vLLM e SGLang têm, cada um, um back-end nativo de PyTorch. O primeiro oferece batching contínuo, quantização e paralelismo multichip; o segundo usa RadixAttention para reaproveitar o KV cache. O llm-d 1.0, lançado com Red Hat e IBM, cuida do roteamento com reconhecimento de cache de prefixo e da separação entre prefill e decode.
  • Treinamento: o TorchTitan já validou modelos como Llama 3 70B/405B, Qwen 3 8B/32B, Qwen 3 235B (MoE) e FLUX.1 12B; o framework de aprendizado por reforço VeRL incorporou um back-end de TPU e uma receita de referência de GRPO, atualmente em versão de pré-visualização.
  • Ecossistema: o Hugging Face Transformers v5 carrega modelos na TPU com uma linha, device_map="tpu", e ganhou uma integração contínua em TPU executada toda noite; o Ray consegue combinar CPU, GPU e TPU no mesmo pipeline.

O Google apresenta dois conjuntos de números de desempenho. O TorchTitan atinge 52% de MFU no Qwen 3 8B e escala de forma quase linear em até 8.192 chips Ironwood (TPU v7x). A parceira Zenteiq, usando llm-d com GKE, viu a geração diária por 1.000 TPUs v6e subir de 1,47 bilhão para 5,97 bilhões de tokens, um aumento de mais de 4 vezes. Os dois conjuntos vêm de medições do próprio Google ou de parceiros, e o anúncio não traz a configuração completa para reprodução.

Por que a Meta subiu ao palco

Jana van Greunen, diretora de engenharia do PyTorch na Meta, deu uma declaração no anúncio:

"We cannot be constrained by a single hardware architecture."

Não podemos ficar presos a uma única arquitetura de hardware.

Ela afirmou que o TorchTPU já sustenta “cenários críticos de produção” nos grandes modelos, anúncios e sistemas de recomendação da Meta. Quantas TPUs são usadas e qual fatia do poder computacional da Meta isso representa não foi divulgado desta vez. Hugging Face, a Inferact (por trás do vLLM) e a RadixArk (por trás do SGLang) também se manifestaram, todas com o foco na “diversidade de hardware”.

Na mesma semana, a AWS também apresentou a sua

Colocando o TorchTPU ao lado do TorchNeuron, anunciado pela AWS no dia anterior, vê-se que as duas empresas seguem o mesmo caminho. O TorchNeuron é o back-end nativo de PyTorch para o Trainium, tem código aberto sob Apache 2.0, está em Beta público desde 20 de outubro e suporta Trainium2 e Trainium3; o usuário só precisa chamar .to('neuron'). Ele também usa Transformers v5 e TorchTitan como vitrine, e o mesmo diretor de engenharia do PyTorch na Meta também assinou um depoimento para a AWS.

A diferença está nos detalhes. A AWS divulgou o critério de teste: um teste cego com 100 mil modelos do Hugging Face e cerca de 154 mil resultados dos testes upstream do PyTorch, dos quais cerca de 39 mil foram ignorados de propósito pelo Neuron, incluindo recursos que a primeira versão não suporta, como tensores esparsos e formas dinâmicas. O Google apresentou apenas a lista de suporte; quais operadores recorrem à CPU e quais recursos ainda faltam não aparecem no anúncio com o mesmo nível de detalhe.

Ambas dependem das interfaces independentes de dispositivo que a comunidade do PyTorch construiu nos últimos anos, como o ponto de extensão PrivateUse1 e o torch.accelerator. Até então, quem queria usar TPU com PyTorch dependia principalmente do PyTorch/XLA, que traduz o código pelo compilador XLA, e a experiência de depuração sempre foi alvo de críticas. Com o back-end nativo, a barreira de migração cai de “alterar o código” para “alterar o nome do dispositivo”.

Para os desenvolvedores, o teste mais realista são os modelos que ficaram fora da lista oficial de validação. A documentação do TorchTPU cita apenas os modelos de TPU v6e e Ironwood; se as gerações anteriores funcionam e com que desempenho, o Google ainda não informou. O plugin de agente de TPU que acompanha o projeto também continua em pré-visualização inicial.

Fontes: blog oficial do Google Cloud, blog oficial do PyTorch (anúncio do TorchNeuron), CocoLoop, repositório do TorchTPU no GitHub; os números de MFU e de vazão seguem o critério de medição própria do Google e dos parceiros.