TPU-VM-Instanz erstellen

In diesem Dokument wird beschrieben, wie Sie eine TPU-VM-Instanz erstellen. Eine TPU-VM wird auch als TPU-Slice mit einem Host bezeichnet.

Informationen zum Erstellen einer Gruppe von Slices mit einem Host finden Sie unter MIG mit TPU-Slices mit einem Host erstellen.

Hinweis

Vorbereitung

Bevor Sie eine TPU-Instanz erstellen, müssen Sie Folgendes tun:

  1. TPU-Version auswählen: Wählen Sie die TPU-Version aus, die für Ihre Arbeitslast geeignet ist. Eine Liste der TPU-Versionen nach Arbeitslasttyp finden Sie unter Empfohlene TPU-Versionen nach Arbeitslasttyp.

  2. TPU-Verfügbarkeit an Ihrem bevorzugten Standort prüfen: TPUs sind in bestimmten Google Cloud Regionen verfügbar. Wenn Sie eine TPU-Version verwenden möchten, muss sie in Ihrer bevorzugten Region verfügbar sein. Eine Liste der TPU-Standorte finden Sie unter TPU-Verfügbarkeit.

  3. Prüfen Sie, ob Ihr Projekt ein ausreichendes TPU-Kontingent hat: Wenn Sie eine TPU-Instanz mit On-Demand-, Flex-Start- oder Spot-VMs erstellen, muss in der gewünschten Region ein ausreichendes TPU-Kontingent verfügbar sein. Für das Erstellen einer TPU-Instanz, die eine TPU-Reservierung nutzt, ist kein TPU-Kontingent erforderlich, da das Kontingent beim Erstellen der Reservierung verwendet wird. Eine Liste der TPU-Kontingentnamen finden Sie unter TPU-Kontingent. Eine Anleitung zum Aufrufen des Kontingents finden Sie unter Kontingente ansehen und verwalten.

  4. TPU-Nutzungsoption auswählen: Wählen Sie eine Nutzungsoption aus, die am besten zu Ihrer Arbeitslast, ihrer Dauer und Ihren Kostenanforderungen passt. Eine Liste der Verfügbarkeit von Nutzungsoptionen nach TPU-Versionen finden Sie unter Cloud TPU-Nutzungsoptionen.

TPU-VM-Instanz erstellen

Die Parameter, die Sie zum Erstellen einer TPU-VM-Instanz verwenden, hängen von der Verbrauchsoption ab, die Sie verwenden: On-Demand, Spot, reservierungsgebunden oder Flex-Start. Weitere Informationen finden Sie unter VM-Bereitstellungsmodelle.

On-Demand-TPU-VM-Instanz erstellen

Verwenden Sie den Befehl gcloud compute instances create, um eine On-Demand-TPU-VM-Instanz zu erstellen:

gcloud

gcloud compute instances create TPU_NAME \
  --machine-type=MACHINE_TYPE \
  --image-family=IMAGE_FAMILY \
  --image-project=IMAGE_PROJECT \
  --zone=ZONE \
  --maintenance-policy=TERMINATE

REST

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "TPU_NAME",
    "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        }
      }
    ],
    "scheduling": {
      "onHostMaintenance": "TERMINATE"
    },
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ]
  }' \
  "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances"

Ersetzen Sie die folgenden Platzhalter:

  • PROJECT_ID: Die ID Ihres Google Cloud -Projekts.
  • TPU_NAME: Ein Name für Ihre TPU-VM.
  • 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. Wenn Sie eine bestimmte Betriebssystemversion installieren möchten, verwenden Sie das Flag --image. Weitere Informationen zu Betriebssystem-Images finden Sie unter Betriebssystem-Images.
  • IMAGE_PROJECT: Das Projekt, das das Betriebssystem-Image enthält. Bei TPU-Images ist dies ubuntu-os-accelerator-images.
  • ZONE: Die Zone für die TPU-VM (z. B. us-central1-b).

TPU-Spot-VM-Instanz erstellen

Verwenden Sie zum Erstellen einer TPU-Spot-VM-Instanz den Befehl gcloud compute instances create mit dem Flag --provisioning-model=SPOT:

gcloud

gcloud compute instances create TPU_NAME \
  --machine-type=MACHINE_TYPE \
  --image-family=IMAGE_FAMILY \
  --image-project=IMAGE_PROJECT \
  --zone=ZONE \
  --provisioning-model=SPOT \
  --instance-termination-action=DELETE \
  --maintenance-policy=TERMINATE

REST

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "TPU_NAME",
    "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        }
      }
    ],
    "scheduling": {
      "onHostMaintenance": "TERMINATE",
      "provisioningModel": "SPOT",
      "instanceTerminationAction": "DELETE"
    },
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ]
  }' \
  "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances"

