Auf dieser Seite wird beschrieben, wie Sie die Nutzung von Tensor Processing Units (TPUs) in der Google Kubernetes Engine (GKE) planen, um das Risiko von TPU-Fehlkonfigurationen, Fehlern aufgrund von Nichtverfügbarkeit oder Unterbrechungen aufgrund von überschrittenem Kontingent zu reduzieren.
Bevor Sie TPUs in GKE verwenden, sollten Sie sich mit den Definitionen und der Terminologie von TPUs in GKE vertraut machen.
TPU-Konfiguration planen
Wenn Sie TPUs in GKE-Clustern verwenden möchten, müssen Sie deren Konfiguration planen. Wir empfehlen Ihnen, die folgenden Schritte auszuführen:
GKE-Betriebsmodus auswählen: Sie können Ihre Arbeitslasten auf TPUs in einem GKE Autopilot- oder Standardcluster ausführen.
Best Practice: Verwenden Sie einen Autopilot-Cluster für eine vollständig verwaltete Kubernetes-Umgebung.
TPU-Version auswählen: Unterschiedliche TPU-Typen haben unterschiedliche Funktionen wie Preis-Leistungs-Verhältnis, Trainingsdurchsatz und Bereitstellungslatenz. Die TPU-Typen wirken sich auf die verfügbaren CPU- und Arbeitsspeicherkapazitäten aus.
TPU-Verfügbarkeit prüfen: TPUs sind in bestimmten Google Cloud Regionen verfügbar. Wenn Sie einen TPU-Typ in Ihrer GKE-Arbeitslast verwenden möchten, muss sich Ihr Cluster in einer für diesen Typ unterstützten Region befinden.
TPU-Topologie auswählen: Die physische Anordnung der TPUs in einem TPU-Slice. Wählen Sie eine Topologie aus, die den Parallelisierungsanforderungen Ihres Modells entspricht.
Anhand der Referenztabellen auf dieser Seite können Sie feststellen, ob Ihre Knotenpools TPU-Slice-Knoten mit einem einzelnen Host oder mit mehreren Hosts sind.
GKE-Betriebsmodus auswählen
Sie können TPUs in den verfügbaren GKE-Betriebsmodi für Cluster verwenden:
- Autopilot-Modus (empfohlen): GKE verwaltet die zugrunde liegende Infrastruktur, z. B. Knotenkonfiguration, Autoscaling, automatische Upgrades, Referenzsicherheitskonfigurationen und Referenznetzwerkkonfigurationen. In Autopilot wählen Sie einen TPU-Typ und eine Topologie aus und geben diese in Ihrem Kubernetes-Manifest an. GKE verwaltet die Bereitstellung von Knoten mit TPUs und die Planung Ihrer Arbeitslasten.
- Standardmodus: Sie verwalten die zugrunde liegende Infrastruktur, einschließlich der Konfiguration der einzelnen Knoten.
Informationen zum Auswählen des GKE-Betriebsmodus, der für Ihre Arbeitslasten am besten geeignet ist, finden Sie unter GKE-Betriebsmodus auswählen.
TPU-Version auswählen
Die VMs in einem TPU-Slice haben die folgenden technischen Eigenschaften.
Autopilot
TPU-Version | Maschinentyp | Anzahl der vCPUs | Speicher (GiB) | Anzahl der NUMA-Knoten | Maximale Anzahl von TPU-Chips in einem TPU-Slice-Knoten |
---|---|---|---|---|---|
TPU Trillium | tpu-v6e-slice |
44 bis 180 | 176 bis 1440 | 1 bis 2 | 256 |
TPU v5p
|
tpu-v5p-slice |
208 | 448 | 2 | 6.144 |
TPU v5e |
tpu-v5-lite-podslice |
24 bis 224 | 48 bis 384 | 1 | 256 |
TPU v4 |
tpu-v4-podslice |
240 | 407 | 2 | 4.096 |
TPU v3 (nur ein Host) |
tpu-v3-device |
96 | 340 | 2 | 8 |
TPU v3 |
tpu-v3-slice |
48 | 340 | 1 | 256 |
Standard
TPU-Version | Maschinentyp | Anzahl der vCPUs | Speicher (GiB) | Anzahl der NUMA-Knoten | Wahrscheinlichkeit eines vorzeitigen Beendens |
---|---|---|---|---|---|
TPU Trillium | ct6e-standard-1t |
44 | 448 | 2 | Höher |
TPU Trillium (v6e) | ct6e-standard-4t |
180 | 720 | 1 | Mittel |
TPU Trillium (v6e) | ct6e-standard-8t |
180 | 1440 | 2 | Niedrigere |
TPU v5p
|
ct5p-hightpu-4t |
208 | 448 | 2 | |
TPU v5e |
ct5lp-hightpu-1t |
24 | 48 | 1 | Höher |
TPU v5e |
ct5lp-hightpu-4t |
112 | 192 | 1 | Mittel |
TPU v5e |
ct5lp-hightpu-8t |
224 | 384 | 1 | Niedrig |
TPU v4 |
ct4p-hightpu-4t |
240 | 407 | 2 | |
TPU v3 (nur ein Host) |
ct3-hightpu-4t |
96 | 340 | 2 | |
TPU v3 |
ct3p-hightpu-4t |
48 | 340 | 1 |
Mehrhost-ct5lp-
-Maschinentypen eignen sich besser für die Bereitstellung großer Modelle oder für das Training. ct5lp-
-Maschinen mit mehreren Hosts sind über Hochgeschwindigkeitsverbindungen miteinander verbunden.
Sehen Sie sich die TPU-Spezifikationen und ‑Preise in der Cloud TPU-Preisdokumentation an, um zu entscheiden, welche TPU-Konfiguration Sie verwenden möchten.
Beschränkungen
Beachten Sie bei der Auswahl der TPU die folgenden Einschränkungen:
- TPU Trillium ist in den folgenden Versionen verfügbar:
- Standardcluster in Version 1.31.1-gke.1846000 und höher
- Autopilot-Cluster mit Version 1.31.2-gke.1115000 und höher
- TPU Trillium unterstützt nicht die Konfiguration von SMT auf
ct6e-standard-8t
mit2
. - Die GKE-Kostenzuordnung und -Nutzungsmessung enthalten keine Daten zur Nutzung oder zu den Kosten der reservierten TPU v4.
- Das Autoscaling für TPU v5p wird auf GKE-Clustern mit Steuerungsebenen ab Version 1.29.2-gke.1035000 oder 1.28.7-gke.1020000 unterstützt.
- Verwenden Sie für Kapazitätsreservierungen eine spezifische Reservierung.
TPU-Verfügbarkeit in GKE prüfen
TPUs sind in bestimmten Google Cloud Regionen verfügbar. Wenn Sie einen TPU-Typ in Ihrem GKE-Cluster verwenden möchten, muss sich Ihr Cluster in einer für diesen Typ unterstützten Region befinden.
Autopilot
In der folgenden Tabelle ist die TPU-Verfügbarkeit für jede TPU-Version und jeden Maschinentyp aufgeführt:
TPU-Version | cloud.google.com/gke-tpu-accelerator |
Mindest-GKE-Version | Verfügbarkeit | Zone |
---|---|---|---|---|
TPU Trillium (v6e) |
tpu-v6e-slice |
1.31.2-gke.1384000 | Allgemein verfügbar | us-east5-b |
europe-west4-a |
||||
us-east1-d |
||||
asia-northeast1-b |
||||
us-south1-a |
||||
TPU v5e | tpu-v5-lite-podslice |
1.27.2-gke.2100 | Allgemein verfügbar | europe-west4-a |
us-central1-a |
||||
us-east1-c |
||||
us-east5-b |
||||
us-west1-c |
||||
us-west4-a |
||||
us-west4-b |
||||
TPU v5p | tpu-v5p-slice |
1.28.3-gke.1024000 | Allgemein verfügbar | us-east1-d |
us-east5-a |
||||
us-east5-c |
||||
TPU v4 | tpu-v4-podslice |
1.26.1-gke.1500 | Allgemein verfügbar | us-central2-b |
TPU v3 | tpu-v3-slice |
1.31.1-gke.1146000 | Allgemein verfügbar | us-east1-d |
europe-west4-a |
||||
TPU v3 | tpu-v3-device |
1.31.0-gke.1500 | Allgemein verfügbar | us-east1-d |
europe-west4-a |
||||
us-central1-a |
||||
us-central1-b |
||||
us-central1-f |
Standard
In der folgenden Tabelle ist die TPU-Verfügbarkeit für jede TPU-Version und jeden Maschinentyp aufgeführt:
TPU-Version | Maschinentyp beginnt mit | Mindest-GKE-Version | Verfügbarkeit | Zone |
---|---|---|---|---|
TPU Trillium | ct6e- |
1.31.2-gke.1115000 | Allgemein verfügbar | us-east5-b |
europe-west4-a |
||||
us-east1-d |
||||
asia-northeast1-b |
||||
us-south1-a |
||||
TPU v5e | ct5lp- |
1.27.2-gke.2100 | Allgemein verfügbar | europe-west4-a |
us-central1-a |
||||
us-east1-c |
||||
us-east5-b |
||||
us-west1-c |
||||
us-west4-a |
||||
us-west4-b |
||||
TPU v5p | ct5p- |
1.28.3-gke.1024000 | Allgemein verfügbar | us-east1-d |
us-east5-a |
||||
us-east5-c |
||||
TPU v4 | ct4p- |
1.26.1-gke.1500 | Allgemein verfügbar | us-central2-b |
TPU v3 | ct3p- |
1.31.1-gke.1146000 | Allgemein verfügbar | us-east1-d |
europe-west4-a |
||||
TPU v3 | ct3- |
1.31.0-gke.1500 | Allgemein verfügbar | us-east1-d |
europe-west4-a |
||||
us-central1-a |
||||
us-central1-b |
||||
us-central1-f |
Beachten Sie beim Konfigurieren einer TPU die folgenden Einschränkungen:
- Sie können einen TPU v5e-Knotenpool mit einem einzelnen Host mit einem Maschinentyp erstellen, der mit
ct5lp-
beginnt, in bestimmten Zonen (europe-west4-a
,us-east5-b
undus-west4-b
). Sie könnenct5lp-hightpu-4t
mit einer Topologie von mindestens2x4
oder höher in diesen Zonen verwenden. - Wenn Sie eine TPU v5e mit einem einzelnen Host in der Region
us-west4
erstellen möchten, wählen Sie die Zoneus-west4-a
aus und verwenden Sie Maschinentypen, die mitct5lp-
beginnen, z. B.ct5lp-hightpu-1t
.
Topologie auswählen
Nachdem Sie sich für eine TPU-Version entschieden haben, wählen Sie eine Topologie aus, die von diesem TPU-Typ unterstützt wird. Je nach TPU-Typ ist die Topologie zwei- oder dreidimensional. Die Parallelisierungsanforderungen Ihres Modells helfen Ihnen bei der Auswahl einer Topologie. Sie können die Anzahl der TPU-Chips im Slice ermitteln, indem Sie das Produkt der einzelnen Größen in der Topologie berechnen. Beispiel:
2x2x2
ist ein TPU v4-Slice mit 8 Chips und mehreren Hosts2x2
ist ein TPU v5e-Slice mit 4 Chips mit einem Host.
Wenn eine bestimmte Topologie sowohl TPU-Slice-Knoten mit einem einzelnen Host als auch mit mehreren Hosts unterstützt, bestimmt die Anzahl der TPU-Chips, die Ihre Arbeitslast anfordert, den Hosttyp.
TPU v5e (tpu-v5-lite-podslice
) unterstützt beispielsweise die 2x4
-Topologie sowohl mit einem als auch mit mehreren Hosts. Es stehen folgende Optionen zur Verfügung:
- Wenn Sie in Ihrer Arbeitslast 4 Chips anfordern, erhalten Sie einen Knoten mit mehreren Hosts und 4 TPU-Chips.
- Wenn Sie in Ihrer Arbeitslast 8 Chips anfordern, erhalten Sie einen Knoten mit einem einzelnen Host und 8 TPU-Chips.
In der folgenden Tabelle können Sie den TPU-Maschinentyp und die TPU-Topologie für Ihren Anwendungsfall auswählen:
- Verwenden Sie für kleines Modelltraining oder Inferenz TPU v4 oder TPU v5e mit TPU-Slice-Knotenpools mit einem Host.
Verwenden Sie für umfangreiches Modelltraining oder Inferenz TPU v4 oder TPU v5e mit TPU-Slice-Knotenpools mit mehreren Hosts.
Autopilot
TPU-Version | Maschinentyp | Topologie | Anzahl der TPU-Chips in einem Slice | Anzahl von Knoten | Knotenpooltyp |
---|---|---|---|---|---|
TPU v6e | tpu-v6e-slice |
1x1 | 1 | 1 | Einzelner Host |
2x2 | 4 | 4 | Einzelner Host | ||
2x4 | 8 | 8 | Einzelner Host | ||
4x4 | 16 | 4 | Mehrere Hosts | ||
4x8 | 32 | 8 | Mehrere Hosts | ||
8x8 | 64 | 16 | Mehrere Hosts | ||
8x16 | 128 | 32 | Mehrere Hosts | ||
16x16 | 256 | 64 | Mehrere Hosts | ||
TPU v5p | tpu-v5p-slice |
2x2x1 | 4 | 1 | Einzelner Host |
2x2x2 | 8 | 2 | Mehrere Hosts | ||
2x2x4 | 16 | 4 | Mehrere Hosts | ||
2x4x4 | 32 | 8 | Mehrere Hosts | ||
4x4x4 | 64 | 16 | Mehrere Hosts | ||
{A}x{B}x{C} | A*B*C | (A*B*C/4)1 | Mehrere Hosts | ||
TPU v5e | tpu-v5-lite-podslice 2 |
1x1 | 1 | 1 | Einzelner Host |
2x2 | 4 | 1 | |||
2x4 | 8 | 1 | |||
2x4 | 8 | 2 | Mehrere Hosts | ||
4x4 | 16 | 4 | |||
4x8 | 32 | 8 | |||
8x8 | 64 | 16 | |||
8x16 | 128 | 32 | |||
16x16 | 256 | 64 | |||
TPU v5e (nur einzelner Host) | tpu-v5-lite-device |
1x1 | 1 | 1 | Einzelner Host |
2x2 | 4 | 1 | |||
2x4 | 8 | 1 | |||
TPU v4 | tpu-v4-podslice 2 |
2x2x1 | 4 | 1 | Einzelner Host |
2x2x2 | 8 | 2 | Mehrere Hosts | ||
2x2x4 | 16 | 4 | Mehrere Hosts | ||
2x4x4 | 32 | 8 | Mehrere Hosts | ||
4x4x4 | 64 | 16 | Mehrere Hosts | ||
{A}x{B}x{C} | A*B*C | (A*B*C/4)1 | Mehrere Hosts | ||
TPU v3 | tpu-v3-slice |
4x4 | 16 | 2 | Mehrere Hosts |
4x8 | 32 | 4 | Mehrere Hosts | ||
8x8 | 64 | 8 | Mehrere Hosts | ||
8x16 | 128 | 16 | Mehrere Hosts | ||
16x16 | 256 | 32 | Mehrere Hosts | ||
TPU v3 | tpu-v3-device |
2x2 | 4 | 1 | Einzelner Host |
-
Berechnet sich aus dem Topologieprodukt geteilt durch vier. ↩
Benutzerdefinierte Topologien für mehr als 64 Chips werden unterstützt. Dabei gelten folgende Bedingungen:
- Bei mehr als 64 Chips müssen
{A}
,{B}
und{C}
ein Vielfaches von 4 sein - Die größte Topologie ist
16x16x24
. - Die Werte müssen
{A}
≤{B}
≤{C}
sein, z. B.8x12x16
.
- Bei mehr als 64 Chips müssen
-
Benutzerdefinierte Topologien werden nicht unterstützt.
Nachdem Sie einen TPU-Typ und eine Topologie ausgewählt haben, geben Sie diese in Ihrem Arbeitslastmanifest an. Eine Anleitung finden Sie unter TPU-Arbeitslasten in GKE Autopilot bereitstellen.
Standard
TPU-Version | Maschinentyp | Topologie | Anzahl der TPU-Chips | Anzahl der VMs | Knotenpooltyp |
---|---|---|---|---|---|
TPU Trillium (v6e) | ct6e-standard-1t |
1x1 | 1 | 1 | Einzelner Host |
ct6e-standard-8t |
2x4 | 8 | 1 | Einzelner Host | |
ct6e-standard-4t |
2x2 | 4 | 1 | Einzelner Host | |
2x4 | 8 | 2 | Mehrere Hosts | ||
4x4 | 16 | 4 | Mehrere Hosts | ||
4x8 | 32 | 8 | Mehrere Hosts | ||
8x8 | 64 | 16 | Mehrere Hosts | ||
8x16 | 128 | 32 | Mehrere Hosts | ||
16x16 | 256 | 64 | Mehrere Hosts | ||
TPU v5p | ct5p-hightpu-4t |
2x2x1 | 4 | 1 | Einzelner Host |
2x2x2 | 8 | 2 | Mehrere Hosts | ||
2x2x4 | 16 | 4 | Mehrere Hosts | ||
2x4x4 | 32 | 8 | Mehrere Hosts | ||
{A}x{B}x{C} | A*B*C | (A*B*C/4)1 | Mehrere Hosts | ||
TPU v5e | ct5lp-hightpu-1t |
1x1 | 1 | 1 | Einzelner Host |
ct5lp-hightpu-4t |
2x2 | 4 | 1 | Einzelner Host | |
ct5lp-hightpu-8t |
2x4 | 8 | 1 | Einzelner Host | |
ct5lp-hightpu-4t |
2x4 | 8 | 2 | Mehrere Hosts | |
4x4 | 16 | 4 | Mehrere Hosts | ||
4x8 | 32 | 8 | Mehrere Hosts | ||
8x8 | 64 | 16 | Mehrere Hosts | ||
8x16 | 128 | 32 | Mehrere Hosts | ||
16x16 | 256 | 64 | Mehrere Hosts | ||
TPU v4 | ct4p-hightpu-4t |
2x2x1 | 4 | 1 | Einzelner Host |
2x2x2 | 8 | 2 | Mehrere Hosts | ||
2x2x4 | 16 | 4 | Mehrere Hosts | ||
2x4x4 | 32 | 8 | Mehrere Hosts | ||
{A}x{B}x{C} | A*B*C | (A*B*C/4)1 | Mehrere Hosts | ||
TPU v3 | ct3-hightpu-4t |
2x2 | 4 | 1 | Einzelner Host |
TPU v3 | ct3p-hightpu-4t |
4x4 | 16 | 4 | Mehrere Hosts |
4x8 | 32 | 8 | Mehrere Hosts | ||
8x8 | 64 | 16 | Mehrere Hosts | ||
8x16 | 128 | 32 | Mehrere Hosts | ||
16x16 | 256 | 64 | Mehrere Hosts | ||
16 x 32 | 512 | 128 | Mehrere Hosts | ||
32 × 32 | 1.024 | 256 | Mehrere Hosts |
-
Berechnet sich aus dem Topologieprodukt geteilt durch vier. ↩
Erweiterte Konfigurationen
In den folgenden Abschnitten werden Best Practices für die Planung bei erweiterten TPU-Konfigurationen beschrieben.
TPU-Reservierung
Beim Kauf einer Zusicherung sind TPU-Reservierungen verfügbar. Jede TPU-Reservierung kann mit GKE verwendet werden.
Verwenden Sie beim Erstellen eines TPU-Slice-Knotenpools die Flags --reservation
und --reservation-affinity=specific
, um eine reservierte TPU-Instanz aufzunehmen.
TPUs in GKE automatisch skalieren
GKE unterstützt Tensor Processing Units (TPUs), um ML-Arbeitslasten zu beschleunigen. Sowohl der TPU-Slice-Knotenpool mit einem einzelnen Host als auch der TPU-Slice-Knotenpool mit mehreren Hosts unterstützen Autoscaling und die automatische Bereitstellung.
Mit dem Flag --enable-autoprovisioning
in einem GKE-Cluster erstellt oder löscht GKE TPU-Slice-Knotenpools mit einem oder mehreren Hosts mit einer TPU-Version und Topologie, die die Anforderungen ausstehender Arbeitslasten erfüllt.
Wenn Sie --enable-autoscaling
verwenden, skaliert GKE den Knotenpool basierend auf seinem Typ so:
Einzelner Host TPU-Slice-Knotenpool: GKE fügt dem vorhandenen Knotenpool TPU-Knoten hinzu oder entfernt sie. Der Knotenpool kann eine beliebige Anzahl von TPU-Knoten zwischen null und der maximalen Größe des Knotenpools enthalten, wie durch --max-nodes und die --total-max-nodes-Flags bestimmt. Wenn der Knotenpool skaliert wird, haben alle TPU-Knoten im Knotenpool denselben Maschinentyp und dieselbe Topologie. Weitere Informationen zum Erstellen eines TPU-Slice-Knotenpools mit einem Host finden Sie unter Knotenpool erstellen.
TPU-Slice-Knotenpool mit mehreren Hosts: GKE skaliert den Knotenpool in kleinstmöglichen Schritten von null auf die Anzahl der Knoten, die für die TPU-Topologie erforderlich sind. Bei einem TPU-Knotenpool mit dem Maschinentyp
ct5lp-hightpu-4t
und der Topologie16x16
enthält der Knotenpool beispielsweise 64 Knoten. GKE Autoscaling sorgt dafür, dass dieser Knotenpool genau 0 oder 64 Knoten hat. Beim Herunterskalieren entfernt GKE alle geplanten Pods und leert den gesamten Knotenpool auf null. Weitere Informationen zum Erstellen eines TPU-Slice-Knotenpools mit mehreren Hosts finden Sie unter Knotenpool erstellen.
CPU für Standardcluster
Dieser Abschnitt gilt nicht für Autopilot-Cluster, da GKE jedes TPU-Slice auf einem eigenen Knoten platziert. Weitere Informationen finden Sie unter Funktionsweise von TPUs im Autopilot-Modus.
Für Standardcluster gelten die folgenden Best Practices für die Planung.
Sorgen Sie dafür, dass Ihr GKE-Pod die google.com/tpu
-Markierung tolerieren kann, um eine Nicht-TPU-Arbeitslast auf einer VM in einem TPU-Slice-Knoten zu planen. Wenn Sie die Arbeitslast für bestimmte Knoten bereitstellen möchten, verwenden Sie die Knotenauswahl.
Die Kubernetes-Ressourcenverwaltung und -Priorität behandelt VMs in TPUs so wie andere VM-Typen. Damit Pods, die TPU erfordern, planungs-Vorrang vor anderen Pods auf denselben Knoten haben, fordern Sie die maximale CPU- oder Arbeitsspeichermenge für diese TPU-Slices an. TPU-Slices mit niedriger Priorität sollten folgende Voraussetzungen erfüllen:
- Legen Sie niedrige CPU- und Speicheranforderungen fest, damit der Knoten genügend zuweisbare Ressourcen für die TPU-Arbeitslasten hat. Weitere Informationen finden Sie unter So wendet Kubernetes Ressourcenanfragen und -limits an.
- Legen Sie kein CPU-Limit (unbegrenzt) fest, damit die Pods Bursts verwenden können, um alle nicht verwendeten Zyklen zu nutzen.
- Legen Sie geeignete Arbeitsspeicherlimits fest, damit Pods ordnungsgemäß funktionieren, ohne dass ein Risiko von Beendigung des Knotendrucks besteht.
Wenn ein Kubernetes-Pod keine CPUs und keinen Arbeitsspeicher anfordert (selbst wenn er TPUs anfordert), betrachtet Kubernetes ihn als Best-Effort-Pod und es gibt keine Garantie dafür, dass CPU und Arbeitsspeicher benötigt werden. Nur Pods, die explizit CPU und Arbeitsspeicher anfordern, haben solche Garantien. Für eine spezifische Kubernetes-Planung konfigurieren Sie die Pod-Anforderungen mit einer expliziten CPU- und Arbeits-Speicher-anforderung. Weitere Informationen finden Sie unter Ressourcenverwaltung für Pods und Container.
Weitere Best Practices finden Sie unter Best Practices für Kubernetes: Ressourcenanfragen und ‑limits.
Unterbrechungen der Arbeitslast reduzieren
Wenn Sie TPUs zum Trainieren eines Modells für maschinelles Lernen verwenden und Ihre Arbeitslast unterbrochen wird, geht alle seit dem letzten Prüfpunkt ausgeführte Arbeit verloren. So verringern Sie die Wahrscheinlichkeit, dass Ihre Arbeitslast unterbrochen wird:
- Legen Sie eine höhere Priorität für diesen Job als für alle anderen Jobs fest: Wenn die Ressourcen knapp sind, vorzeitig beendet der GKE-Planer Jobs mit niedrigerer Priorität vorzeitig, um einen Job mit höherer Priorität zu planen. Darüber hinaus wird damit sichergestellt, dass Ihre Arbeitslast mit höherer Priorität alle erforderlichen Ressourcen erhält (bis zu den insgesamt im Cluster verfügbaren Ressourcen). Weitere Informationen finden Sie unter Pod-Priorität und vorzeitiges Beenden.
- Konfigurieren Sie einen Wartungsausschluss: Ein Wartungsausschluss ist ein sich nicht wiederholender Zeitraum, in dem keine automatische Wartung stattfinden darf. Weitere Informationen finden Sie unter Wartungsausschlüsse.
- Pods mit verlängerter Laufzeit in Autopilot verwenden: Verwenden Sie Pods mit verlängerter Laufzeit für einen Kulanzzeitraum von bis zu sieben Tagen, bevor GKE Ihre Pods für Herunterskalierungen oder Knotenupgrades beendet. “
- Sammlungsplanung in TPU Trillium verwenden: Mit Sammlungen können Sie angeben, dass ein TPU-Slice-Knotenpool Teil einer Bereitstellungsarbeitslast ist. Google Cloud Dadurch werden Unterbrechungen bei der Ausführung von Inferenzarbeitslasten begrenzt und optimiert. Weitere Informationen finden Sie unter Funktionsweise der Datenerhebung.
Diese Empfehlungen helfen dabei, Unterbrechungen zu minimieren, verhindern sie aber nicht. Beispielsweise ist das vorzeitige Beenden aufgrund eines Hardwarefehlers oder für die Defragmentierung möglich. Ebenso wird durch das Festlegen eines GKE-Wartungsausschlusses keine Compute Engine-Wartungsereignisse verhindert.
Speichern Sie Prüfpunkte häufig und fügen Sie Ihrem Trainings-Script Code hinzu, damit bei der Fortsetzung beim letzten Prüfpunkt begonnen wird.
Störungen aufgrund von Knotenwartungen verarbeiten
Die GKE-Knoten, auf denen die TPUs gehostet werden, unterliegen Wartungsereignissen oder anderen Störungen, die zum Herunterfahren des Knotens führen können. In GKE-Clustern auf deren Steuerungsebene, die Version 1.29.1-gke.1425000 oder höher ausgeführt wird, können Sie die Unterbrechung von Arbeitslasten reduzieren. Konfigurieren Sie dazu GKE so, dass Ihre Arbeitslasten ordnungsgemäß beendet werden.
Informationen zum Verstehen, Konfigurieren und Überwachen von Störungsereignissen auf GKE-Knoten mit KI-/ML-Arbeitslasten finden Sie unter GKE-Knotenunterbrechungen für GPUs und TPUs verwalten.
TPU-Auslastung maximieren
Um Ihre Investition in TPUs zu maximieren, planen Sie eine Mischung von Jobprioritäten und stellen Sie sie in eine Warteschlange, um die Betriebszeit Ihrer TPUs zu maximieren. Für die Planung und vorzeitige Beendigung auf Jobebene müssen Sie ein Add-on zu Kubernetes verwenden, das Jobs in Warteschlangen orchestriert.
Verwenden Sie Kueue, um Jobs in Warteschlangen zu orchestrieren.
Nächste Schritte
- Folgen Sie der Anleitung unter TPU-Arbeitslasten in GKE bereitstellen, um Cloud TPU mit GKE einzurichten.
- Best Practices für die Verwendung von Cloud TPU für Ihre Machine Learning-Aufgaben
- Umfangreiches maschinelles Lernen auf Cloud TPUs mit GKE erstellen
- Large Language Models mit KubeRay auf TPUs bereitstellen