TPU Flex-Start-VMs mit Compute Engine erstellen
TPU-Flex-Start-VMs, die auf dem Dynamic Workload Scheduler basieren, bieten eine flexible und kostengünstige Möglichkeit, bis zu 7 Tage lang auf TPU-Ressourcen für KI-Arbeitslasten zuzugreifen, ohne dass langfristige Reservierungen erforderlich sind. Wenn Sie TPU Flex-Start-VMs anfordern, verbleibt Ihre Anfrage in einer Warteschlange, bis Kapazität verfügbar ist. Nach der Bereitstellung werden die TPU-VMs für die von Ihnen angegebene Dauer ausgeführt.
TPU-Flex-Start-VMs eignen sich gut für schnelle Experimente, kleinere Tests, die dynamische Bereitstellung von TPUs für Inferenz-Workloads, Modellabstimmung und Workloads, die weniger als 7 Tage dauern. Weitere Informationen zu anderen Optionen der TPU-Nutzung finden Sie unter Cloud TPU-Nutzungsoptionen.
Sie können Ihre TPU-Ressourcen jederzeit löschen, um die Abrechnung zu beenden. Weitere Informationen zu TPU-Preisen finden Sie unter Cloud TPU-Preise.
Beschränkungen
Für TPU Flex-Start-VMs gelten die folgenden Beschränkungen:
- Sie können TPU Flex-Start-VMs für eine Dauer von bis zu 7 Tagen anfordern.
- Sie können TPU7x-, TPU v6e- und TPU v5p-Maschinentypen anfordern. Weitere Informationen zu den Regionen und Zonen, in denen diese Maschinentypen verfügbar sind, finden Sie unter TPU-Regionen und ‑Zonen.
Für MIGs mit TPUs gelten die folgenden Einschränkungen:
Lebenszyklusvorgänge: Sie können TPU-Instanzen nicht beenden, starten, fortsetzen oder anhalten. Wenn Sie Konfigurationen ändern möchten, die einen Neustart erfordern, oder wenn Sie keine Gebühren mehr zahlen möchten, müssen Sie die Instanzen löschen.
Zonenverteilung regionaler MIGs: Sie müssen die Zielverteilungsform auf
ANY_SINGLE_ZONEfestlegen.Konfigurationsaktualisierungen in einer MIG:
- Sie können eine verwaltete Instanzgruppe, die aufgrund der definierten Beschleunigertopologie einen TPU-Slice mit mehreren Hosts bildet, nicht aktualisieren.
- Sie können eine MIG, die TPU-Slices mit einem einzelnen Host bildet, mit den automatischen oder selektiven Methoden aktualisieren.
Die Updates für TPU-Slices mit einem einzelnen Host unterstützen jedoch die Aktion zum Neustarten (
RESTART) nicht. Wenn ein Neustart erforderlich ist und die umfassendste zulässige Aktion „Ersetzen“ (REPLACE) ist, wird die Instanz durch das Updater-Tool ersetzt. Andernfalls schlägt der Aktualisierungsversuch mit einem Fehler fehl.
Für eine MIG, die einen TPU-Slice mit mehreren Hosts bildet, gelten außerdem die folgenden Einschränkungen:
Richtlinie für die Zielgröße: Sie müssen den Modus der Richtlinie für die Zielgröße auf
BULKfestlegen. Nachdem Sie diesen Modus festgelegt haben, können Sie ihn nicht mehr ändern.Zielgröße: Im Bulk-Modus können Sie die Zielgröße entweder auf
0oder auf die Anzahl der Instanzen festlegen, die für die Beschleunigertopologie erforderlich sind.Arbeitslastrichtlinie: Sie müssen eine Arbeitslastrichtlinie angeben, in der die Beschleunigertopologie definiert ist. Nachdem Sie die Arbeitslastrichtlinie festgelegt haben, können Sie sie nicht mehr ändern oder aus der MIG entfernen.
Von MIG initiierte Reparaturen: Sie müssen von MIG initiierte Reparaturen deaktivieren, indem Sie das Feld
defaultActionOnFailureaufDO_NOTHINGsetzen. In dieser Konfiguration führt die MIG keine Aktionen für eine fehlgeschlagene Instanz aus. Compute Engine stellt die fehlerhafte Instanz automatisch wieder her, indem alle Instanzen im selben Slice auf einer fehlerfreien Kapazität neu gestartet werden.
Nicht unterstützte Funktionen: MIGs mit TPUs unterstützen die folgenden Funktionen nicht:
- Instanzflexibilität
- Anfragen zur Größenanpassung verwenden, um Ressourcen auf einmal zu erhalten
- Zustandsorientierte Konfiguration
- Für eine MIG, die einen TPU-Slice mit mehreren Hosts bildet, werden die folgenden Elemente ebenfalls nicht unterstützt:
Hinweis
Bevor Sie TPU Flex-Start-VMs anfordern, müssen Sie:
- die Google Cloud CLI installieren
- ein Projekt in Google Cloud erstellen
- Compute Engine API (
compute.googleapis.com) aktivieren - Prüfen Sie, ob Sie die erforderlichen Berechtigungen haben:
roles/compute.instanceAdmin.v1roles/iam.serviceAccountUser
Weitere Informationen finden Sie unter Google Cloud -Projekt für TPUs einrichten.
Prüfen Sie, ob Sie für die Verwendung von TPU Flex-Start-VMs genug auf Abruf verfügbares Kontingent haben. Wenn für Ihre Arbeitslast mehr Kerne erforderlich sind als in Ihrer aktuellen Zuweisung, können Sie eine Kontingenterhöhung beantragen. Weitere Informationen finden Sie unter Cloud TPU-Kontingente.
TPU Flex-Start-VMs mit MIGs erstellen
Wenn Sie TPU-VMs mit Flex-Start verwenden möchten, erstellen Sie eine verwaltete Instanzgruppe (MIG) mit einer bestimmten Instanzvorlagenkonfiguration.
Allgemeine Anleitungen zum Erstellen von Flex-Start-VMs finden Sie unter Flex-Start-VMs erstellen.
TPU Flex-Start-VMs mit einem Slice mit mehreren Hosts erstellen
Instanzvorlage erstellen
Erstellen Sie eine Instanzvorlage, in der das Bereitstellungsmodell FLEX_START und die von Ihnen ausgewählte Laufzeit angegeben sind.
gcloud
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--provisioning-model=FLEX_START \
--instance-termination-action=DELETE \
--max-run-duration=DURATION \
--region=REGION \
--maintenance-policy=TERMINATE
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"machineType": "MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
}
}
],
"scheduling": {
"onHostMaintenance": "TERMINATE",
"provisioningModel": "FLEX_START",
"instanceTerminationAction": "DELETE",
"maxRunDuration": {
"seconds": "DURATION"
}
},
"networkInterfaces": [
{
"network": "global/networks/default"
}
]
}
}' \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates"
Ersetzen Sie die folgenden Platzhalter:
- PROJECT_ID: Die ID Ihres Google Cloud -Projekts.
- INSTANCE_TEMPLATE_NAME: Der Name Ihrer Instanzvorlage.
- MACHINE_TYPE: Der Maschinentyp für die TPU-VM (z. B.
ct6e-standard-8t). - IMAGE_FAMILY: Die Betriebssystem-Image-Familie für die TPU-VM (z. B.
ubuntu-accelerator-2204-amd64-with-tpu-v6e) - IMAGE_PROJECT: Das Betriebssystem-Image-Projekt für die TPU-VM (z. B.
ubuntu-os-accelerator-images) - DURATION: Die maximale Ausführungsdauer.
Geben Sie für REST die Anzahl der Sekunden an (z. B.
3600für 1 Stunde oder604800für 7 Tage). - REGION: Die Region, in der die Instanzvorlage erstellt werden soll.
Arbeitslastrichtlinie erstellen
Mit dem folgenden Befehl wird eine Arbeitslastrichtlinie erstellt. Dies ist für Segmente mit nur einem Host optional.
gcloud
gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \
--type=high-throughput \
--accelerator-topology=TOPOLOGY \
--region=REGION
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"name": "WORKLOAD_POLICY_NAME",
"workloadPolicy": {
"type": "HIGH_THROUGHPUT",
"acceleratorTopology": "TOPOLOGY"
}
}' \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies"
Ersetzen Sie die folgenden Platzhalter:
- PROJECT_ID: Die ID Ihres Google Cloud -Projekts.
- WORKLOAD_POLICY_NAME: Der Name Ihrer Arbeitslastrichtlinie.
- TOPOLOGY: Die Topologie der TPU-VMs, z. B.
4x4x8. - REGION: Die Region, in der die Arbeitslastrichtlinie erstellt werden soll.
MIG erstellen
Erstellen Sie die MIG mit der Vorlage.
gcloud
gcloud compute instance-groups managed create MIG_NAME \
--zone=ZONE \
--template=INSTANCE_TEMPLATE_URL \
--size=SIZE \
--workload-policy=WORKLOAD_POLICY_URL \
--default-action-on-vm-failure=do-nothing \
--target-size-policy-mode=bulk
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"name": "MIG_NAME",
"targetSize": SIZE,
"targetSizePolicy": {
"mode": "BULK"
},
"instanceTemplate": "INSTANCE_TEMPLATE_URL",
"instanceLifecyclePolicy": {
"defaultActionOnFailure": "DO_NOTHING"
},
"resourcePolicies": {
"workloadPolicy": "WORKLOAD_POLICY_URL"
}
}' \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers"
Ersetzen Sie die folgenden Platzhalter:
- PROJECT_ID: Die ID Ihres Google Cloud -Projekts.
- MIG_NAME: Name der MIG.
- ZONE: Die Zone Ihrer MIG.
INSTANCE_TEMPLATE_URL: Die URL der Instanzvorlage, die Sie zum Erstellen von Instanzen in der MIG verwenden möchten. Die URL kann entweder die ID oder den Namen der Instanzvorlage enthalten. Geben Sie einen der folgenden Werte an:- Für eine regionale Instanzvorlage:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - Für eine globale Instanzvorlage:
INSTANCE_TEMPLATE_ID
- Für eine regionale Instanzvorlage:
- SIZE: Die Anzahl der zu erstellenden Instanzen.
- WORKLOAD_POLICY_URL: Die URL der Arbeitslastrichtlinie, die Sie zum Erstellen von Instanzen in der MIG verwenden möchten. Beispiel:
projects/PROJECT_ID/regions/WORKLOAD_POLICY_REGION/resourcePolicies/WORKLOAD_POLICY_NAME
TPU Flex-Start-VMs mit Single-Host-Slices erstellen
Instanzvorlage erstellen
Erstellen Sie eine Instanzvorlage, in der das Bereitstellungsmodell FLEX_START und die von Ihnen ausgewählte Laufzeit angegeben sind.
gcloud
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--provisioning-model=FLEX_START \
--instance-termination-action=DELETE \
--max-run-duration=DURATION \
--region=REGION \
--maintenance-policy=TERMINATE
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"machineType": "MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
}
}
],
"scheduling": {
"onHostMaintenance": "TERMINATE",
"provisioningModel": "FLEX_START",
"instanceTerminationAction": "DELETE",
"maxRunDuration": {
"seconds": "DURATION"
}
},
"networkInterfaces": [
{
"network": "global/networks/default"
}
]
}
}' \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates"
Ersetzen Sie die folgenden Platzhalter:
- PROJECT_ID: Die ID Ihres Google Cloud -Projekts.
- INSTANCE_TEMPLATE_NAME: Der Name Ihrer Instanzvorlage.
- MACHINE_TYPE: Der Maschinentyp für die TPU-VM (z. B.
ct6e-standard-8t). - IMAGE_FAMILY: Die Betriebssystem-Image-Familie für die TPU-VM (z. B.
ubuntu-accelerator-2204-amd64-with-tpu-v6e) - IMAGE_PROJECT: Das Betriebssystem-Image-Projekt für die TPU-VM, z. B.
ubuntu-os-accelerator-images - DURATION: Die maximale Ausführungsdauer.
Geben Sie für REST die Anzahl der Sekunden an (z. B.
3600für 1 Stunde oder604800für 7 Tage). - REGION: Die Region, in der die Instanzvorlage erstellt werden soll.
Arbeitslastrichtlinie erstellen
Mit dem folgenden Befehl wird eine Arbeitslastrichtlinie erstellt. Dies ist für Segmente mit nur einem Host optional.
gcloud
gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \
--type=high-throughput \
--region=REGION
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"name": "WORKLOAD_POLICY_NAME",
"workloadPolicy": {
"type": "HIGH_THROUGHPUT"
}
}' \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies"
Ersetzen Sie die folgenden Platzhalter:
- PROJECT_ID: Die ID Ihres Google Cloud -Projekts.
- WORKLOAD_POLICY_NAME: Ein Name für Ihre Arbeitslastrichtlinie.
- REGION: Die Region, in der die Arbeitslastrichtlinie erstellt werden soll.
MIG erstellen
Erstellen Sie die MIG mit der Vorlage.
gcloud
gcloud compute instance-groups managed create MIG_NAME \
--zone=ZONE \
--template=INSTANCE_TEMPLATE_URL \
--size=SIZE \
--workload-policy=WORKLOAD_POLICY_URL
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"name": "MIG_NAME",
"targetSize": SIZE,
"instanceTemplate": "INSTANCE_TEMPLATE_URL",
"resourcePolicies": {
"workloadPolicy": "WORKLOAD_POLICY_URL"
}
}' \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers"
Ersetzen Sie die folgenden Platzhalter:
- PROJECT_ID: Die ID Ihres Google Cloud -Projekts.
- MIG_NAME: Name der MIG.
- ZONE: Die Zone Ihrer MIG.
INSTANCE_TEMPLATE_URL: Die URL der Instanzvorlage, die Sie zum Erstellen von Instanzen in der MIG verwenden möchten. Die URL kann entweder die ID oder den Namen der Instanzvorlage enthalten. Geben Sie einen der folgenden Werte an:- Für eine regionale Instanzvorlage:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - Für eine globale Instanzvorlage:
INSTANCE_TEMPLATE_ID
- Für eine regionale Instanzvorlage:
- SIZE: Die Anzahl der zu erstellenden Instanzen.
- WORKLOAD_POLICY_URL: Die URL der Arbeitslastrichtlinie, die Sie zum Erstellen von Instanzen in der MIG verwenden möchten. Beispiel:
projects/PROJECT_ID/regions/WORKLOAD_POLICY_REGION/resourcePolicies/WORKLOAD_POLICY_NAME