TPU-Maschinen in der beschleunigungsoptimierten Maschinenfamilie

In diesem Dokument werden die Compute Engine-Instanzen in der beschleunigungsoptimierten Maschinenfamilie beschrieben, die Tensor Processing Units (TPUs) haben. TPUs sind von Google speziell entwickelte, anwendungsspezifische integrierte Schaltungen (Application-Specific Integrated Circuits, ASICs), die speziell für Arbeitslasten im Bereich künstliche Intelligenz (KI) und maschinelles Lernen (ML) optimiert sind.

Compute Engine unterstützt die folgenden TPU-Versionen:

  • TPU7x
  • TPU v6e
  • TPU v5p

Jeder Maschinentyp innerhalb einer Version hat eine bestimmte Topologie und eine bestimmte Anzahl von TPU-Chips.

Grundlagen der TPU-Architektur

Wenn Sie die Grundlagen der TPU-Architektur kennen, können Sie die TPU-Version und den Maschinentyp für Ihre Arbeitslast auswählen.

  • TPU-Chip: Ein TPU-Chip ist ein von Google entwickelter spezieller Beschleuniger für maschinelles Lernen. Jeder TPU-Chip enthält einen oder mehrere TensorCores, um umfangreiche Matrixvorgänge zu verarbeiten. Jeder TensorCore besteht aus einer oder mehreren Matrixmultiplikationseinheiten (MXUs), die eine systolische Arrayarchitektur verwenden, um pro Zyklus Tausende von Multiplikations- und Akkumulationsvorgängen ohne ständigen Speicherzugriff auszuführen. Der TPU-Chip wird zwar hauptsächlich für die Hochgeschwindigkeits-Matrixverarbeitung verwendet, enthält aber auch Vektor- und Skalareinheiten für allgemeine Berechnungen und Ablaufsteuerungsvorgänge.

  • TPU-Pod: Ein TPU-Pod ist eine zusammenhängende Gruppe von TPUs, die über ein spezielles Netzwerk verbunden sind. Die Anzahl der TPU-Chips in einem TPU-Pod hängt von der TPU-Version ab.

  • 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 Hochleistungsbibliotheken, SSH-Verbindungen und Laufzeit-Debugging-Logs.

  • TPU-Slice: Eine logische Gruppe miteinander verbundener TPU-Chips, auf die über eine oder mehrere TPU-Instanzen zugegriffen wird. Slices haben einen der folgenden Bereiche:

    • Slice mit einzelnem Host: Ein Slice, das aus einem Hostcomputer besteht. Im Allgemeinen entspricht dies einer TPU-Instanz.
    • Slice mit mehreren Hosts: Ein Slice, der aus mehreren TPU-Instanzen besteht, die über eine Hochgeschwindigkeits-Inter-Chip-Interconnect-Verbindung (ICI) miteinander verbunden sind.
  • TPU-Cube: Eine 4 × 4 × 4-Topologie miteinander verbundener TPU-Chips. Dies gilt nur für 3D-Topologien.

  • SparseCore: SparseCores sind Dataflow-Prozessoren, die Modelle mit dünnbesetzten Operationen beschleunigen. Ein primärer Anwendungsfall ist die Beschleunigung von Empfehlungsmodellen, die stark auf Einbettungen basieren.

  • TPU-Versionen: Die genaue Architektur eines TPU-Chips hängt von der verwendeten TPU-Version ab. Jede TPU-Version unterstützt auch unterschiedliche Slice-Größen und -Konfigurationen.

Informationen zur Funktionsweise von TPUs finden Sie im Dokument TPU-Architektur in der Cloud TPU-Dokumentation.

Empfohlene TPU-Versionen nach Arbeitslasttyp

