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 angehängten 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 besser 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 Matrixoperationen zu verarbeiten. Jeder TensorCore besteht aus einer oder mehreren Matrix-Multiply Units (MXUs), die eine systolische Arrayarchitektur verwenden, um Tausende von Multiplikations- bzw. Akkumulationsvorgängen pro Zyklus ohne ständigen Speicherzugriff auszuführen. Der TPU-Chip wird zwar hauptsächlich für die schnelle Matrixverarbeitung verwendet, enthält aber auch Vektor- und Skalareinheiten für allgemeine Berechnungs- 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-VM: Eine TPU-VM ist eine virtuelle Linux-Maschine, die auf einem TPU-Host ausgeführt wird und Zugriff auf die zugrunde liegenden TPUs hat. Sie können über SSH eine direkte Verbindung zu TPU-VMs herstellen. Sie haben Root-Zugriff auf die VM und können so beliebigen Code ausführen. Sie können auf Compiler- und Laufzeit-Debug-Logs sowie auf Fehlermeldungen zugreifen.
TPU-Slice: Eine logische Gruppe miteinander verbundener TPU-Chips, auf die über eine oder mehrere TPU-VMs zugegriffen wird. Slices haben einen der folgenden Bereiche:
- Slice mit einzelnem Host: Ein Slice, der aus einem Hostcomputer besteht. Im Allgemeinen entspricht das einer TPU-VM.
- Slice mit mehreren Hosts: Ein Slice, der aus mehreren TPU-VMs besteht, die über eine Hochgeschwindigkeitsverbindung zwischen den Chips (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 in der Cloud TPU-Dokumentation unter TPU-Architektur.
Empfohlene TPU-Versionen nach Arbeitslasttyp
| TPU-Version | Primäre Arbeitslasttypen |
|---|---|
| TPU7x (Ironwood) |
|
| TPU v6e (Trillium) |
|
| TPU v5p |
|
Nutzungsoptionen
Um die Ressourcenauslastung und die Kosten zu optimieren und gleichzeitig die Arbeitslastleistung auszugleichen, unterstützt Compute Engine die folgenden Optionen für den TPU-Verbrauch:
On-Demand: TPUs nutzen, ohne Kapazität im Voraus zu reservieren. Bevor Sie Ressourcen anfordern, müssen Sie ein ausreichendes On-Demand-Kontingent für den jeweiligen Typ und die jeweilige Anzahl von TPU-VMs 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-VMs: Wenn Sie Spot-VMs bereitstellen, 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 werden für bis zu sieben Tage bereitgestellt. Compute Engine weist die Hardware automatisch nach dem Best-Effort-Prinzip basierend auf der Verfügbarkeit zu. Weitere Informationen finden Sie unter Flex-Start-VMs.
Vorausschauende Reservierung: Hiermit können Sie eine vorausschauende Reservierung für ein Jahr oder länger anfordern. Weitere Informationen finden Sie in der Cloud TPU-Dokumentation unter Vorausschauende Reservierung für ein Jahr oder länger anfordern.
Vorausschauende Reservierung im Kalendermodus: Damit können Sie 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 Verbrauchsoptionen nach TPU-Versionen zusammengefasst.
| TPU-Version | On demand | Spot | Flex-Start | On-Demand-Reservierungen | Vorausschauende Reservierungen | Vorausschauende Reservierungen im Kalendermodus |
|---|---|---|---|---|---|---|
| 1 | 1 | 1 | ||||
1 Spot-, Flex-Start- und vorausschauende Reservierungen im Kalendermodus 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.
Vergleich der TPU-Versionen
Vergleichen Sie die Eigenschaften 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 1440 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 |
| — | — | — |
| – | – | – |
TPU-Architekturspezifikationen
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 (GiB/s) | 7380 | 1638 | 2575 |
| 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 (GBps) | 1.200 | 800 | 1.200 |
| Bandbreite des Rechenzentrumsnetzwerks (Data Center Network, 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. Für alle TPU7x-Slices werden Full-Host-VMs mit 4 Chips verwendet.
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 Core-Architektur, die in früheren Generationen verwendet wurde. Weitere Informationen finden Sie in der Cloud TPU-Dokumentation unter Dual-Chiplet-Architektur.
| Maschinentyp | Anzahl der vCPUs | Instanzarbeitsspeicher (GiB) | Anzahl der physischen Netzwerkkarten | 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. Ausnahmen:
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 Netzwerkkarten | 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 es 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 Netzwerkkarten | 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 mehreren Hosts und 8 Chips.
In der folgenden Tabelle sind die für jede TPU-Version verfügbaren Topologien aufgeführt.
| TPU-Version | Maschinentyp | Umfang | Technische Spezifikationen |
|---|---|---|---|
| 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