TPU
Sigle de Tensor Processing Unit, un circuit optimisé pour l'apprentissage automatique des réseaux neuronaux.
TPU: la puce personnalisée de Google pour les charges de travail d'IA
Une Tensor Processing Unit (TPU) est un circuit intégré spécifique à une application (ASIC) conçu par Google pour accélérer les opérations mathématiques qui alimentent les réseaux neuronaux et l'inférence d'apprentissage automatique. Contrairement aux processeurs à usage général, une TPU contient du matériel spécialisé pour la multiplication et l'accumulation de matrices, les opérations de base des calculs tensoriels. La première génération de TPU, déployée dans les centres de données de Google vers 2016, a fourni environ 15 à 30 téraflops de performance selon la précision, une accélération significative par rapport aux CPU et GPU conventionnels pour certaines charges de travail.
Les TPU sont intégrées à l'infrastructure cloud de Google et vendues via Google Cloud en tant que service; elles ne sont pas vendues comme des puces autonomes à d'autres fabricants. Différentes générations sont apparues: les TPU v2 et v3 ont augmenté la bande passante mémoire et les performances en virgule flottante, tandis que les versions ultérieures comme les TPU v4 et v5e ont introduit un débit plus élevé et un coût réduit par inférence. Chaque révision cible des goulots d'étranglement spécifiques, soit dans l'entraînement de grands modèles, soit dans la diffusion de prédictions à grande échelle. Les puces fonctionnent à des vitesses d'horloge inférieures à celles des CPU, généralement de 700 MHz à 1 GHz, mais atteignent un débit élevé grâce à un parallélisme massif.
Une TPU excelle dans les opérations qui correspondent à son jeu d'instructions étroit: les opérations matricielles denses, les convolutions et les mécanismes d'attention courants dans les transformeurs et les réseaux convolutionnels. Sa hiérarchie mémoire, avec de la SRAM sur puce et des interconnexions à faible latence vers la mémoire externe, réduit la pénalité de déplacement des données qui entrave les performances des GPU sur certains problèmes. Cependant, les TPU sont relativement inflexibles; le code doit être compilé pour leur jeu d'instructions, et les charges de travail qui s'écartent des opérations tensorielles denses peuvent ne voir aucun avantage, voire une dégradation, par rapport à un GPU à usage général.
La place des TPU sur le marché
Les TPU sont en concurrence avec les GPU NVIDIA et d'autres accélérateurs d'IA dans les plateformes de machine learning cloud. L'adoption des GPU reste plus large car les GPU prennent en charge un plus grand éventail d'algorithmes et de frameworks exécutés sur divers matériels, tandis que la TPU est liée à Google Cloud et optimisée principalement pour TensorFlow. Les TPU ont conquis une part significative dans les propres charges de travail d'inférence de Google, y compris le classement de recherche, la traduction et les systèmes de recommandation, où l'économie des puces personnalisées justifie le coût de développement.
Pour les utilisateurs industriels, le choix entre TPU et GPU dépend des caractéristiques de la charge de travail et de la tolérance au verrouillage de l'infrastructure. Les TPU offrent un coût par inférence inférieur sur les charges de travail appropriées exécutées en continu dans Google Cloud; les GPU offrent une portabilité et un écosystème plus riche. Le terme TPU est devenu générique dans les discussions industrielles sur les accélérateurs d'IA, bien qu'il se réfère spécifiquement à la gamme de Google; des concurrents comme AWS (Trainium, Inferentia) et d'autres ont développé leurs propres puces personnalisées avec des objectifs de conception similaires.
Sources
- Source de la définitionWiktionary