Die Wahl des richtigen TPU-Modells hängt von den Recheneigenschaften, 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 riesiger Modelle von Grund auf. Diese Arbeitslasten sind rechen- und kommunikationsgebunden.

    • Erforderliche TPU-Funktionen: hohe Spitzen-FLOPS, Unterstützung für niedrige Genauigkeit 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: Vorhandene Modelle mit parametereffizienten Methoden anpassen oder kleinere Modellvarianten trainieren.

    • Erforderliche TPU-Funktion: moderate Rechenleistung und ausreichende Speicherkapazität.
    • Empfohlene TPU-Versionen:
      • TPU v6e. Diese Version ist kostengünstig für Standardtrainingsaufgaben.
      • TPU7x. Diese Version bietet eine hohe Leistung für die Feinabstimmung 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-Funktion: hohe HBM-Bandbreite und großer On-Chip-SRAM, um die Latenz beim Datenabruf 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 Tokengenerierung zu beschleunigen.
  • Batch-Inferenz ausführen: Große Datasets offline verarbeiten, wobei ein hoher Durchsatz das Hauptziel ist. Diese Arbeitslasten sind während der Prompt-Prefill-Phase rechenintensiv.

    • Erforderliche TPU-Funktion: hohe Rechendichte, 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 Rechendichte, um große Batches schnell zu verarbeiten.

Empfehlungssysteme

  • Verarbeitung großer Einbettungen: Training und Bereitstellung von Empfehlungsmodellen, die riesige Einbettungstabellen verwenden. Diese Arbeitslasten sind kapazitäts- und kommunikationsgebunden.
    • Erforderliche TPU-Funktion: spezielle SparseCore-Hardware zur parallelen Verarbeitung von dünnbesetzten Vorgängen, große HBM-Kapazität und Unterstützung für das Auslagern in den Hostspeicher.
    • Empfohlene TPU-Versionen:
      • TPU7x. Diese Version enthält 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 enthält vier SparseCores pro Chip für umfangreiches Training.

Reinforcement Learning

  • Schleifen für bestärkendes Lernen ausführen: Verwalten von Hybridarbeitslasten, die enge Schleifen zum Generieren von Beispielen und Aktualisieren von Richtliniengewichtungen erfordern.

    • Erforderliche TPU-Funktion: ICI mit niedriger Latenz für schnelle Gewichtungs- und Aktivierungsübertragungen zwischen Chips und Hostverbindungen mit hoher Bandbreite.
    • Empfohlene TPU-Versionen:

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

Nutzungsoptionen

Um die Ressourcenauslastung und die Kosten zu optimieren und gleichzeitig die Arbeitslastleistung auszugleichen, unterstützt Compute Engine die folgenden TPU-Nutzungsoptionen:

  • On-Demand: TPUs ohne vorherige Kapazitätsplanung nutzen. Bevor Sie Ressourcen anfordern, müssen Sie ein ausreichendes On-Demand-Kontingent für den spezifischen Typ und die Anzahl der TPU-Instanzen haben. On-Demand ist die flexibelste Verbrauchsoption. Es gibt jedoch keine Garantie dafür, dass genügend On-Demand-Ressourcen verfügbar sind, um Ihre Anfrage zu erfüllen.

  • Spot: Zum Bereitstellen von Spot-VMs können Sie erhebliche Rabatte erhalten. Spot-VMs können jedoch jederzeit mit einer 30-sekündigen Warnung vorzeitig beendet werden. Weitere Informationen finden Sie unter Spot-VMs.

  • Flex-Start: {flex_start_vms_name} für bis zu sieben Tage bereitstellen, wobei Compute Engine die Hardware automatisch nach Verfügbarkeit zuweist. Weitere Informationen finden Sie unter {flex_start_vms_name}.

  • Vorausschauende Reservierung für Kapazitätsblöcke: Zum Anfordern einer vorausschauenden Reservierung für ein Jahr oder länger. Weitere Informationen finden Sie in der Cloud TPU-Dokumentation unter Vorausschauende Reservierung für ein Jahr oder länger anfordern.

  • Vorausschauende Reservierung im Kalendermodus: TPU-Ressourcen für bis zu 90 Tage für einen bestimmten Zeitraum bereitstellen. Weitere Informationen finden Sie unter Anfragen für vorausschauende Reservierungen im Kalendermodus.

