Les Tensor Pro­ces­sing Units (TPU) sont des puces ma­té­rielles spé­cia­li­sées, dé­ve­lop­pées par Google pour exécuter plus ra­pi­de­ment et plus ef­fi­ca­ce­ment des ap­pli­ca­tions d’IA comme l’ap­pren­tis­sage au­to­ma­tique et les réseaux neuronaux. Elles sont op­ti­mi­sées pour le trai­te­ment des tenseurs, ce qui les rend idéales pour les modèles de deep learning.

Outils d'IA
Exploitez toute la puissance de l'in­tel­li­gence ar­ti­fi­cielle
  • Créez votre site Web en un temps record
  • Boostez votre activité grâce au marketing par IA
  • Gagnez du temps et obtenez de meilleurs résultats

Qu’est-ce qu’une Tensor Pro­ces­sing Unit ?

Une Tensor Pro­ces­sing Unit est un pro­ces­seur spé­cia­le­ment conçu, optimisé pour le machine learning. Con­trai­re­ment aux CPU ou GPU clas­siques, une TPU est conçue pour exécuter ra­pi­de­ment des opé­ra­tions ma­tri­cielles et vec­to­rielles, très fré­quentes dans les réseaux neuronaux. Présentée pour la première fois par Google en 2016, elle est désormais dis­po­nible en plusieurs gé­né­ra­tions. Les TPU fonc­tion­nent de manière par­ti­cu­liè­re­ment efficace pour le calcul des tenseurs, qui cons­ti­tuent la base des réseaux neuronaux.

Les TPU sont intégrées à la pla­te­forme de Cloud Computing de Google et prennent di­rec­te­ment en charge des fra­me­works comme Ten­sor­Flow. Le hardware est spé­cia­le­ment conçu pour une faible latence et un débit de données élevé, ce qui réduit fortement les temps d’en­traî­ne­ment et d’inférence IA. Les TPU con­tien­nent des unités de calcul spé­cia­li­sées, comme des mul­ti­pli­ca­teurs de matrices capables d’exécuter des milliers d’opé­ra­tions en parallèle. Leur con­cep­tion permet une grande ef­fi­ca­cité éner­gé­tique par rapport aux pro­ces­seurs clas­siques. Elles sont utilisées aussi bien pour la recherche que pour des ap­pli­ca­tions d’IA en pro­duc­tion.

Comment fonc­tion­nent les TPU ?

Les TPU sont spé­cia­le­ment conçues pour le trai­te­ment efficace des tenseurs. Leur fonc­tion­ne­ment peut se résumer aux points suivants :

  • Les tenseurs comme point de départ : les tenseurs sont des struc­tures de données mul­ti­di­men­sion­nelles, si­mi­laires à des tableaux, qui jouent un rôle central dans les réseaux neuronaux.
  • Matrix Multiply Units : des unités de calcul spé­cia­li­sées exécutent très ra­pi­de­ment de grandes opé­ra­tions ma­tri­cielles.
  • Ar­chi­tec­ture sys­to­lique : les TPU utilisent des réseaux sys­to­liques, dans lesquels les données circulent selon un schéma rythmique à travers les unités de calcul, ce qui est idéal pour les calculs pa­ral­lèles.
  • Mémoire embarquée (on‑chip) : une mémoire im­por­tante di­rec­te­ment sur la puce réduit les retards liés aux trans­ferts de données et accélère les calculs.
  • En­traî­ne­ment et inférence : les TPU prennent en charge aussi bien les tâches d’en­traî­ne­ment que d’inférence, avec des gé­né­ra­tions dif­fé­rentes qui mettent l’accent sur des aspects variés.
  • In­té­gra­tion lo­gi­cielle : grâce à des fra­me­works comme Ten­sor­Flow (ou d’autres fra­me­works d’IA) et à des étapes de com­pi­la­tion op­ti­mi­sées (par exemple, la con­ver­sion des opé­ra­tions sur les tenseurs en code TPU), le hardware spé­cia­lisé est utilisé de manière efficace.

