La plateforme TensorFlow de Google permet à ses utilisateurs de former une IA en fournissant des outils et des ressources pour le machine learning. Pendant longtemps, les ingénieurs en IA ont utilisé des processeurs et des GPU traditionnels pour former l'IA. Bien que ces processeurs puissent gérer divers processus d'apprentissage automatique, ils restent du matériel à usage général utilisé pour diverses tâches quotidiennes.
Pour accélérer la formation à l'IA, Google a développé un circuit intégré spécifique à l'application (ASIC) connu sous le nom d'unité de traitement de tenseur (TPU). Mais qu'est-ce qu'une unité de traitement de tenseur et comment accélère-t-elle la programmation de l'IA ?
Que sont les unités de traitement tensorielles (TPU) ?
Les unités de traitement Tensor appartiennent à Google ASIC pour l'apprentissage automatique. Les TPU sont spécifiquement utilisés pour l'apprentissage en profondeur afin de résoudre des opérations matricielles et vectorielles complexes. Les TPU sont rationalisés pour résoudre les opérations matricielles et vectorielles à des vitesses ultra-rapides, mais doivent être associés à un processeur pour donner et exécuter des instructions. Les TPU ne peuvent être utilisés qu'avec Google
Plateforme TensorFlow ou TensorFlow Lite, que ce soit via le cloud computing ou sa version allégée sur du matériel local.Applications pour les TPU
Google utilise les TPU depuis 2015. Ils ont également confirmé l'utilisation de ces nouveaux processeurs pour le traitement de texte Google Street View, Google Photos et Google Search Results (Rank Brain), comme ainsi que pour créer une IA connue sous le nom d'AlphaGo, qui a battu les meilleurs joueurs de Go et le système AlphaZero qui a gagné contre les principaux programmes d'échecs, de Go et Shogi.
Les TPU peuvent être utilisés dans diverses applications d'apprentissage en profondeur telles que la détection de fraude, la vision par ordinateur, le langage naturel transformation, voitures autonomes, IA vocale, agriculture, assistants virtuels, négociation d'actions, commerce électronique et divers réseaux sociaux prédictions.
Quand utiliser les TPU
Étant donné que les TPU sont du matériel hautement spécialisé pour l'apprentissage en profondeur, il perd de nombreuses autres fonctions que vous attendez généralement d'un processeur à usage général comme un processeur. Dans cet esprit, il existe des scénarios spécifiques où l'utilisation de TPU donnera le meilleur résultat lors de la formation de l'IA.
Le meilleur moment pour utiliser un TPU est pour les opérations où les modèles reposent fortement sur des calculs matriciels, comme les systèmes de recommandation pour les moteurs de recherche. Les TPU donnent également d'excellents résultats pour les modèles où l'IA analyse d'énormes quantités de points de données qui prendront plusieurs semaines ou plusieurs mois. Les ingénieurs en intelligence artificielle utilisent des TPU pour les instances sans modèles TensorFlow personnalisés et doivent repartir de zéro.
Quand ne pas utiliser les TPU
Comme indiqué précédemment, l'optimisation des TPU fait que ces types de processeurs ne fonctionnent que sur des opérations de charge de travail spécifiques. Par conséquent, il existe des cas où choisir d'utiliser un CPU et un GPU traditionnels donnera des résultats plus rapides. Ces cas incluent :
- Prototypage rapide avec une flexibilité maximale
- Modèles limités par les points de données disponibles
- Des modèles simples et pouvant être entraînés rapidement
- Des modèles trop lourds à changer
- Modèles reposant sur des opérations TensorFlow personnalisées écrites en C++
Versions et spécifications du TPU
Depuis que Google a annoncé ses TPU, le public a été continuellement informé des dernières versions des TPU et de leurs spécifications. Voici une liste de toutes les versions de TPU avec des spécifications :
TPUv1 | TPUv2 | TPUv3 | TPUv4 | Edgev1 | |
---|---|---|---|---|---|
Date d'introduction | 2016 | 2017 | 2018 | 2021 | 2018 |
Nœud de processus (nm) | 28 | 16 | 16 | 7 | |
Taille de matrice (mm²) | 331 | <625 | <700 | <400 | |
Mémoire sur puce | 28 | 32 | 32 | 144 | |
Vitesse d'horloge (MHz) | 700 | 700 | 940 | 1050 | |
Configuration de la plus petite mémoire (Go) | 8 DDR3 | 16 HBM | 32 HBM | 32 HBM | |
PDT (Watts) | 75 | 280 | 450 | 175 | 2 |
TOPS (opérations téra par seconde) | 23 | 45 | 90 | ? | 4 |
HAUTS/F | 0.3 | 0.16 | 0.2 | ? | 2 |
Comme vous pouvez le constater, les vitesses d'horloge du TPU ne semblent pas si impressionnantes, en particulier lorsque les ordinateurs de bureau modernes d'aujourd'hui peuvent avoir des vitesses d'horloge 3 à 5 fois plus rapides. Mais si vous regardez les deux dernières lignes du tableau, vous pouvez voir que les TPU peuvent traiter 23 à 90 téra-opérations par seconde en utilisant seulement 0,16 à 0,3 watts de puissance. On estime que les TPU sont 15 à 30 fois plus rapides que les CPU et GPU modernes lorsqu'ils utilisent une interface de réseau neuronal.
Avec chaque version publiée, les nouveaux TPU présentent des améliorations et des fonctionnalités significatives. Voici quelques faits saillants pour chaque version.
- TPUv1: Le premier TPU annoncé publiquement. Conçu comme un moteur de multiplication matricielle 8 bits et limité à la résolution de nombres entiers.
- TPUv2: Depuis que les ingénieurs ont noté que TPUv1 était limité en bande passante. Cette version dispose désormais du double de la bande passante mémoire avec 16 Go de RAM. Cette version peut désormais résoudre les virgules flottantes, ce qui la rend utile pour la formation et l'inférence.
- TPUv3: Sorti en 2018, TPUv3 a deux fois plus de processeurs et est déployé avec quatre fois plus de puces que TPUv2. Les mises à niveau permettent à cette version d'avoir huit fois plus de performances que les versions précédentes.
- TPUv4: Il s'agit de la dernière version de TPU annoncée le 18 mai 2021. Le PDG de Google a annoncé que cette version aurait plus de deux fois les performances de TPU v3.
- Bord TPU: Cette version de TPU est destinée aux petites opérations optimisées pour utiliser moins d'énergie que les autres versions de TPU en fonctionnement global. Bien qu'il n'utilise que deux watts de puissance, Edge TPU peut résoudre jusqu'à quatre terra-opérations par seconde. Edge TPU ne se trouve que sur de petits appareils portables comme le smartphone Pixel 4 de Google.
Comment accéder aux TPU? Qui peut les utiliser ?
Les TPU sont des unités de traitement propriétaires conçues par Google pour être utilisées avec sa plate-forme TensorFlow. L'accès de tiers à ces processeurs est autorisé depuis 2018. Aujourd'hui, les TPU (à l'exception des TPU Edge) ne sont accessibles que via Google services informatiques via le cloud. Alors que le matériel Edge TPU peut être acheté via le smartphone Pixel 4 de Google et son kit de prototypage connu sous le nom de Coral.
Coral est un accélérateur USB qui utilise USB 3.0 Type C pour les données et l'alimentation. Il fournit à votre appareil l'informatique Edge TPU capable de 4 TOPS pour chaque 2W de puissance. Ce kit peut fonctionner sur des machines utilisant Windows 10, macOS et Debian Linux (il peut également fonctionner avec Raspberry Pi).
Autres accélérateurs d'IA spécialisés
Alors que l'intelligence artificielle fait fureur au cours de la dernière décennie, Big Tech est constamment à la recherche de moyens de rendre l'apprentissage automatique aussi rapide et efficace que possible. Bien que les TPU de Google soient sans doute les ASIC les plus populaires développés pour l'apprentissage en profondeur, d'autres entreprises technologiques comme Intel, Microsoft, Alibaba et Qualcomm ont également développé leurs propres accélérateurs d'IA. Il s'agit notamment de Microsoft Brainwave, d'Intel Neural Compute Stick et de l'IPU (Intelligence Processing Unit) de Graphicore.
Mais alors que davantage de matériel d'IA est en cours de développement, malheureusement, la plupart ne sont pas encore disponibles sur le marché, et beaucoup ne le seront jamais. Au moment d'écrire ces lignes, si vous voulez vraiment acheter du matériel d'accélérateur d'IA, les options les plus populaires sont d'acheter un kit de prototypage Coral, un Intel NCS, un Graphicore Bow Pod ou un Asus IoT AI Accelerator. Si vous souhaitez simplement accéder à du matériel d'IA spécialisé, vous pouvez utiliser les services de cloud computing de Google ou d'autres alternatives telles que Microsoft Brainwave.