On-Demand ist das Standard-Nutzungsmodell für TPUs, wenn Sie keine andere Option angeben.

Informationen zum zugrunde liegenden Bereitstellungsmodell, das die Verbrauchsoption ermöglicht, finden Sie unter VM-Bereitstellungsmodelle.

Verfügbarkeit von Nutzungsoptionen nach TPU-Versionen

In der folgenden Tabelle ist die Verfügbarkeit der einzelnen Nutzungsoptionen nach TPU-Versionen zusammengefasst.

TPU-Version On demand Spot Flex-Start On-Demand-Reservierungen Vorausschauende Reservierungen Vorausschauende Reservierungen im Kalendermodus1 Vorausschauende Reservierungen für Kapazitätsblöcke
2 2 2 2

1 Im Modus „Gesamte Kapazität“ können Sie keine Anfragen für vorausschauende Reservierungen im Kalendermodus erstellen.

2 Spot- und Flex-Start-Reservierungen, vorausschauende Reservierungen im Kalendermodus und vorausschauende Reservierungen für Kapazitätsblöcke für TPU7x sind durch eine Zulassungsliste eingeschränkt. Wenn Sie Zugriff anfordern möchten, wenden Sie sich an Ihr Account-Management-Team oder das Vertriebsteam.

Modus „Gesamte Kapazität“

Standardmäßig umfassen TPU-Reservierungen eine automatische Fehlerbehebung.Cloud de Confiance verwaltet diesen Prozess, indem fehlerhafte TPU-Maschinen automatisch durch fehlerfreie Maschinen aus der reservierten Kapazität ersetzt werden. So wird sichergestellt, dass Ressourcen für den Neustart Ihrer TPU-Slices verfügbar sind.

Alternativ können Sie für TPU v6e und TPU7x TPU-Kapazität im Modus „Gesamte Kapazität“ anfordern. In diesem Modus haben Sie Zugriff auf Ihre gesamte reservierte Kapazität und die vollständige Topologie. In diesem Modus können Sie auch bestimmte Blöcke oder Unterblöcke für eine präzise, topologieorientierte Arbeitslastplatzierung auswählen. Sie sind jedoch für die Verwaltung von Hardwarefehlern und die Wartung verantwortlich.

Weitere Informationen zu diesen Modi finden Sie in der Cloud TPU-Dokumentation unter TPU-Kapazitätsmodi.

Vergleich der TPU-Versionen

Vergleichen Sie die Merkmale verschiedener TPU-Versionen. Sie können bestimmte Attribute im Feld Attribute zum Vergleich auswählen auswählen, um sie für alle TPU-Versionen in der folgenden Tabelle zu vergleichen.

Beschleunigungsoptimiert Beschleunigungsoptimiert Beschleunigungsoptimiert
VM VM VM
Intel Emerald Rapids AMD EPYC Genoa Intel Sapphire Rapids
x86 x86 x86
224 44 bis 180 208
Thread Thread Thread
960 GB 176 bis 1.440 GB 448 GB
NUMA NUMA NUMA
— — —
— — —
— — —
— — —
— —
NVMe NVMe NVMe
—
— — —
— — —
— — —
— — —
— — —
— —
— — —
— — —
gVNIC gVNIC gVNIC
400 Gbit/s 50 bis 400 Gbit/s 200 Gbit/s
4 8 4
— — —
Rabatte Rabatte Rabatte
— Rabatte— Rabatte— Rabatte

Spezifikationen der TPU-Architektur

In der folgenden Tabelle sind die wichtigsten Spezifikationen für jede TPU-Version aufgeführt.