Les gé­né­ra­tions modernes de TPU comme Trillium et Ironwood offrent des op­ti­mi­sa­tions ma­té­rielles sup­plé­men­taires (par exemple, Spar­se­Cores), capables de traiter encore plus ef­fi­ca­ce­ment certaines charges de travail d’IA comme les em­bed­dings. Pour une uti­li­sa­tion efficace de l’ar­chi­tec­ture TPU, le com­pi­la­teur XLA (Ac­ce­le­ra­ted Linear Algebra) joue également un rôle important, car il traduit les opé­ra­tions sur les tenseurs provenant de fra­me­works comme Ten­sor­Flow en code TPU optimisé.

CPU vs GPU vs TPU : comment ces pro­ces­seurs se dif­fé­ren­cient-ils ?

Les CPU (Central Pro­ces­sing Units) sont des pro­ces­seurs gé­né­ra­listes capables d’exécuter un large éventail de tâches, mais elles sont limitées pour les opé­ra­tions mas­si­ve­ment pa­ral­lèles. Les GPU (Graphics Pro­ces­sing Units) sont op­ti­mi­sées pour le trai­te­ment parallèle de grandes quantités de données, en par­ti­cu­lier pour les ap­pli­ca­tions gra­phiques et les calculs nu­mé­riques. Les TPU, en revanche, sont spé­cia­le­ment dé­ve­lop­pées pour le machine learning et op­ti­mi­sent les opé­ra­tions ma­tri­cielles qui dominent dans les réseaux neuronaux. Alors que les GPU offrent des milliers de cœurs pour les calculs pa­ral­lèles, les TPU con­tien­nent des unités ma­tri­cielles spé­cia­li­sées qui sont souvent plus efficaces pour les charges de travail fortement dominées par les opé­ra­tions ma­tri­cielles de deep learning. Elles sont en outre plus économes en énergie pour les tâches d’IA car elles sont conçues pré­ci­sé­ment pour ce type de calculs. Les CPU restent in­dis­pen­sables pour les tâches générales de contrôle, tandis que les TPU sont res­pon­sables de calculs d’IA haute per­for­mance spé­ci­fiques. Dans les en­vi­ron­ne­ments Cloud, les TPU per­met­tent en outre d’accélérer des modèles complexes qui seraient dif­fi­ciles à faire monter en charge sur des GPU clas­siques.

Ca­rac­té­ris­tique CPU GPU TPU
Op­ti­mi­sa­tion Tâches générales Calculs pa­ral­lèles Opé­ra­tions sur les tenseurs (IA)
Unités de calcul Peu nom­breuses, puis­santes Nom­breuses, simples Unités ma­tri­cielles spé­cia­li­sées
Ef­fi­ca­cité éner­gé­tique Moyenne Moyenne Élevée pour les tâches d’IA
Domaine d’ap­pli­ca­tion Système d’ex­ploi­ta­tion, apps Gra­phismes, IA En­traî­ne­ment et inférence en IA
Accès à la mémoire Général Fortement parallèle Di­rec­te­ment sur la puce, optimisé
Note

Les TPU Cloud sont prin­ci­pa­le­ment dis­po­nibles via Google Cloud, tandis que des variantes comme les Edge TPU sont proposées sous forme de matériel spé­cia­lisé.

Quels sont les domaines d’ap­pli­ca­tion des TPU ?

Les TPU sont utilisées dans des domaines où de grands volumes de données et des modèles complexes doivent être traités. Elles sont donc par­ti­cu­liè­re­ment per­ti­nentes pour l’IA, le Cloud-computing et l’analyse de données, car elles peuvent rac­cour­cir dras­ti­que­ment les temps d’en­traî­ne­ment des réseaux neuronaux.

In­tel­li­gence ar­ti­fi­cielle

