La TPU v2 est la deuxième génération de l'unité de traitement tensoriel, un circuit intégré spécifique à une application (ASIC) personnalisé développé par Google pour accélérer les charges de travail d'apprentissage automatique des réseaux neuronaux. Annoncée en mai 2017, elle a succédé à la TPU d'origine et a introduit des améliorations architecturales significatives, notamment la capacité d'effectuer des calculs en virgule flottante et l'inclusion du format bfloat16, inventé par Google Brain. Cela a rendu la TPU v2 adaptée à la fois à l'entraînement et à l'inférence de modèles d'apprentissage automatique, contrairement à son prédécesseur qui était limité aux opérations sur entiers. La TPU v2 a été mise à disposition de tiers via le service Cloud TPU de Google Cloud, et elle a été largement utilisée dans les systèmes de production de Google, notamment pour les modèles basés sur les transformeurs et les grands modèles de langage.
La TPU v2 a été conçue pour remédier aux limitations de bande passante mémoire de la première génération de TPU. En intégrant 16 Go de mémoire à haute bande passante (HBM), la conception de deuxième génération a augmenté la bande passante mémoire à 600 Go/s et a fourni 45 téraFLOPS de performance par puce. Ces puces ont ensuite été organisées en modules de quatre puces, atteignant une performance combinée de 180 téraFLOPS. De plus, 64 de ces modules ont été assemblés en pods de 256 puces, offrant une performance totale de 11,5 pétaFLOPS. Cette architecture évolutive a permis à Google de déployer des systèmes TPU v2 pour des tâches d'apprentissage automatique à grande échelle, y compris celles impliquant des réseaux neuronaux et apprentissage profond.
Développement et histoire
Le développement de la TPU v2 a été dirigé par Amir Salek, qui a fondé et dirigé le groupe Custom Silicon de Google, et Norman P. Jouppi a servi de responsable technique et d'architecte principal pour le programme TPU global. La TPU d'origine a été déployée en production en seulement 15 mois, et la v2 s'est appuyée sur cette base. Selon Jonathan Ross, l'un des ingénieurs d'origine de la TPU et plus tard fondateur de Groq, la conception de la TPU, qui utilise une architecture de réseau systolique, a été sélectionnée parmi trois propositions concurrentes d'accélérateurs d'IA chez Google. La TPU v2 a été la première puce de production au monde pour l'entraînement en apprentissage profond, marquant une étape importante dans le silicium personnalisé pour l'IA. Broadcom a co-développé la TPU v2, traduisant l'architecture de Google en silicium manufacturable et gérant la fabrication via des fonderies comme TSMC.
Spécifications techniques
La TPU v2 est un moteur de multiplication matricielle qui prend en charge à la fois l'arithmétique entière et en virgule flottante. Son innovation clé a été l'introduction du format bfloat16, une représentation en virgule flottante de 16 bits qui offre une plage dynamique plus large que les formats traditionnels de 16 bits tout en nécessitant moins de mémoire et de bande passante. Cela l'a rendue particulièrement efficace pour l'entraînement de réseaux neuronaux profonds. Chaque puce TPU v2 contient un réseau systolique de multiplicateurs et d'accumulateurs, ainsi que 16 Go de HBM fournissant 600 Go/s de bande passante. Les puces sont interconnectées en modules de quatre puces, et ces modules sont combinés en pods plus grands. La configuration de pod de 256 puces fournit 11,5 pétaFLOPS, permettant un calcul parallèle massif pour des tâches comme l'entraînement de transformeurs et d'autres grands modèles de langage.
Applications et utilisation
Google a utilisé des systèmes TPU v2 dans une variété d'applications de production. Ils ont été employés dans les séries de matchs AlphaGo contre Lee Sedol, ainsi que dans le système AlphaZero, qui a appris à jouer aux échecs, au shogi et au go à partir des seules règles du jeu. Les TPU ont également été utilisées pour le traitement de texte de Google Street View, permettant l'extraction de tout le texte de la base de données Street View en moins de cinq jours. Dans Google Photos, une seule TPU pouvait traiter plus de 100 millions de photos par jour. De plus, les TPU v2 ont été utilisées dans RankBrain, le système de Google pour fournir des résultats de recherche. Via le service Cloud TPU sur Google Cloud, des tiers pouvaient accéder aux TPU v2 pour leurs propres charges de travail d'apprentissage automatique, prenant en charge des frameworks comme TensorFlow, JAX et PyTorch.
Comparaison avec les GPU
Par rapport aux GPU, les TPU sont conçues pour un calcul à volume élevé et à faible précision avec plus d'opérations d'entrée/sortie par joule. Elles ne disposent pas de matériel pour la rastérisation ou le mappage de textures, se concentrant plutôt sur les opérations matricielles. Les TPU sont bien adaptées aux réseaux neuronaux convolutionnels (CNN), tandis que les GPU présentent des avantages pour certains réseaux neuronaux entièrement connectés, et les CPU peuvent avoir des avantages pour les réseaux neuronaux récurrents (RNN). Dans les flux de travail impliquant des réseaux neuronaux basés sur les transformeurs pour les grands modèles de langage, les TPU sont souvent utilisées pour l'inférence, tandis que les GPU sont fréquemment utilisées pour l'entraînement. Cette division du travail reflète les différentes forces de chaque type de processeur, les TPU excellant dans les schémas spécifiques de calcul trouvés dans de nombreux modèles d'IA modernes.
Héritage et impact
La TPU v2 a établi un modèle pour les générations suivantes du matériel TPU de Google, y compris la TPU v3, annoncée le 8 mai 2018, avec deux fois plus de performance par puce et des pods avec quatre fois plus de puces. L'introduction du bfloat16 a eu un impact durable sur l'écosystème matériel de l'IA, influençant d'autres conceptions d'accélérateurs. En 2025, Google Cloud génère des revenus produits significatifs de la vente de systèmes TPU, et Google a été en pourparlers avec divers « neoclouds » et des entreprises comme Meta pour déployer des TPU dans leurs centres de données. La TPU v2 reste une plateforme fondamentale dans l'histoire du matériel d'intelligence artificielle, démontrant la valeur du silicium personnalisé pour l'apprentissage automatique.