Unité de traitement tensoriel - Tensor Processing Unit

Unité de traitement tensoriel
Unité de traitement tensoriel 3.0.jpg
Unité de traitement tensoriel 3.0
Designer Google
Introduit Mai 2016
Taper Réseau de neurones
Apprentissage automatique

Tensor Processing Unit ( TPU ) est un circuit intégré spécifique à l'application (ASIC) d' accélérateur d'IA développé par Google spécifiquement pour l' apprentissage automatique des réseaux neuronaux , en particulier à l'aide du logiciel TensorFlow de Google . Google a commencé à utiliser les TPU en interne en 2015 et les a rendus disponibles en 2018 pour une utilisation par des tiers, à la fois dans le cadre de son infrastructure cloud et en proposant à la vente une version plus petite de la puce.

Aperçu

L'unité de traitement tensor a été annoncée en mai 2016 lors de Google I/O , lorsque la société a déclaré que le TPU était déjà utilisé dans ses centres de données depuis plus d'un an. La puce a été spécialement conçue pour le framework TensorFlow de Google , une bibliothèque mathématique symbolique utilisée pour les applications d' apprentissage automatique telles que les réseaux de neurones . Cependant, à partir de 2017, Google utilisait toujours des CPU et des GPU pour d'autres types d' apprentissage automatique . D'autres conceptions d' accélérateurs d'IA apparaissent également chez d'autres fournisseurs et sont destinées aux marchés de l' embarqué et de la robotique .

Les TPU de Google sont propriétaires. Certains modèles sont disponibles dans le commerce, et le 12 février 2018, le 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 ont été utilisés dans la série de jeux de Go homme-machine AlphaGo contre Lee Sedol , 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 battu le leader. programmes dans ces jeux. Google a également utilisé des TPU pour le traitement de texte 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.

Par rapport à une unité de traitement graphique , il est conçu pour un volume élevé de calculs de faible précision (par exemple aussi peu que 8 bits de précision) avec plus d'opérations d'entrée/sortie par joule , et manque de matériel pour la rastérisation/le mappage de texture . Les ASIC TPU sont montés dans un assemblage de dissipateur thermique, qui peut s'insérer dans un emplacement de disque dur dans un rack de centre de données , selon Norman Jouppi . Différents types de processeurs conviennent à différents types de modèles d'apprentissage automatique, les TPU sont bien adaptés aux CNN tandis que les GPU présentent des avantages pour certains réseaux de neurones entièrement connectés, et les CPU peuvent présenter des avantages pour les RNN .

Google fournit à des tiers un accès aux TPU via son service Cloud TPU dans le cadre de la plate-forme Google Cloud et via ses services Kaggle et Colaboratory basés sur des ordinateurs portables .

Des produits

TPUv1 TPUv2 TPUv3 TPUv4 Bord v1
Date d'introduction 2016 2017 2018 2021 2018
Nœud de processus 28 nm 16 nm 16 nm 7 nm
Taille de matrice (mm2) 331 < 625 < 700 < 400
Mémoire sur puce (MiB) 28 32 32 144
Vitesse d'horloge (MHz) 700 700 940 1050
Mémoire (Go) 8 Go DDR3 16 Go HBM 32 Go HBM 8 Go
TDP (W) 75 280 450 175 2
HAUTS 23 45 90 ? 4

TPU de première génération

Le TPU de première génération est un moteur de multiplication matriciel 8 bits , piloté avec des instructions CISC par le processeur hôte sur un bus PCIe 3.0 . Il est fabriqué selon un procédé de 28 nm avec une taille de matrice ≤ 331  mm 2 . 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 . Au sein de l'ensemble de TPU est 8  Gio de deux canaux 2133 MHz SDRAM DDR3 offrant 34 Go / s de bande passante. Les instructions transfèrent des données vers ou depuis l'hôte, effectuent des multiplications ou des convolutions matricielles 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 la conception de TPU de première génération était limitée par la bande passante mémoire et que l'utilisation de 16 Go de mémoire à bande passante élevée dans la conception de deuxième génération augmentait la bande passante à 600 Go/s et les performances à 45 téra. FLOP . Les TPU sont ensuite disposés en modules à quatre puces avec une performance de 180 téraFLOPS. Ensuite, 64 de ces modules sont assemblés dans des pods de 256 puces avec 11,5 pétaFLOPS de performances. 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 . Cela rend les TPU de deuxième génération utiles à la fois pour la formation 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 se traduit par une multiplication par 8 des performances par pod (avec jusqu'à 1 024 puces par pod) par rapport au déploiement de TPU de deuxième génération.

