Glossar

TPU (Tensor Processing Unit)

Entdecke, wie Tensor Processing Units (TPUs) maschinelle Lernaufgaben wie Training, Inferenz und Objekterkennung mit unübertroffener Effizienz beschleunigen.

Trainiere YOLO Modelle einfach
mit Ultralytics HUB

Mehr erfahren

Eine Tensor Processing UnitTPU) ist ein speziell entwickelter Beschleuniger für maschinelles Lernen, der von Google speziell für neuronale Netzwerke entwickelt wurde. Diese spezialisierten Prozessoren, eine Art anwendungsspezifischer integrierter Schaltkreis (ASIC), wurden entwickelt, um maschinelle Lernvorgänge drastisch zu beschleunigen und zu skalieren, insbesondere für Inferenz- und Trainingsaufgaben. TPUs wurden entwickelt, um die komplexen mathematischen Berechnungen im Bereich der künstlichen Intelligenz zu bewältigen und bieten für bestimmte Arten von maschinellen Lernmodellen erhebliche Leistungssteigerungen gegenüber CPUs und oft auch GPUs.

Was ist ein TPU?

Eine TPU wurde von Grund auf für die besonderen Anforderungen des maschinellen Lernens (ML) und insbesondere des Deep Learning entwickelt. Im Gegensatz zu Allzweckprozessoren wie CPUs oder sogar GPUs, die ein breiteres Spektrum an Aufgaben bewältigen können, wurden TPUs speziell für tensor entwickelt - die grundlegenden mathematischen Operationen in neuronalen Netzen. Tensoren sind mehrdimensionale Arrays, die Daten in ML-Modellen darstellen, und TPUs sind darauf optimiert, große Matrixmultiplikationen und andere tensor mit hoher Geschwindigkeit und Energieeffizienz durchzuführen. Dank dieser Spezialisierung können TPUs ML-Aufgaben viel schneller als CPUs und in vielen Szenarien auch effizienter als GPUs ausführen, vor allem wenn sie mit Frameworks wie TensorFlow für das sie ursprünglich optimiert wurden, obwohl sie auch für andere Frameworks wie PyTorch ist ebenfalls verfügbar. Mehr über die Besonderheiten erfährst du in der Google Cloud TPU Einführung.

Anwendungen von TPUs

TPUs werden in zahlreichen Anwendungen eingesetzt, vor allem in den Google und zunehmend auch in breiteren KI- und ML-Bereichen, die über Plattformen wie Google Cloud zugänglich sind. Zu den wichtigsten Anwendungen gehören:

  • Groß angelegte Modellschulung: TPUs eignen sich hervorragend für das Training sehr großer und komplexer Modelle, wie sie z. B. bei der Verarbeitung natürlicher Sprache (NLP) (z. B. BERT- oder GPT-Varianten) und bei fortgeschrittenen Computer-Vision-Aufgaben verwendet werden. Ihre Architektur eignet sich gut für die erforderlichen massiven parallelen Berechnungen, bei denen oft Techniken wie verteiltes Training zum Einsatz kommen. Forscher/innen und Entwickler/innen können TPU für erhebliche Geschwindigkeitssteigerungen nutzen. Viele große Modelle, die der Google und Google Translate zugrunde liegen, werden mit TPUs trainiert.
  • Inferenz für große Datenmengen: Für Anwendungen, die schnelle Vorhersagen für große Datenmengen erfordern, bieten TPUs einen hohen Durchsatz und eine niedrige Latenzzeit. Google nutzt TPUs für Echtzeit-KI-Funktionen in Produkten wie Google Fotos (für Bildanalyse und Objekterkennung) und Google Assistant (für Spracherkennung). TPUs sind auch auf Plattformen wie Kaggle verfügbar und ermöglichen einen breiteren Zugang für Experimente, wie im Ultralytics Kaggle Integrationsleitfaden beschrieben. Kleinere Edge TPUs bringen diese Beschleunigung auf Edge-Computing-Geräte.

TPUs vs. GPUs

Obwohl sowohl TPUs als auch GPUs ML-Workloads beschleunigen, unterscheiden sie sich erheblich:

  • Architektur: GPUs sind für die Parallelverarbeitung konzipiert, ursprünglich für die Grafikverarbeitung, was sie vielseitig für verschiedene parallele Aufgaben einschließlich ML macht. TPUs haben eine spezialisierte Architektur (Matrix Multiply Units), die speziell für die in neuronalen Netzen vorherrschenden tensor optimiert ist.
  • Flexibilität: GPUs bieten eine größere Flexibilität aufgrund der breiteren SoftwareunterstützungCUDA, verschiedene ML-Frameworks) und der Anwendbarkeit für Aufgaben, die über ML hinausgehen. TPUs sind hochgradig für ML optimiert, insbesondere für Deep Learning Training und Inferenz, und funktionieren am besten mit Frameworks wie TensorFlow oder JAX, obwohl die Unterstützung für PyTorch immer besser wird.
  • Effizienz: Für große, kompatible ML-Workloads können TPUs im Vergleich zu GPUs eine bessere Leistung pro Watt bieten. Bei kleineren Aufgaben oder Operationen, die für die TPU weniger geeignet sind, können GPUs jedoch kostengünstiger und leistungsfähiger sein.

Zusammenfassend lässt sich sagen, dass TPUs einen bedeutenden Fortschritt bei der Hardware darstellen, die speziell für die Anforderungen des modernen maschinellen Lernens entwickelt wurde und mehr Leistung und Effizienz für bestimmte KI-Anwendungen bietet, insbesondere für umfangreiche Trainings- und Inferenzaufgaben. Sie ergänzen andere Beschleuniger wie z. B. GPUs und bieten Optionen, die von der jeweiligen Arbeitslast, dem Umfang und dem Software-Ökosystem abhängen. Über Plattformen wie Ultralytics HUB kannst du Schulungsoptionen, einschließlich Cloud-Ressourcen, erkunden.

Alles lesen