Explore how Tensor Processing Units (TPUs) accelerate machine learning. Learn to optimize Ultralytics YOLO26 for Edge TPUs and cloud training for maximum speed.
Eine Tensor Unit (TPU) ist ein spezieller anwendungsspezifischer integrierter Schaltkreis (ASIC), der von Google speziell zur Beschleunigung von Workloads im Bereich des maschinellen Lernens (ML) entwickelt wurde. Im Gegensatz zu Allzweckprozessoren, die eine Vielzahl von Rechenaufgaben bewältigen, wurden TPUs von Grund auf dafür entwickelt, die für neuronale Netze grundlegenden massiven Matrixoperationen zu optimieren . Durch diese spezielle Ausrichtung erzielen sie einen außergewöhnlich hohen Durchsatz und eine hohe Energieeffizienz, was sie zu einem Eckpfeiler der modernen Infrastruktur für künstliche Intelligenz (KI) macht, insbesondere innerhalb des Google . Sie spielen eine entscheidende Rolle bei der Reduzierung der Zeit, die sowohl für das Training komplexer Modelle als auch für die Ausführung von Echtzeit-Inferenzen in großem Maßstab benötigt wird.
Die Architektur einer TPU erheblich von herkömmlichen Prozessoren. Während eine Standard- CPU Central Processing Unit) sich durch sequentielle Aufgaben und komplexe Logik auszeichnet und eine GPU Graphics Processing Unit) parallele Kerne für Grafik und allgemeine Berechnungen TPU eine TPU eine systolische Array-Architektur. Dieses Design ermöglicht es, dass Daten gleichzeitig durch Tausende von Multiplikatoren fließen können, ohne für jede Operation auf den Speicher zugreifen zu müssen. Durch die Maximierung der Rechendichte und die Minimierung der Latenz sind TPUs in einzigartiger Weise für die umfangreiche lineare Algebra geeignet, die in Deep-Learning- Anwendungen (DL) zu finden ist.
Diese spezialisierte Hardware ist stark für Frameworks wie TensorFlow und wird zunehmend von PyTorch, sodass Entwickler umfangreiche Grundlagenmodelle trainieren oder effiziente Edge-Lösungen einsetzen können, ohne ihre Codebasen komplett neu schreiben zu müssen.
Das Verständnis der Hardware-Landschaft ist entscheidend für die Optimierung von Machine Learning Operations (MLOps).
TPUs werden in verschiedenen Umgebungen eingesetzt, von riesigen Cloud-Clustern bis hin zu winzigen Edge-Geräten.
Entwickler können TPU für Ultralytics nutzen, insbesondere wenn sie Ultralytics für Cloud-Training oder den Export von Modellen für den Edge-Einsatz verwenden . Die TPU erfordert beispielsweise, dass Modelle speziell für ihre Architektur quantisiert und kompiliert werden .
Das folgende Beispiel zeigt, wie ein YOLO26-Modell in das TFLite exportiert wird, was eine Voraussetzung für die Kompilierung für eine TPU ist:
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)
Nach dem Export kann das Modell TPU TPU Edge TPU für die Edge TPU weiter kompiliert werden, sodass es auf Geräten wie dem Raspberry Pi mit einem Coral USB Accelerator effizient ausgeführt werden kann. Weitere Informationen zur Bereitstellung finden Sie in der Dokumentation TFLite . Diese kann sehr hilfreich sein.