TPUs

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.

    • Erforderliche TPU-Funktionen: hohe Spitzen-FLOPS, Unterstützung für niedrige Präzision und hohe Interconnect-Bandbreite.
    • Empfohlene TPU-Versionen:
      • TPU7x. Diese Version bietet eine hohe FP8-Leistung.
      • TPU v5p Diese Version unterstützt umfangreiche Clusterkonfigurationen.
  • Modelle feinabstimmen und destillieren: bestehende Modelle mit parametereffizienten Methoden anpassen oder kleinere Modellvarianten trainieren.

    • Erforderliche TPU-Leistung: moderate Rechenleistung und ausreichend Arbeitsspeicher.
    • Empfohlene TPU-Versionen:
      • TPU v6e. Diese Version ist kostengünstig für Standardtrainingsaufgaben.
      • TPU7x. Diese Version bietet eine hohe Leistung für das Fine-Tuning im großen Maßstab.

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:
      • TPU v6e. Diese Version ist für die kostengünstige Bereitstellung in großem Umfang optimiert.
      • TPU7x. Diese Version bietet eine hohe HBM-Bandbreite und einen großen SRAM, um die Token-Generierung zu beschleunigen.
  • 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:
      • TPU v6e. Diese Version ist kostengünstig für die Batchverarbeitung mit hohem Durchsatz.
      • TPU7x. Diese Version bietet eine hohe Rechenleistung, um große Batches schnell zu verarbeiten.

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:
      • TPU7x. Diese Version umfasst vier SparseCores pro Chip und bietet die größte HBM-Kapazität.
      • TPU v6e. Diese Version enthält zwei SparseCores pro Chip für eine kostengünstige Bereitstellung.
      • TPU v5p Diese Version umfasst vier SparseCores pro Chip für umfangreiches Training.

Reinforcement Learning

  • Reinforcement Learning-Schleifen ausführen: Hybride Arbeitslasten verwalten, die enge Schleifen zum Generieren von Stichproben und Aktualisieren von Richtliniengewichten erfordern.

    • Erforderliche TPU-Funktionen: ICI mit niedriger Latenz für schnelle Übertragungen von Gewichten und Aktivierungen zwischen Chips sowie Hostverbindungen mit hoher Bandbreite.
    • Empfohlene TPU-Versionen:

      Diese TPU-Versionen verwenden eine Hochgeschwindigkeits-3D-Torus-Verbindung.

Ü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