TPU (Tensor Processing Unit)
Entdecke, wie Tensor Processing Units (TPUs) Machine Learning beschleunigen. Erfahre, wie du Ultralytics YOLO26 für Edge TPUs und das Training in der Cloud optimierst, um maximale Geschwindigkeit zu erreichen.
Eine Tensorverarbeitungseinheit (TPU) ist eine spezialisierte anwendungsspezifische integrierte Schaltung (ASIC), die von Google speziell zur Beschleunigung von Workloads des maschinellen Lernens (ML) entwickelt wurde. Im Gegensatz zu Prozessoren für allgemeine Zwecke, die ein breites Spektrum an Rechenaufgaben bewältigen, sind TPUs von Grund auf darauf ausgelegt, die für neuronale Netze grundlegenden umfangreichen Matrixoperationen zu optimieren. Dieser spezielle Fokus ermöglicht eine außergewöhnlich hohe Verarbeitungsgeschwindigkeit und Energieeffizienz. Dadurch sind TPUs ein zentraler Bestandteil moderner Infrastrukturen für künstliche Intelligenz (KI), insbesondere im Google-Cloud-Ökosystem. Sie spielen eine wichtige Rolle dabei, die für das Training komplexer Modelle und die Ausführung von Echtzeitinferenz in großem Maßstab benötigte Zeit zu verkürzen.
Architektur und Funktionsweise#
Die Architektur einer TPU unterscheidet sich deutlich von der herkömmlicher Prozessoren. Während eine herkömmliche CPU (zentrale Verarbeitungseinheit) sequentielle Aufgaben und komplexe Logik hervorragend bewältigt und eine GPU (Grafikverarbeitungseinheit) parallele Kerne für Grafik und allgemeine Berechnungen nutzt, verwendet eine TPU eine systolische Array-Architektur. Dieses Design ermöglicht, dass Daten gleichzeitig durch Tausende von Multiplikatoren fließen, ohne für jede Operation auf den Speicher zuzugreifen. Durch die Maximierung der Rechendichte und die Minimierung der Latenz eignen sich TPUs besonders für die umfangreiche lineare Algebra in Anwendungen des Deep Learning (DL).
Diese spezialisierte Hardware ist stark für Frameworks wie TensorFlow optimiert und wird zunehmend von PyTorch unterstützt. Dadurch können Entwickler umfangreiche Basismodelle trainieren oder effiziente Lösungen für Edge-Geräte bereitstellen, ohne ihre Codebasen vollständig neu schreiben zu müssen.
Unterscheidung der Recheneinheiten#
Das Verständnis der Hardwarelandschaft ist entscheidend für die Optimierung von Prozessen für maschinelles Lernen (MLOps).
- CPU: Das universell einsetzbare „Gehirn“ eines Computers, ideal für sequentielle Verarbeitung, Datenvorverarbeitung und die Verarbeitung komplexer Logik. Sie wird häufig in Pipelines zur Datenerweiterung eingesetzt, ist bei umfangreichen Matrixberechnungen jedoch langsamer.
- GPU: GPUs wurden ursprünglich für die Bilddarstellung entwickelt und sind aufgrund ihrer Vielseitigkeit und enormen Parallelität der Industriestandard für das Training von Modellen. Sie eignen sich hervorragend für das Training flexibler Modelle wie Ultralytics YOLO26.
- TPU: Ein speziell entwickelter Beschleuniger, der Flexibilität zugunsten hoher Geschwindigkeit bei Tensoroperationen aufgibt. Er ist darauf ausgelegt, Gleitkommaoperationen pro Sekunde (FLOPS) speziell für Berechnungen in neuronalen Netzen zu maximieren, und bietet bei bestimmten umfangreichen Workloads häufig eine überlegene Leistung pro Watt.
Anwendungen in der Praxis#
TPUs werden in verschiedenen Umgebungen eingesetzt – von riesigen Cloud-Clustern bis hin zu kleinen Edge-Geräten.
-
Training großer Sprachmodelle: Google nutzt weitläufige, miteinander verbundene Cluster, sogenannte TPU Pods, um umfangreiche große Sprachmodelle (LLMs) wie PaLM und Gemini zu trainieren. Diese Systeme können Petabytes an Trainingsdaten in einem Bruchteil der Zeit verarbeiten, die herkömmliche Hardware benötigen würde, und beschleunigen so den Fortschritt im Bereich der generativen KI.
-
Edge-KI und IoT: Der Coral Edge TPU bringt diese Beschleunigung auf Geräte mit geringem Energieverbrauch. Er ermöglicht effiziente Anwendungen für Computer Vision (CV), beispielsweise die Ausführung von Objekterkennung an einer Produktionslinie, um Fehler direkt vor Ort zu erkennen. Dadurch sind sofortige Entscheidungen ohne Cloud-Verbindung möglich, wodurch Bandbreite und Datenschutz gewahrt bleiben.
TPUs mit Ultralytics verwenden#
Entwickler können die TPU-Beschleunigung für Ultralytics-Modelle nutzen, insbesondere bei der Verwendung der Ultralytics Platform für das Training in der Cloud oder beim Exportieren von Modellen für den Einsatz auf Edge-Geräten. Die Edge TPU erfordert beispielsweise, dass Modelle quantisiert und speziell für ihre Architektur kompiliert werden.
Das folgende Beispiel zeigt, wie ein Ultralytics YOLO26-Modell in das TFLite-Format exportiert wird. Dies ist ein notwendiger Schritt vor der Kompilierung für eine 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)Nach dem Export kann das Modell mit dem Edge TPU Compiler weiter für die Edge TPU kompiliert werden, sodass es effizient auf Geräten wie dem Raspberry Pi mit einem Coral USB Accelerator ausgeführt werden kann. Weitere Informationen zur Bereitstellung findest du in der Dokumentation zur TFLite-Integration.