Spezifikation TPU7x TPU v6e TPU v5p
Anzahl der Chips pro Pod 9216 256 8960
Maximale Rechenleistung pro Chip (BF16) (TFLOPs) 2307 918 459
Maximale Rechenleistung pro Chip (FP8) (TFLOPs) 4614 918 459
HBM-Kapazität pro Chip (GiB) 192 32 95
HBM-Bandbreite pro Chip (GB/s) 7380 1638 2765
Anzahl der vCPUs (VM mit 4 Chips) 224 180 208
RAM (GiB) (VM mit 4 Chips) 960 720 448
Anzahl der TensorCores pro Chip 2 1 2
Anzahl der SparseCores pro Chip 4 2 4
Bidirektionale ICI-Bandbreite (Inter-Chip Interconnect) pro Chip (GB/s) 1.200 800 1.200
Bandbreite des Rechenzentrumsnetzwerks (DCN) pro Chip (Gbit/s) 100 100 50

TPU-Maschinentypen

In den folgenden Abschnitten werden die für jede TPU-Version verfügbaren Maschinentypen beschrieben.

TPU7x (Ironwood)

Jede TPU7x-VM enthält 4 TPU-Chips. Alle TPU7x-Slices verwenden Full-Host-VMs mit 4 Chips.

Jeder TPU7x-Chip enthält zwei TensorCores und vier SparseCores.

Mit dem Ironwood-Programmiermodell können Sie auf zwei TPU-Geräte zugreifen, anstatt auf eine einzelne logische Kernarchitektur, die in früheren Generationen verwendet wurde. Weitere Informationen finden Sie in der Cloud TPU-Dokumentation unter Dual-Chiplet-Architektur.

Maschinentyp Anzahl der vCPUs Instanzspeicher (GiB) Anzahl der physischen NICs Maximale Netzwerkbandbreite (Gbit/s) Anzahl der TPU-Chips pro VM Anzahl der NUMA-Knoten Gesamter TPU-Arbeitsspeicher (GiB HBM)
tpu7x-standard-4t 224 960 2 400 4 2 768

Weitere Informationen zur TPU7x-Architektur finden Sie in der Cloud TPU-Dokumentation unter TPU7x (Ironwood).

TPU v6e (Trillium)

Jede TPU v6e-VM kann 1, 4 oder 8 TPU-Chips enthalten. Slices mit 4 oder weniger Chips haben denselben NUMA-Knoten (Non-Uniform Memory Access).

v6e-Slices werden mit Half-Host-VMs erstellt, die jeweils 4 TPU-Chips haben, mit Ausnahme der folgenden:

  • ct6e-standard-1t mit nur einem TPU-Chip ist hauptsächlich für Tests vorgesehen.
  • ct6e-standard-8t ist eine VM mit vollständigem Host, die für einen Inferenzanwendungsfall optimiert wurde. So können alle 8 TPU-Chips, die an eine einzelne VM angehängt sind, in einer einzelnen Bereitstellungsarbeitslast verwendet werden.
Maschinentyp Anzahl der vCPUs Instanzarbeitsspeicher (GB) Anzahl der physischen NICs Maximale Netzwerkbandbreite (Gbit/s) Anzahl der TPU-Chips pro VM Anzahl der NUMA-Knoten Gesamter TPU-Arbeitsspeicher (GiB HBM)
ct6e-standard-1t 44 176 1/4 50 1 1 32
ct6e-standard-4t 180 720 2 400 4 1 128
ct6e-standard-8t 360 1440 1 200 8 2 256

Weitere Informationen zur TPU v6e-Architektur finden Sie in der Cloud TPU-Dokumentation unter TPU v6e.

TPU v5p

