Découvrez comment les unités Tensor (TPU) accélèrent l'apprentissage automatique. Apprenez à optimiser Ultralytics pour les TPU Edge et la formation dans le cloud afin d'obtenir une vitesse maximale.
Une unité Tensor (TPU) est un circuit intégré spécifique à une application (ASIC) conçu par Google spécialement pour accélérer les charges de travail liées à l'apprentissage automatique (ML). Contrairement aux processeurs à usage général qui traitent un large éventail de tâches informatiques, les TPU sont conçus dès le départ pour optimiser les opérations matricielles massives qui sont fondamentales pour les 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 la pierre angulaire de l'infrastructure moderne d'intelligence artificielle (IA), en particulier au sein de l'écosystèmeGoogle . Elles jouent un rôle essentiel dans la réduction du temps nécessaire à la formation de modèles complexes et à l'exécution d' inférences en temps réel à grande échelle.
L'architecture d'un TPU considérablement de celle des processeurs traditionnels. Alors qu'un CPU unité centrale de traitement) standard excelle dans les tâches séquentielles et la logique complexe, et qu'un GPU unité de traitement graphique) utilise des cœurs parallèles pour le graphisme et le calcul général, un TPU une architecture à 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és à l'algèbre linéaire lourde que l'on trouve dans les applications d'apprentissage profond (DL).
Ce matériel spécialisé est fortement optimisé pour des frameworks tels que TensorFlow et de plus en plus pris en charge par PyTorch, ce qui permet aux développeurs de former des modèles de base massifs ou de déployer des solutions de pointe efficaces sans réécrire complètement leurs bases de code.
Il est essentiel de comprendre le paysage matériel pour optimiser les opérations d'apprentissage automatique (MLOps).
Les TPU sont déployés dans divers environnements, des clusters cloud massifs aux petits appareils périphériques.
Les développeurs peuvent tirer parti de TPU pour Ultralytics , en particulier lorsqu'ils utilisent Ultralytics pour la formation dans le cloud ou l'exportation de modèles pour un déploiement en périphérie . Le TPU Edge, 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 YOLO26 au TFLite , une étape préalable à 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 le Edge TPU TPU Edge TPU , ce qui lui permet de fonctionner efficacement sur des appareils tels que le Raspberry Pi équipé d'un accélérateur USB Coral. Pour plus de détails sur le déploiement, il peut être très utile de consulter la documentation TFLite .