TPU Flex-Start-VMs mit der 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, bleibt Ihre Anfrage in einer Warteschlange, bis Kapazitäten verfügbar sind. 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 die folgenden Cloud TPU-Versionen und ‑Zonen anfordern:
Für MIGs mit TPUs gelten die folgenden Einschränkungen:
Lebenszyklusvorgänge: Sie können TPU Instanzen nicht beenden, starten, fortsetzen oder aussetzen. Wenn Sie Konfigurationen ändern möchten, für die ein Neustart erforderlich ist, 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 MIG, die ein TPU-Slice mit mehreren Hosts bildet, aufgrund der definierten Beschleunigertopologie nicht aktualisieren.
- Sie können eine MIG, die TPU-Slices mit einem einzelnen Host bildet, mit den
automatischen oder selektiven Methoden aktualisieren.
Die Aktualisierungen für TPU-Slices mit einem einzelnen Host unterstützen jedoch die Aktion „Neustart“ (
RESTART) nicht. Wenn ein Neustart erforderlich ist und die umfangreichste zulässige Aktion „Ersetzen“ (REPLACE) ist, ersetzt der Updater die Instanz. Andernfalls schlägt der Aktualisierungsversuch mit einem Fehler fehl.
Für eine MIG, die ein TPU-Slice mit mehreren Hosts bildet, gelten außerdem die folgenden Einschränkungen:
Richtlinie für 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 die Anzahl der Instanzen festlegen, die zum Bilden der 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.
Nicht unterstützte Funktionen: MIGs mit TPUs unterstützen die folgenden Funktionen nicht:
- Instanzflexibilität
- Anfragen zur Größenanpassung um Ressourcen auf einmal zu erhalten
- Zustandsorientierte Konfiguration
- Für eine MIG, die ein TPU-Slice mit mehreren Hosts bildet, werden außerdem die folgenden Funktionen nicht unterstützt:
Hinweis
Bevor Sie TPU Flex-Start-VMs anfordern, müssen Sie:
- die Google Cloud CLI installieren
- ein Projekt Google Cloud erstellen
- die Compute Engine API (
compute.googleapis.com) aktivieren - prüfen, ob Sie die erforderlichen Berechtigungen haben:
roles/compute.instanceAdmin.v1roles/iam.serviceAccountUser
Weitere Informationen finden Sie unter Projekt für TPUs einrichten. Google Cloud
Prüfen Sie, ob Sie für die Verwendung von TPU Flex-Start-VMs genug auf Abruf verfügbares Kontingent haben. Wenn Ihre Arbeitslast mehr Kerne erfordert als Ihre aktuelle Zuteilung, können Sie eine Kontingenterhöhung anfordern. Weitere Informationen finden Sie unter Cloud TPU-Kontingente.
TPU Flex-Start-VMs mit MIGs erstellen
Wenn Sie TPU Flex-Start-VMs 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 gewählte Ausführungsdauer 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-Imagefamilie 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 eine Anzahl von 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 Slices mit einem einzelnen 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: Der Name Ihrer 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 Slices mit einem einzelnen Host erstellen
Instanzvorlage erstellen
Erstellen Sie eine Instanzvorlage, in der das Bereitstellungsmodell FLEX_START und die von Ihnen gewählte Ausführungsdauer 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-Imagefamilie 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 (zum
Beispiel:
ubuntu-os-accelerator-images) - DURATION: Die maximale Ausführungsdauer.
Geben Sie für REST eine Anzahl von 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 Slices mit einem einzelnen 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: Der Name Ihrer 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.