Ein TPU v5p-Pod besteht aus 8.960 TPU-Chips, die über rekonfigurierbare Hochgeschwindigkeitsverbindungen miteinander verbunden sind. Die flexible Vernetzung von TPU v5p ermöglicht Ihnen, die TPU-Chips in einem Slice derselben Größe auf verschiedene Arten zu verbinden. Das Training mit einem einzelnen Slice wird für bis zu 6.144 TPU-Chips unterstützt.

Maschinentyp Anzahl der vCPUs Instanzarbeitsspeicher (GB) Anzahl der physischen NICs Maximale Netzwerkbandbreite (Gbit/s) Anzahl der TPU-Chips pro VM Anzahl der NUMA-Knoten Gesamter TPU-Arbeitsspeicher (GiB HBM)
ct5p-hightpu-4t 208 448 1 200 4 2 380

Weitere Informationen zur TPU v5p-Architektur finden Sie in der Cloud TPU-Dokumentation unter TPU v5p.

TPU-Topologie

Die Topologie definiert die physische Anordnung von TPUs in einem TPU-Slice. Je nach TPU-Version ist die Topologie zwei- oder dreidimensional. Sie können die Anzahl der TPU-Chips in einem Slice ermitteln, indem Sie das Produkt jeder Größe in der Topologie berechnen. Beispiel:

  • Der Maschinentyp tpu7x-standard-4t mit einer 2x2x2-Topologie ist ein TPU7x-Slice mit 8 Chips und mehreren Hosts.

In der folgenden Tabelle sind die für jede TPU-Version verfügbaren Topologien aufgeführt.

TPU-Version Maschinentyp Umfang Technische Daten
TPU7x (Ironwood) tpu7x-standard-4t Einzelner Host
  • Topologie: 2x2x1
  • Anzahl der TPU-Chips für die Topologie: 4
  • Anzahl der Hosts: 1
  • Anzahl der VMs: 1
  • Anzahl der Cubes: 1/16
TPU7x (Ironwood) tpu7x-standard-4t Mehrere Hosts
  • Topologie: 2x2x2
  • Anzahl der TPU-Chips für die Topologie: 8
  • Anzahl der Hosts: 2
  • Anzahl der VMs: 2
  • Anzahl der Cubes: 1/8
TPU7x (Ironwood) tpu7x-standard-4t Mehrere Hosts
  • Topologie: 2x2x4
  • Anzahl der TPU-Chips für die Topologie: 16
  • Anzahl der Hosts: 4
  • Anzahl der VMs: 4
  • Anzahl der Cubes: 1/4
TPU7x (Ironwood) tpu7x-standard-4t Mehrere Hosts
  • Topologie: 2x4x4
  • Anzahl der TPU-Chips für die Topologie: 32
  • Anzahl der Hosts: 8
  • Anzahl der VMs: 8
  • Anzahl der Cubes: 1/2
TPU7x (Ironwood) tpu7x-standard-4t Mehrere Hosts
  • Topologie: 4x4x4
  • Anzahl der TPU-Chips für die Topologie: 64
  • Anzahl der Hosts: 16
  • Anzahl der VMs: 16
  • Anzahl der Cubes: 1
TPU7x (Ironwood) tpu7x-standard-4t Mehrere Hosts
  • Topologie: 4x4x8
  • Anzahl der TPU-Chips für die Topologie: 128
  • Anzahl der Hosts: 32
  • Anzahl der VMs: 32
  • Anzahl der Würfel: 2
TPU7x (Ironwood) tpu7x-standard-4t Mehrere Hosts
  • Topologie: 4x8x8
  • Anzahl der TPU-Chips für die Topologie: 256
  • Anzahl der Hosts: 64
  • Anzahl der VMs: 64
  • Anzahl der Cubes: 4
TPU7x (Ironwood) tpu7x-standard-4t Mehrere Hosts
  • Topologie: 8x8x8
  • Anzahl der TPU-Chips für die Topologie: 512
  • Anzahl der Hosts: 128
  • Anzahl der VMs: 128
  • Anzahl der Würfel: 8
