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.
Modelle feinabstimmen und destillieren: Vorhandene 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-Funktion: hohe HBM-Bandbreite und großer On-Chip-SRAM, um die Latenz beim Datenabruf zu minimieren.
- Empfohlene TPU-Versionen:
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.
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:
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.
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.
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 |
| — | — | — |
| — | — | — |
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-1tmit nur einem TPU-Chip ist hauptsächlich für Tests vorgesehen.ct6e-standard-8tist 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-4tmit einer2x2x2-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 |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Mehrere Hosts |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Mehrere Hosts |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Mehrere Hosts |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Mehrere Hosts |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Mehrere Hosts |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Mehrere Hosts |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Mehrere Hosts |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Mehrere Hosts |
|
| TPU7x (Ironwood) | tpu7x-standard-4t |
Mehrere Hosts |
|
| TPU v6e (Trillium) | ct6e-standard-1t |
Einzelner Host |
|
| TPU v6e (Trillium) | ct6e-standard-8t |
Einzelner Host |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
Einzelner Host |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
Mehrere Hosts |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
Mehrere Hosts |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
Mehrere Hosts |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
Mehrere Hosts |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
Mehrere Hosts |
|
| TPU v6e (Trillium) | ct6e-standard-4t |
Mehrere Hosts |
|
| TPU v5p | ct5p-hightpu-4t |
Einzelner Host |
|
| TPU v5p | ct5p-hightpu-4t |
Mehrere Hosts |
|
| TPU v5p | ct5p-hightpu-4t |
Mehrere Hosts |
|
| TPU v5p | ct5p-hightpu-4t |
Mehrere Hosts |
|
| TPU v5p | ct5p-hightpu-4t |
Mehrere Hosts |
|
-
Berechnet sich aus dem Topologieprodukt geteilt durch vier. ↩
Nächste Schritte
- TPU-Ressourcen in Compute Engine
- Kurzanleitung: Einzelne TPU-VM erstellen