Tensor Processing Units (TPUs) sind von Google speziell entwickelte, anwendungsspezifische integrierte Schaltungen (ASICs), die zur Beschleunigung von Arbeitslasten aus den Bereichen maschinelles Lernen (ML) und künstliche Intelligenz (KI) entwickelt wurden. Ob Sie komplexe Foundation Models wochenlang trainieren oder umfangreiche Inferenz ausführen – TPUs bieten skalierbare, spezialisierte Rechenressourcen, die für fortschrittliche KI-Frameworks optimiert sind.
In diesem Dokument wird die Rolle von TPUs in Google Cloudbeschrieben. Außerdem werden die technischen Spezifikationen der einzelnen verfügbaren TPU-Versionen, Leistungsmerkmale, Preisüberlegungen und die Zuordnung zu Compute Engine-Maschinenserien erläutert.
Was ist eine TPU?
Eine TPU ist ein speziell entwickelter ASIC, der für die Anforderungen massiver Matrixoperationen konzipiert ist, die für ML-Algorithmen von zentraler Bedeutung sind.
Zu den wichtigsten architektonischen Komponenten eines TPU-Systems gehören:
TensorCore: Die Verarbeitungseinheit eines TPU-Chips. Jeder TensorCore besteht aus einer oder mehreren Matrix Multiply Units (MXUs), die eine systolische Arrayarchitektur verwenden, um Matrixmultiplikationen mit hoher Effizienz auszuführen, sowie aus Skalar- und Vektoreinheiten für den Kontrollfluss und allgemeine Berechnungen.
SparseCore: Spezialisierte Dataflow-Prozessoren, die für die Beschleunigung von dünnbesetzten Operationen entwickelt wurden. SparseCores arbeiten mit TensorCores zusammen, um große Einbettungstabellen effizient zu verarbeiten. Sie eignen sich daher ideal für die Beschleunigung von Empfehlungsmodellen und umfangreichen Einbettungen.
Speicher mit hoher Bandbreite (High Bandwidth Memory, HBM): großer physischer Speicher, der an den TPU-Chip angeschlossen ist und eine enorme Speicherbandbreite bietet. HBM ermöglicht das Training und die Bereitstellung größerer Modelle mit größeren Batchgrößen.
TPU-Instanz: Eine Linux-Compute-Instanz, die auf einem TPU-Host ausgeführt wird und direkten Zugriff auf die zugrunde liegende TPU-Hardware hat. Sie bietet Zugriff auf leistungsstarke Bibliotheken, SSH-Verbindungen und Laufzeit-Debug-Logs.
TPU-Slices und ‑Pods: Ein TPU-Pod ist ein großer zusammenhängender Cluster von physisch verbundenen TPU-Chips. Ein TPU-Slice ist eine logische Partition eines Pods (bestehend aus einem oder mehreren Hosts, die über Hochgeschwindigkeits-Interconnect-Verbindungen verbunden sind), die für die Ausführung einer einzelnen Arbeitslast zugewiesen wird.
XLA-Compiler: Der XLA-Compiler (Accelerated Linear Algebra) kompiliert Machine-Learning-Graphen in optimierte Maschinenanweisungen, die auf den TPU-TensorCores ausgeführt werden.
TPU-Versionen und Maschinenserien
Compute Engine unterstützt mehrere Generationen und Versionen von TPUs. Die folgende Tabelle enthält die wichtigsten Spezifikationen für jede unterstützte TPU-Version:
| TPU-Version | Maschinenserie | Maximale Rechenleistung pro Chip (TFLOPs) | TPU-Arbeitsspeicher und ‑Bandbreite | Kerne pro Chip | ICI-Bandbreite (Interconnect) pro Chip | Netzwerkbandbreite (DCN) pro Chip | Chips pro Pod |
|---|---|---|---|---|---|---|---|
| TPU7x (Ironwood) | tpu7x-standard |
BF16: 2.307 FP8: 4.614 |
192 GiB (7.380 GB/s) |
2 TensorCores 4 SparseCores |
1.200 GBps | 100 Gbit/s | 9.216 |
| TPU v6e (Trillium) | ct6e-standard |
BF16: 918 FP8: 918 |
32 GiB (1.638 GB/s) |
1 TensorCore 2 SparseCores |
800 GBps | 100 Gbit/s | 256 |
| TPU v5p | ct5p-hightpu |
BF16: 459 FP8: 459 |
95 GiB (2.765 GB/s) |
2 TensorCores 4 SparseCores |
1.200 GBps | 50 Gbit/s | 8.960 |
TPU-Leistungsmerkmale
TPUs sind für die Ausführung von Operationen mit dichter Matrixalgebra mit maximaler Effizienz optimiert. Berücksichtigen Sie die folgenden Richtlinien, um zu entscheiden, wann eine TPU am besten für Ihre ML-Arbeitslasten geeignet ist.
Ideale Anwendungsfälle und Arbeitslastanforderungen
Die Wahl des richtigen TPU-Modells hängt von den Rechenanforderungen, den Arbeitsspeicheranforderungen und den Skalierbarkeitsanforderungen Ihrer Arbeitslast ab. Wählen Sie einen der folgenden Tabs aus, um die Empfehlungen aufzurufen.
KI-/ML-Training
Vortraining großer Modelle: Training umfangreicher Modelle von Grund auf. Diese Arbeitslasten sind rechen- und kommunikationsgebunden.
Modelle feinabstimmen und destillieren: bestehende Modelle mit parametereffizienten Methoden anpassen oder kleinere Modellvarianten trainieren.
KI/ML-Inferenz
Modelle online bereitstellen: Modelle für die Echtzeitinteraktion bereitstellen, bei der eine niedrige Latenz entscheidend ist. Diese Arbeitslasten sind während der sequenziellen Generierung von Tokens durch die Speicherbandbreite begrenzt.
- Erforderliche TPU-Funktionen: Hohe HBM-Bandbreite und großer On-Chip-SRAM, um die Latenz beim Abrufen von Daten zu minimieren.
- Empfohlene TPU-Versionen:
Batchinferenz ausführen: Offlineverarbeitung großer Datasets, bei der ein hoher Durchsatz das primäre Ziel ist. Diese Arbeitslasten sind während der Prompt-Prefill-Phase rechengebunden.
- Erforderliche TPU-Funktion: hohe Rechenleistung, um den Durchsatz pro Dollar zu maximieren.
- Empfohlene TPU-Versionen:
Empfehlungssysteme
- Verarbeitung großer Einbettungen: Training und Bereitstellung von Empfehlungsmodellen, die riesige Einbettungstabellen verwenden. Diese Arbeitslasten sind an Kapazität
und Kommunikation gebunden.
- Erforderliche TPU-Funktionen: spezielle SparseCore-Hardware zur parallelen Verarbeitung von spärlichen Vorgängen, große HBM-Kapazität und Unterstützung für das Auslagern in den Hostspeicher.
- Empfohlene TPU-Versionen:
Reinforcement Learning
Reinforcement Learning-Schleifen ausführen: Hybride Arbeitslasten verwalten, die enge Schleifen zum Generieren von Stichproben und Aktualisieren von Richtliniengewichten erfordern.
Überlegungen zu Arbeitslasten
TPUs sind möglicherweise nicht die optimale Wahl für die folgenden Arbeitslasten:
- Lineare Algebraprogramme, die häufige logische Verzweigungen erfordern oder viele elementweise Algebravorgänge enthalten.
- Arbeitslasten, die von benutzerdefinierten Operatoren in JAX oder PyTorch abhängen, die auf CPUs ausgeführt werden.
- Wissenschaftliche Arbeitslasten, die Gleitkommaarithmetik mit doppelter Genauigkeit (FP64) erfordern.
Kosten
Die TPU-Preise für Google Cloudwerden durch die folgenden Faktoren bestimmt:
TPU-Version
Standort
Nutzungsmodell
Vollständige Preisinformationen finden Sie auf der Seite TPU-Preise.
Nutzungs- und Kaufmodelle
Sie können TPU-Instanzen mit einer der folgenden Verbrauchsoptionen bereitstellen, je nach Verfügbarkeitsanforderungen und Kostentoleranz:
- On-Demand: Standard-PAYG-Preise (Pay as you go) für die sofortige Ausführung. Bietet maximale Flexibilität im Lebenszyklus, die Verfügbarkeit unterliegt jedoch Einschränkungen durch physische Ressourcen.
- Spot: Stark rabattierte (bis zu 70%) überschüssige Google Cloud Kapazität. Da Google Cloud Spot-VMs mit einer Vorwarnung von 30 Sekunden beenden oder löschen kann, um Kapazitäten zurückzugewinnen, sind diese Compute-Instanzen ideal für fehlertolerante und prüfpunktfähige Arbeitslasten.
- Flex-Start: Sie können bis zu sieben Tage lang Compute-Instanzen aus einem dedizierten Pool mit höherer Verfügbarkeit anfordern.
- Vorausschauende Reservierungen: Reservierungen, die Kapazität garantieren und einen Rabatt im Vergleich zu On-Demand-Preisen bieten. Sie können TPU-Kapazität für ein bestimmtes zukünftiges Datum und eine bestimmte zukünftige Uhrzeit reservieren, entweder für bis zu 90 Tage (Kalendermodus) oder für ein Jahr oder länger. WennGoogle Cloud Ihre Anfrage genehmigt, können Sie die Kapazität für die Dauer der Reservierung nutzen.
Rabatte für zugesicherte Nutzung (CUD)
Wenn Sie eine vorausschauende Reservierung für ein Jahr oder länger anfordern, können Sie einen CUD für Ihre reservierte TPU-Kapazität erhalten. Wenn Sie einen Rabatt für zugesicherte Nutzung auf Ihre Compute-Instanzen anwenden, erhalten Sie im Gegenzug für einen zugesicherten Nutzungszeitraum eine erhebliche Preissenkung im Vergleich zu On-Demand-Preisen.
Weitere Informationen finden Sie unter CUDs für Compute Engine.
Nächste Schritte
- Weitere Informationen finden Sie unter TPU-Maschinen in der beschleunigungsoptimierten Maschinenfamilie.
- TPU-Instanz erstellen