TPU de quatrième génération

Le 18 mai 2021, le PDG de Google, Sundar Pichai, a parlé des unités de traitement tenseur TPU v4 lors de son discours lors de la conférence virtuelle Google I/O. TPU v4 a amélioré les performances de plus de 2 fois par rapport aux puces TPU v3. Pichai a déclaré : « Un seul pod v4 contient 4 096 puces v4, et chaque pod a 10 fois la bande passante d'interconnexion par puce à l'échelle, par rapport à toute autre technologie de mise en réseau. »

Bord TPU

En juillet 2018, Google a annoncé le Edge TPU. L'Edge TPU est la puce ASIC spécialement conçue par Google, conçue pour exécuter des modèles d'apprentissage automatique (ML) pour l' informatique de périphérie , ce qui signifie qu'elle est beaucoup plus petite et consomme beaucoup moins d'énergie que les TPU hébergés dans les centres de données Google (également appelés Cloud TPU). En janvier 2019, Google a mis le Edge TPU à la disposition des développeurs avec une gamme de produits sous la marque Coral . Le Edge TPU est capable de 4 000 milliards d'opérations par seconde tout en utilisant 2W.

Les offres de produits comprennent un ordinateur monocarte (SBC), un système sur module (SoM), un accessoire USB , une carte mini PCI-e et une carte M.2 . Le SBC Coral Dev Board et Coral SoM exécutent tous deux Mendel Linux OS, un dérivé de Debian . Les produits USB, PCI-e et M.2 fonctionnent comme des modules complémentaires aux systèmes informatiques existants et prennent en charge les systèmes Linux basés sur Debian sur les hôtes x86-64 et ARM64 (y compris Raspberry Pi ).

L'environnement d'exécution de machine learning utilisé pour exécuter des modèles sur Edge TPU est basé sur TensorFlow Lite . L'Edge TPU est uniquement capable d'accélérer les opérations de transfert vers l'avant, ce qui signifie qu'il est principalement utile pour effectuer des inférences (bien qu'il soit possible d'effectuer un apprentissage de transfert léger sur l'Edge TPU). L'Edge TPU ne prend également en charge que les mathématiques 8 bits, ce qui signifie que pour qu'un réseau soit compatible avec l'Edge TPU, il doit soit être formé à l'aide de la technique d'entraînement tenant compte de la quantification TensorFlow, soit depuis fin 2019, il est également possible d'utiliser post- quantification de l'entraînement.

Le 12 novembre 2019, Asus a annoncé une paire d' ordinateurs à carte unique (SBC) dotés du Edge TPU. Les cartes Asus Tinker Edge T et Tinker Edge R conçues pour l' IoT et l' IA de pointe . Les SBC prennent officiellement en charge les systèmes d'exploitation Android et Debian . ASUS a également présenté un mini PC appelé Asus PN60T doté du Edge TPU.

Le 2 janvier 2020, Google a annoncé le Coral Accelerator Module et Coral Dev Board Mini, qui seront présentés au CES 2020 plus tard le même mois. Le Coral Accelerator Module est un module multi-puces doté des interfaces Edge TPU, PCIe et USB pour une intégration plus facile. Le Coral Dev Board Mini est un SBC plus petit comprenant le Coral Accelerator Module et le SoC MediaTek 8167s .

Noyau neural de pixels

Le 15 octobre 2019, Google a annoncé le smartphone Pixel 4 , qui contient un Edge TPU appelé Pixel Neural Core .

Voir également

Les références

Liens externes