TPU7x (Ironwood) tpu7x-standard-4t Mehrere Hosts
  • Topologie: 8 x 8 x 16
  • Anzahl der TPU-Chips für die Topologie: 1.024
  • Anzahl der Hosts: 256
  • Anzahl der VMs: 256
  • Anzahl der Würfel: 16
TPU7x (Ironwood) tpu7x-standard-4t Mehrere Hosts
  • Topologie: {A}x{B}x{C} (wobei A, B und C Vielfache von zwei sind)
  • Anzahl der TPU-Chips für die Topologie: A*B*C
  • Anzahl der Hosts: (A*B*C)/4
  • Anzahl der VMs: (A*B*C/4)
  • Anzahl der Cubes: (A*B*C/64)
TPU v6e (Trillium) ct6e-standard-1t Einzelner Host
  • Topologie: 1x1
  • Anzahl der TPU-Chips für die Topologie: 1
  • Anzahl der VMs: 1
TPU v6e (Trillium) ct6e-standard-8t Einzelner Host
  • Topologie: 2x4
  • Anzahl der TPU-Chips für die Topologie: 8
  • Anzahl der VMs: 1
TPU v6e (Trillium) ct6e-standard-4t Einzelner Host
  • Topologie: 2x2
  • Anzahl der TPU-Chips für die Topologie: 4
  • Anzahl der VMs: 1
TPU v6e (Trillium) ct6e-standard-4t Mehrere Hosts
  • Topologie: 2x4
  • Anzahl der TPU-Chips für die Topologie: 8
  • Anzahl der VMs: 2
TPU v6e (Trillium) ct6e-standard-4t Mehrere Hosts
  • Topologie: 4x4
  • Anzahl der TPU-Chips für die Topologie: 16
  • Anzahl der VMs: 4
TPU v6e (Trillium) ct6e-standard-4t Mehrere Hosts
  • Topologie: 4x8
  • Anzahl der TPU-Chips für die Topologie: 32
  • Anzahl der VMs: 8
TPU v6e (Trillium) ct6e-standard-4t Mehrere Hosts
  • Topologie: 8x8
  • Anzahl der TPU-Chips für die Topologie: 64
  • Anzahl der VMs: 16
TPU v6e (Trillium) ct6e-standard-4t Mehrere Hosts
  • Topologie: 8x16
  • Anzahl der TPU-Chips für die Topologie: 128
  • Anzahl der VMs: 32
TPU v6e (Trillium) ct6e-standard-4t Mehrere Hosts
  • Topologie: 16x16
  • Anzahl der TPU-Chips für die Topologie: 256
  • Anzahl der VMs: 64
TPU v5p ct5p-hightpu-4t Einzelner Host
  • Topologie: 2x2x1
  • Anzahl der TPU-Chips für die Topologie: 4
  • Anzahl der VMs: 1
TPU v5p ct5p-hightpu-4t Mehrere Hosts
  • Topologie: 2x2x2
  • Anzahl der TPU-Chips für die Topologie: 8
  • Anzahl der VMs: 2
TPU v5p ct5p-hightpu-4t Mehrere Hosts
  • Topologie: 2x2x4
  • Anzahl der TPU-Chips für die Topologie: 16
  • Anzahl der VMs: 4
TPU v5p ct5p-hightpu-4t Mehrere Hosts
  • Topologie: 2x4x4
  • Anzahl der TPU-Chips für die Topologie: 32
  • Anzahl der VMs: 8
TPU v5p ct5p-hightpu-4t Mehrere Hosts
  • Topologie: {A}x{B}x{C} (wobei A, B und C Vielfache von zwei sind)
  • Anzahl der TPU-Chips für die Topologie: A*B*C
  • Anzahl der VMs: (A*B*C/4)1
  1. Berechnet sich aus dem Topologieprodukt geteilt durch vier. ↩

Nächste Schritte