Google ha lanzado TorchTPU, un backend dedicado diseñado para permitir que los modelos y operaciones de PyTorch se ejecuten directamente en las Tensor Processing Units (TPUs) de Google. Si bien PyTorch ha dependido históricamente de varios métodos alternativos para interactuar con el hardware de TPU, TorchTPU proporciona una experiencia más integrada al incluir kernels ATen personalizados —los bloques de construcción fundamentales de las operaciones de PyTorch— implementados específicamente para la arquitectura de TPU. Este soporte nativo está destinado a simplificar el flujo de trabajo de desarrollo para investigadores e ingenieros que desean aprovechar los aceleradores de IA especializados de Google sin la fricción de las integraciones no nativas.

El logotipo oficial del proyecto TorchTPU con texto estilizado.
El logotipo del proyecto TorchTPU representa el nuevo backend nativo de PyTorch de Google para el hardware TPU.github.com

Esta imagen identifica el proyecto TorchTPU, que proporciona un backend nativo para que los modelos de PyTorch se ejecuten en las Tensor Processing Units de Google.

El backend introduce varias características técnicas para optimizar el rendimiento y la escalabilidad. Incluye una caché de compilación para acelerar la ejecución de las computaciones XLA (Accelerated Linear Algebra), que son fundamentales en la forma en que las TPUs procesan las cargas de trabajo de aprendizaje automático. Además, TorchTPU admite técnicas de entrenamiento distribuido, incluyendo Data Parallelism y Tensor Parallelism, que son esenciales para entrenar modelos a gran escala como Llama o Qwen. El proyecto también se integra con `torch.compile()`, lo que permite a los usuarios beneficiarse de las optimizaciones de ejecución en modo gráfico que pueden mejorar significativamente el rendimiento y reducir la latencia tanto en el entrenamiento como en la inferencia.

Un gráfico de líneas que muestra el crecimiento de estrellas para el repositorio TorchTPU a lo largo del tiempo.
Un gráfico de historial de estrellas que muestra el creciente interés de la comunidad y la adopción del repositorio TorchTPU.github.com

El gráfico de historial de estrellas ilustra el creciente interés de los desarrolladores en este nuevo backend nativo de PyTorch para TPUs.

A pesar del avance hacia el soporte nativo, el proyecto destaca requisitos específicos de hardware y software para un uso óptimo. Por ejemplo, la documentación señala que, aunque es compatible con varios modelos, los cuadernos interactivos y las guías de usuario funcionan mejor en una TPU VM, como una instancia GCE v6e. Además, la dependencia del proyecto en el backend XLA/MLIR significa que, si bien proporciona una experiencia de PyTorch más fluida, todavía opera dentro del ecosistema más amplio de XLA. Este desarrollo marca un cambio hacia el soporte de primera parte para las TPUs en el ecosistema de PyTorch, reduciendo potencialmente la brecha entre las optimizaciones centradas en el hardware de JAX y la adopción de software más amplia de PyTorch.