Glossaire

TPU (Tensor Processing Unit)

Découvre comment Tensor Processing Units (TPU) accélère les tâches d'apprentissage automatique telles que la formation, l'inférence et la détection d'objets avec une efficacité inégalée.

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

Une Tensor Processing UnitTPU est un accélérateur d'apprentissage automatique conçu sur mesure et développé par. Google spécifiquement pour les charges de travail des réseaux neuronaux. Ces processeurs spécialisés, un type de circuit intégré spécifique à une application (ASIC), sont conçus pour accélérer considérablement et mettre à l'échelle les opérations d'apprentissage automatique, en particulier pour les tâches d'inférence et de formation. Les TPU sont conçus pour traiter les calculs mathématiques complexes impliqués dans l'intelligence artificielle, offrant des améliorations de performance significatives par rapport aux CPU et souvent aux GPU pour certains types de modèles d'apprentissage automatique.

Qu'est-ce qu'un TPU?

Une TPU est construite dès le départ pour répondre aux exigences uniques de l'apprentissage automatique (ML), en particulier de l'apprentissage profond. Contrairement aux processeurs à usage général comme les CPU ou même les GPU qui gèrent un plus large éventail de tâches, les TPU sont spécialement conçues pour exceller dans les calculs de tensor - les opérations mathématiques fondamentales au sein des réseaux neuronaux. Les tenseurs sont des tableaux multidimensionnels représentant les données dans les modèles de ML, et les TPU sont optimisées pour effectuer des multiplications de matrices à grande échelle et d'autres algèbre tensor à grande vitesse et avec une grande efficacité énergétique. Cette spécialisation permet aux TPU d'exécuter des tâches de ML beaucoup plus rapidement que les CPU et, dans de nombreux scénarios, plus efficacement que les GPU, en particulier lorsqu'elles travaillent avec des frameworks tels que TensorFlow pour lesquels ils ont été initialement optimisés, bien que la prise en charge d'autres frameworks comme PyTorch est également disponible. Tu peux en savoir plus sur les spécificités en consultant l'introduction deGoogle Cloud TPU .

Applications des TPU

Les TPU sont largement utilisées dans diverses applications, en particulier celles alimentées par les services Google et de plus en plus dans des domaines plus larges d'IA et de ML accessibles via des plateformes telles que Google Cloud. Les applications clés comprennent :

  • Formation de modèles à grande échelle : Les TPU excellent dans la formation de modèles très vastes et complexes, tels que ceux utilisés dans le traitement du langage naturel (NLP) (comme les variantes BERT ou GPT) et les tâches avancées de vision par ordinateur. Leur architecture est bien adaptée aux calculs parallèles massifs requis, utilisant souvent des techniques telles que la formation distribuée. Les chercheurs et les développeurs peuvent exploiter les pods TPU pour obtenir des accélérations significatives. De nombreux modèles importants qui sous-tendent Google Search et Translate s'appuient sur les TPU pour la formation.
  • Inférence à haut volume : Pour les applications nécessitant des prédictions rapides sur de grands ensembles de données, les TPU offrent un débit élevé et une faible latence. Google utilise les TPU pour alimenter les fonctionnalités d'IA en temps réel dans des produits comme Google Photos (pour l'analyse d'images et la détection d'objets) et Google Assistant (pour la reconnaissance vocale). Les TPU sont également disponibles sur des plateformes comme Kaggle, ce qui permet un accès plus large pour l'expérimentation, comme indiqué dans le guide d'intégration Kaggle d'Ultralytics . Les TPU Edge de petite taille apportent cette accélération aux appareils informatiques de périphérie.

TPUs vs GPUs

Bien que les TPU et les GPU accélèrent tous deux les charges de travail de ML, ils diffèrent de manière significative :

  • Architecture : Les GPU sont conçus pour le traitement parallèle, à l'origine pour le graphisme, ce qui les rend polyvalents pour diverses tâches parallèles, y compris la ML. Les TPU ont une architecture plus spécialisée (Matrix Multiply Units) optimisée spécifiquement pour les opérations de tensor dominantes dans les réseaux neuronaux.
  • Flexibilité : Les GPU offrent une plus grande flexibilité en raison d'une prise en charge logicielle plus largeCUDA, divers frameworks ML) et de l'applicabilité à des tâches allant au-delà de la ML. Les TPU sont hautement optimisées pour la ML, en particulier la formation et l'inférence de l'apprentissage profond, et fonctionnent mieux avec des frameworks tels que TensorFlow ou JAX, bien que la prise en charge de PyTorch s'améliore.
  • Efficacité : Pour les charges de travail ML compatibles à grande échelle, les TPU peuvent offrir des performances supérieures par watt par rapport aux GPU. Cependant, les GPU peuvent être plus rentables ou plus performants pour les tâches plus petites ou celles qui impliquent des opérations moins adaptées à l'architecture TPU .

En résumé, les TPU représentent une avancée significative en matière de matériel conçu spécifiquement pour les exigences de l'apprentissage automatique moderne, offrant des performances et une efficacité accrues pour des applications spécifiques de l'IA, en particulier les tâches de formation et d'inférence à grande échelle. Elles complètent d'autres accélérateurs comme les GPU, offrant des options en fonction de la charge de travail spécifique, de l'échelle et de l'écosystème logiciel. Tu peux explorer les options de formation, y compris les ressources cloud, via des plateformes comme Ultralytics HUB.

Tout lire