Ersetzen Sie die folgenden Platzhalter:

  • PROJECT_ID: Die ID Ihres Google Cloud -Projekts.
  • TPU_NAME: Ein Name für Ihre TPU-VM.
  • 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. Wenn Sie eine bestimmte Betriebssystemversion installieren möchten, verwenden Sie das Flag --image. Weitere Informationen zu Betriebssystem-Images finden Sie unter Betriebssystem-Images.
  • IMAGE_PROJECT: Das Projekt, das das Betriebssystem-Image enthält. Bei TPU-Images ist dies ubuntu-os-accelerator-images.
  • ZONE: Die Zone für die TPU-VM (z. B. us-central1-b).

TPU-VM-Instanz mit einer Reservierung erstellen

Wenn Sie eine TPU-VM-Instanz mit der Verbrauchsoption reservation-bound erstellen möchten, verwenden Sie den Befehl gcloud compute instances create mit den Flags --reservation-affinity=specific und --reservation:

gcloud

gcloud compute instances create TPU_NAME \
  --machine-type=MACHINE_TYPE \
  --image-family=IMAGE_FAMILY \
  --image-project=IMAGE_PROJECT \
  --zone=ZONE \
  --provisioning-model=reservation-bound \
  --reservation-affinity=specific \
  --reservation=RESERVATION_NAME \
  --instance-termination-action=DELETE \
  --maintenance-policy=TERMINATE

REST

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "TPU_NAME",
    "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        }
      }
    ],
    "scheduling": {
      "onHostMaintenance": "TERMINATE",
      "provisioningModel": "RESERVATION_BOUND",
      "instanceTerminationAction": "DELETE"
    },
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "reservationAffinity": {
      "consumeReservationType": "SPECIFIC_RESERVATION",
      "key": "compute.googleapis.com/reservation-name",
      "values": [
        "RESERVATION_NAME"
      ]
    }
  }' \
  "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances"

Ersetzen Sie die folgenden Platzhalter:

  • PROJECT_ID: Die ID Ihres Google Cloud -Projekts.
  • TPU_NAME: Ein Name für Ihre TPU-VM.
  • 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. Wenn Sie eine bestimmte Betriebssystemversion installieren möchten, verwenden Sie das Flag --image. Weitere Informationen zu Betriebssystem-Images finden Sie unter Betriebssystem-Images.
  • IMAGE_PROJECT: Das Projekt, das das Betriebssystem-Image enthält. Bei TPU-Images ist dies ubuntu-os-accelerator-images.
  • ZONE: Die Zone für die TPU-VM (z. B. us-central1-b).
  • RESERVATION_NAME: Der Name Ihrer Reservierung.

TPU Flex-Start-VM erstellen

Verwenden Sie zum Erstellen einer TPU-VM-Instanz mit Flex-Start den Befehl gcloud compute instances create mit dem Flag --provisioning-model=FLEX_START:

gcloud

gcloud compute instances create TPU_NAME \
  --machine-type=MACHINE_TYPE \
  --image-family=IMAGE_FAMILY \
  --image-project=IMAGE_PROJECT \
  --zone=ZONE \
  --provisioning-model=FLEX_START \
  --max-run-duration=MAX_RUN_DURATION \
  --request-valid-for-duration=VALID_DURATION \
  --instance-termination-action=DELETE \
  --maintenance-policy=TERMINATE

REST

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "TPU_NAME",
    "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        }
      }
    ],
    "params": {
      "requestValidForDuration": {
        "seconds": VALID_DURATION
      }
    },
    "scheduling": {
      "onHostMaintenance": "TERMINATE",
      "provisioningModel": "FLEX_START",
      "instanceTerminationAction": "DELETE",
      "maxRunDuration": {
        "seconds": MAX_RUN_DURATION
      }
    },
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ]
  }' \
  "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances"

Ersetzen Sie die folgenden Platzhalter:

  • PROJECT_ID: Die ID Ihres Google Cloud -Projekts.
  • TPU_NAME: Ein Name für Ihre TPU-VM.
  • 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. Wenn Sie eine bestimmte Betriebssystemversion installieren möchten, verwenden Sie das Flag --image. Weitere Informationen zu Betriebssystem-Images finden Sie unter Betriebssystem-Images.
  • IMAGE_PROJECT: Das Projekt, das das Betriebssystem-Image enthält. Bei TPU-Images ist dies ubuntu-os-accelerator-images.
  • ZONE: Die Zone für die TPU-VM (z. B. us-central1-b).
  • MAX_RUN_DURATION: Die maximale Ausführungsdauer für die TPU-VM (z. B. 6h). Geben Sie für REST die Dauer in Sekunden an (z. B. 21600 für 6 Stunden).
  • VALID_DURATION: Die maximale Dauer, für die die Anfrage gültig ist. Geben Sie für REST die Anzahl der Sekunden an (z. B. 3600 für 1 Stunde).

Weitere Informationen zum Erstellen von Compute Engine-Instanzen finden Sie unter Compute Engine-Instanz erstellen und starten.

Beschrä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.

  • VM-Details aktualisieren: Sie können die Attribute aktualisieren, für die nur eine Aktualisierung (REFRESH) erforderlich ist. Wenn für eine Konfiguration ein Neustart erforderlich ist (RESTART), müssen Sie die Instanz neu erstellen.

Nächste Schritte