TPU (Tensor Processing Unit)
Découvre comment les unités de traitement tensoriel (TPU) accélèrent le machine learning. Apprends à optimiser Ultralytics YOLO26 pour les Edge TPU et l’entraînement dans le cloud afin d’obtenir une vitesse maximale.
Une unité de traitement des tenseurs (TPU) est un circuit intégré spécialisé (ASIC) conçu par Google spécifiquement pour accélérer les charges de travail d’apprentissage automatique (ML). Contrairement aux processeurs polyvalents qui gèrent un large éventail de tâches informatiques, les TPU sont conçues dès le départ pour optimiser les opérations matricielles massives fondamentales des réseaux neuronaux. Cette spécialisation leur permet d’atteindre un débit et une efficacité énergétique exceptionnellement élevés, ce qui en fait un élément central de l’infrastructure moderne d’intelligence artificielle (AI), en particulier au sein de l’écosystème Google Cloud. Elles jouent un rôle essentiel dans la réduction du temps nécessaire à l’entraînement de modèles complexes et à l’exécution de l’inférence en temps réel à grande échelle.
Architecture et fonctionnement#
L’architecture d’une TPU diffère considérablement de celle des processeurs traditionnels. Alors qu’un processeur central (CPU) standard excelle dans les tâches séquentielles et la logique complexe, et qu’un processeur graphique (GPU) utilise des cœurs parallèles pour le rendu graphique et l’informatique générale, une TPU utilise une architecture en réseau systolique. Cette conception permet aux données de circuler simultanément à travers des milliers de multiplicateurs sans accéder à la mémoire pour chaque opération. En maximisant la densité de calcul et en minimisant la latence, les TPU sont particulièrement adaptées à l’algèbre linéaire intensive des applications d’apprentissage profond (DL).
Ce matériel spécialisé est fortement optimisé pour des frameworks comme TensorFlow et de plus en plus pris en charge par PyTorch, ce qui permet aux développeurs d’entraîner d’immenses modèles fondamentaux ou de déployer des solutions efficaces en périphérie sans réécrire entièrement leur base de code.
Différencier les unités de traitement#
Comprendre l’écosystème matériel est essentiel pour optimiser les opérations d’apprentissage automatique (MLOps).
- CPU : Le « cerveau » polyvalent d’un ordinateur, idéal pour le traitement séquentiel, le prétraitement des données et la gestion de la logique complexe. Il est souvent utilisé dans les pipelines d’augmentation des données, mais il est plus lent pour les calculs matriciels intensifs.
- GPU : Initialement conçus pour le rendu d’images, les GPU sont la référence du secteur pour l’entraînement des modèles en raison de leur polyvalence et de leur parallélisme massif. Ils sont particulièrement performants pour l’entraînement de modèles flexibles comme Ultralytics YOLO26.
- TPU : Un accélérateur conçu spécifiquement pour une tâche, qui privilégie la vitesse brute des opérations sur les tenseurs au détriment de la flexibilité. Il est conçu pour maximiser les FLOPS (opérations en virgule flottante par seconde) spécifiquement pour les calculs de réseaux neuronaux, offrant souvent de meilleures performances par watt pour certaines charges de travail à grande échelle.
Applications concrètes#
Les TPU sont déployées dans divers environnements, des vastes clusters cloud aux minuscules appareils en périphérie.
-
Entraînement de grands modèles de langage : Google utilise de vastes clusters interconnectés, appelés pods TPU, pour entraîner d’immenses grands modèles de langage (LLMs) tels que PaLM et Gemini. Ces systèmes peuvent traiter des pétaoctets de données d’entraînement en une fraction du temps nécessaire au matériel traditionnel, accélérant ainsi les progrès de l’IA générative.
-
IA en périphérie et IoT : Le Coral Edge TPU apporte cette accélération aux appareils à faible consommation énergétique. Il permet d’exécuter efficacement des applications de vision par ordinateur (CV), comme la réalisation de la détection d’objets sur une ligne de production pour identifier localement les défauts. Cela permet de prendre des décisions immédiatement sans dépendre d’une connexion au cloud, tout en préservant la bande passante et la confidentialité.
Utiliser les TPU avec Ultralytics#
Les développeurs peuvent tirer parti de l’accélération TPU pour les modèles Ultralytics, notamment en utilisant l’Ultralytics Platform pour l’entraînement dans le cloud ou en exportant des modèles en vue de leur déploiement en périphérie. L’Edge TPU, par exemple, nécessite que les modèles soient quantifiés et compilés spécifiquement pour son architecture.
L’exemple suivant montre comment exporter un modèle Ultralytics YOLO26 au format TFLite, une étape préalable indispensable avant la compilation pour un Edge TPU :
from ultralytics import YOLO
# Load the latest lightweight YOLO26 nano model
model = YOLO("yolo26n.pt")
# Export the model to TFLite format
# This creates a '.tflite' file suitable for mobile and edge deployment
# Set int8=True for quantization, which is often required for Edge TPU performance
model.export(format="tflite", int8=True)Une fois exporté, le modèle peut être compilé pour l’Edge TPU à l’aide de l’Edge TPU Compiler, ce qui lui permet de fonctionner efficacement sur des appareils comme le Raspberry Pi équipé d’un Coral USB Accelerator. Pour plus de détails sur le déploiement, la consultation de la documentation sur l’intégration TFLite peut être très utile.









