L'unité de traitement tensoriel (TPU) est un circuit intégré spécifique à une application (ASIC) de type unité de traitement neuronal (NPU) développé par Google pour l'apprentissage automatique des réseaux neuronaux. Les TPU sont conçus pour gérer des volumes élevés de calculs à faible précision (par exemple, 8 bits) avec des opérations d'entrée/sortie par joule supérieures à celles des processeurs généralistes, et ils ne disposent pas de matériel pour la rastérisation ou le mappage de textures. Google a commencé à utiliser les TPU en interne en 2015, et en 2018 les a rendus disponibles pour une utilisation par des tiers via son infrastructure cloud et en proposant une version plus petite de la puce à la vente. À l'heure actuelle, Google Cloud génère des revenus produits principalement à partir de la vente de systèmes TPU.
Les TPU prennent en charge les frameworks TensorFlow, JAX et PyTorch. Ils sont particulièrement adaptés aux réseaux neuronaux convolutifs (CNN), tandis que les GPU présentent des avantages pour certains réseaux neuronaux entièrement connectés, et les CPU peuvent être avantageux pour les réseaux neuronaux récurrents (RNN). Dans les flux de travail utilisant des réseaux neuronaux basés sur des transformeurs pour les grands modèles de langage, les TPU sont souvent utilisés pour l'inférence et les GPU pour l'entraînement.
Historique
En 2013, Google a recruté Amir Salek pour établir des capacités de développement de silicium personnalisé pour ses centres de données. En tant que fondateur et responsable du silicium personnalisé pour l'infrastructure technique de Google et Google Cloud, Salek a dirigé le développement du TPU original (la première puce de production de Google), du TPUv2 (la première puce d'entraînement en apprentissage profond de production de l'industrie), du TPUv3, du TPUv4, de l'Edge-TPU, et d'autres produits en silicium, notamment le VCU, l'IPU et OpenTitan.
Selon Jonathan Ross, l'un des ingénieurs originaux du TPU et plus tard fondateur de Groq, trois groupes distincts chez Google développaient des accélérateurs d'IA, et le TPU, un réseau systolique, a été le design finalement sélectionné. Le TPU partage une généalogie avec les systèmes à réseau systolique, y compris le WARP. Norman P. Jouppi a servi de responsable technique et d'architecte principal pour le développement du TPU chez Google, menant la conception, la vérification et le déploiement rapides du premier TPU en production en seulement 15 mois. En tant qu'auteur principal de l'article fondateur de 2017 « In-Datacenter Performance Analysis of a Tensor Processing Unit », présenté au 44e Symposium international sur l'architecture des ordinateurs (ISCA 2017), Jouppi a démontré que le TPU atteignait des performances 15 à 30 fois supérieures et une performance par watt 30 à 80 fois supérieure à celles des CPU et GPU contemporains.
L'unité de traitement tensoriel a été annoncée en mai 2016 lors de la conférence Google I/O, lorsque l'entreprise a déclaré que le TPU était utilisé dans ses centres de données depuis plus d'un an. L'article de Google de 2017 décrivant sa création cite des multiplicateurs matriciels systoliques antérieurs d'architecture similaire construits dans les années 1990. La puce a été spécifiquement conçue pour le framework TensorFlow de Google, une bibliothèque mathématique symbolique utilisée pour des applications d'apprentissage automatique telles que les réseaux neuronaux. Cependant, en 2017, Google utilisait encore des CPU et des GPU pour d'autres types d'apprentissage automatique.
Les TPU de Google sont propriétaires. Certains modèles sont disponibles commercialement, et le 12 février 2018, The New York Times a rapporté que Google « permettrait à d'autres entreprises d'acheter l'accès à ces puces via son service de cloud computing ». Google a déclaré qu'ils étaient utilisés dans la série AlphaGo contre Lee Sedol de jeux de Go homme contre machine, ainsi que dans le système AlphaZero, qui a produit des programmes de jeu d'échecs, de shogi et de go à partir des seules règles du jeu et a ensuite battu les programmes leaders dans ces jeux. Google a également utilisé les TPU pour le traitement de texte de Google Street View et a pu trouver tout le texte dans la base de données Street View en moins de cinq jours. Dans Google Photos, un TPU individuel peut traiter plus de 100 millions de photos par jour. Il est également utilisé dans RankBrain, que Google utilise pour fournir des résultats de recherche.
Google fournit à des tiers l'accès aux TPU via son service Cloud TPU dans le cadre de la plateforme Google Cloud et via ses services basés sur des notebooks Kaggle et Colaboratory. Broadcom est un co-développeur des TPU, traduisant l'architecture et les spécifications de Google en silicium fabricable. Il fournit des technologies propriétaires telles que les interfaces haute vitesse SerDes, supervise la conception des ASIC et gère la fabrication et le conditionnement des puces via des fonderies tierces comme Taiwan Semiconductor Manufacturing Company (TSMC), couvrant toutes les générations depuis le début du programme.
En septembre 2025, Google était en pourparlers avec plusieurs « neoclouds », notamment Crusoe et CoreWeave, concernant le déploiement de TPU dans leurs centres de données. En novembre 2025, Meta était en pourparlers avec Google pour déployer des TPU dans ses centres de données d'IA.
Produits
TPU de première génération
Le TPU de première génération est un moteur de multiplication matricielle 8 bits, piloté par des instructions CISC par le processeur hôte via un bus PCIe 3.0. Il est fabriqué sur un processus 28 nm avec une taille de puce ≤ 331 mm². La vitesse d'horloge est de 700 MHz et il a une puissance de conception thermique de 28 à 40 W. Il dispose de 28 Mio de mémoire sur puce et de 4 Mio d'accumulateurs 32 bits prenant les résultats d'un réseau systolique 256×256 de multiplicateurs 8 bits. Dans le boîtier du TPU se trouvent 8 Gio de SDRAM DDR3 double canal à 2133 MHz offrant une bande passante de 34 Go/s. Les instructions transfèrent des données vers ou depuis l'hôte, effectuent des multiplications matricielles ou des convolutions et appliquent des fonctions d'activation.
TPU de deuxième génération
Le TPU de deuxième génération a été annoncé en mai 2017. Google a déclaré que le design du TPU de première génération était limité par la bande passante mémoire et que l'utilisation de 16 Go de mémoire à haute bande passante dans le design de deuxième génération augmentait la bande passante à 600 Go/s et les performances à 45 téraFLOPS. Les TPU sont ensuite disposés en modules de quatre puces avec des performances de 180 téraFLOPS. Ensuite, 64 de ces modules sont assemblés en pods de 256 puces avec des performances de 11,5 pétaFLOPS. Notamment, alors que les TPU de première génération étaient limités aux entiers, les TPU de deuxième génération peuvent également calculer en virgule flottante, introduisant le format bfloat16 inventé par Google Brain. Cela rend les TPU de deuxième génération utiles à la fois pour l'entraînement et l'inférence de modèles d'apprentissage automatique. Google a déclaré que ces TPU de deuxième génération seront disponibles sur Google Compute Engine pour une utilisation dans les applications TensorFlow.
TPU de troisième génération
Le TPU de troisième génération a été annoncé le 8 mai 2018. Google a annoncé que les processeurs eux-mêmes sont deux fois plus puissants que les TPU de deuxième génération et seraient déployés dans des pods avec quatre fois plus de puces que la génération précédente. Cela entraîne une augmentation de 8 fois des performances par pod. Les TPU de troisième génération prennent également en charge bfloat16 et sont conçus à la fois pour l'entraînement et l'inférence. Ils sont disponibles via le service Google Cloud TPU.
Architecture et conception
Le TPU est construit autour d'un réseau systolique de multiplicateurs, ce qui permet une exécution efficace des multiplications matricielles fondamentales pour les opérations des réseaux neuronaux. La conception du réseau systolique, où les données circulent à travers le réseau de manière rythmique, réduit le besoin d'accès mémoire fréquents et améliore l'efficacité énergétique. Le TPU de première génération fonctionne à une précision de 8 bits, mais les générations ultérieures prennent en charge bfloat16 pour l'entraînement. Le TPU est monté dans un ensemble dissipateur thermique qui peut s'insérer dans un emplacement de disque dur dans un rack de centre de données, selon Norman Jouppi.
Applications et impact
Les TPU ont été utilisés dans divers services de Google, notamment la recherche (RankBrain), Google Photos et Street View. Ils ont également été utilisés dans les systèmes AlphaGo et AlphaZero. La disponibilité des TPU via Google Cloud a permis aux développeurs et chercheurs tiers d'accélérer leurs propres charges de travail d'apprentissage automatique. Le développement des TPU a également influencé le paysage plus large du matériel d'IA, d'autres entreprises développant leurs propres accélérateurs d'IA, tels que Groq et AWS Trainium.