Les TPU sont surtout utilisées pour le machine learning et le deep learning, car elles ac­cé­lè­rent con­si­dé­ra­ble­ment les opé­ra­tions de calcul intensif dans les réseaux neuronaux. Elles per­met­tent d’entraîner des modèles complexes en nettement moins de temps que les CPU ou GPU clas­siques. Elles sont employées aussi bien pour des tâches clas­siques comme la re­con­nais­sance d’images par l’IA et la re­con­nais­sance au­to­ma­tique de la parole que pour des ap­pli­ca­tions de Natural Language Pro­ces­sing.

Grâce à leur haut degré de pa­ral­lé­lisme, les TPU peuvent traiter ef­fi­ca­ce­ment des modèles comptant des milliards de pa­ra­mètres, ce qui les rend par­ti­cu­liè­re­ment adaptées à l’uti­li­sa­tion avec de grands modèles de type Trans­for­mer. Elles fa­ci­li­tent en outre l’itération et l’op­ti­mi­sa­tion rapides des modèles, ce qui est essentiel pour la recherche et le dé­ve­lop­pe­ment ainsi que pour les ap­pli­ca­tions com­mer­ciales.

Cloud computing

Google intègre les TPU di­rec­te­ment dans sa pla­te­forme Cloud, ce qui permet aux en­tre­prises ainsi qu’aux dé­ve­lop­peurs de recourir à des services d’IA haute per­for­mance sans avoir à investir dans leur propre matériel. Via le Cloud, les tâches d’en­traî­ne­ment peuvent être mises à l’échelle de manière flexible, de sorte que de petites ex­pé­ri­men­ta­tions comme de vastes projets d’en­traî­ne­ment puissent être menés ef­fi­ca­ce­ment. Les TPU ac­cé­lè­rent non seulement l’en­traî­ne­ment, mais aussi l’inférence, ce qui permet de déployer les modèles en pro­duc­tion plus ra­pi­de­ment. Cette in­té­gra­tion rend possible l’uti­li­sa­tion de l’IA à grande échelle, sans qu’il soit né­ces­saire d’étendre ou de maintenir les res­sources de calcul locales.

Edge computing

Google propose également des TPU Edge spé­cia­li­sées, qui peuvent être utilisées pour des modèles plus petits di­rec­te­ment sur les terminaux. L’uti­li­sa­tion dans le cadre de l’Edge computing permet de traiter les données en temps réel, sans qu’elles doivent d’abord être envoyées vers des centres de calcul distants. Les cas d’usage se trouvent dans les véhicules autonomes, les Smart City ou les systèmes in­dus­triels IoT. Grâce à l’uti­li­sa­tion de TPU à la pé­ri­phé­rie du réseau, les modèles d’IA peuvent effectuer l’inférence en local, ce qui réduit la latence, économise de la bande passante et présente des avantages en matière de pro­tec­tion des données.

Analyse de données

Les TPU sont de plus en plus utilisées pour le trai­te­ment de grandes quantités de données complexes. Dans le domaine de l’analyse de données par IA, elles ac­cé­lè­rent con­si­dé­ra­ble­ment les analyses exi­geantes et les modèles de pré­dic­tion basés sur de vastes jeux de données. Ainsi, les en­tre­prises et les instituts de recherche peuvent, par exemple, traiter et analyser ef­fi­ca­ce­ment des données fi­nan­cières, des ensembles de données médicales ou autres flux de données en temps réel.

Recherche et dé­ve­lop­pe­ment

Les TPU sont utilisées dans des projets scien­ti­fiques pour entraîner des modèles d’IA dédiés à la recherche, aux si­mu­la­tions ou à l’analyse d’ex­pé­riences complexes. Elles per­met­tent de traiter de grandes quantités de données en peu de temps et réduisent ainsi con­si­dé­ra­ble­ment la durée des ex­pé­riences et des si­mu­la­tions. Les cher­cheurs peuvent ainsi tester plus ra­pi­de­ment des hy­po­thèses, optimiser des modèles et valider des résultats. La puissance de calcul élevée des TPU rend possible la réa­li­sa­tion efficace de projets par­ti­cu­liè­re­ment complexes ou gourmands en données, ce qui accélère nettement les cycles de dé­ve­lop­pe­ment itératifs.

Aller au menu principal