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 Region, die Sie verwenden möchten, 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 wurde. Eine Liste der TPU-Kontingentnamen finden Sie unter TPU-Kontingent. Eine Anleitung zum Aufrufen des Kontingents finden Sie unter Kontingente aufrufen 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 von Ihnen verwendeten Verbrauchsoption ab: On-Demand, Spot, reservierungsgebunden oder Flex-Start. Weitere Informationen finden Sie unter Bereitstellungsmodelle für VMs.

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. Für 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. Für 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. Für 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 der spezifischen Reservierung, die genutzt werden soll. Bei Reservierungen im Modus „Alle Kapazitäten“ können Sie einen Block oder Unterblock als Ziel festlegen, indem Sie die URL für Reservierungen so angeben:

    • Block angeben:

      RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
      
    • Geben Sie einen Unterblock an:

      RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME/reservationSubBlocks/RESERVATION_SUBBLOCK_NAME
      

TPU Flex-Start-VM erstellen

Verwenden Sie den Befehl gcloud compute instances create mit dem Flag --provisioning-model=FLEX_START, um eine TPU-VM-Instanz mit Flex-Start zu erstellen:

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. Für 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, für die ein Neustart erforderlich ist, 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 (RESTART) erforderlich ist, müssen Sie die Instanz neu erstellen.

  • Automatischer Neustart: Im Modus „All Capacity“ darf der automatische Neustart nicht deaktiviert werden, indem das Feld scheduling.automaticRestart auf false gesetzt wird.

Nächste Schritte