Créer une instance de VM TPU

Ce document explique comment créer une instance de machine virtuelle (VM) TPU. Une VM TPU est également appelée tranche de TPU à hôte unique.

Pour créer un groupe de tranches à hôte unique, consultez Créer un MIG avec des tranches TPU à hôte unique.

Avant de commencer

  • Si ce n'est pas déjà fait, configurez l'authentification. L'authentification permet de valider votre identité pour accéder aux services et aux API Google Cloud . Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine en sélectionnant l'une des options suivantes :

    Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :

    gcloud

    1. Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisez-la en exécutant la commande suivante :

      gcloud init

      Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

  • Définissez une région et une zone par défaut.
  • REST

    Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.

      Installez la Google Cloud CLI.

      Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

    Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud .

Prérequis

Avant de créer une instance TPU, vous devez effectuer les opérations suivantes :

  1. Choisissez la version de TPU : sélectionnez la version de TPU adaptée à votre charge de travail. Pour obtenir la liste des versions de TPU par type de charge de travail, consultez Versions de TPU recommandées par type de charge de travail.

  2. Vérifiez la disponibilité des TPU dans la région de votre choix : les TPU sont disponibles dans des régions Google Cloud spécifiques. Pour utiliser une version de TPU, assurez-vous qu'elle est disponible dans la région de votre choix. Pour obtenir la liste des emplacements des TPU, consultez Disponibilité des TPU.

  3. Assurez-vous que votre projet dispose d'un quota de TPU suffisant : si vous créez une instance TPU avec des VM à la demande, à démarrage flexible ou Spot, vous devez disposer d'un quota de TPU suffisant dans la région que vous souhaitez utiliser. La création d'une instance TPU qui consomme une réservation TPU ne nécessite aucun quota TPU, car le quota est utilisé lors de la création de la réservation. Pour obtenir la liste des noms de quotas de TPU, consultez Quotas de TPU. Pour savoir comment afficher les quotas, consultez Afficher et gérer les quotas.

  4. Choisissez une option de consommation de TPU : sélectionnez l'option de consommation qui correspond le mieux à votre charge de travail, à sa durée et à vos besoins en termes de coûts. Pour obtenir la liste des options de consommation disponibles par version de TPU, consultez Options de consommation de TPU.

Créer une instance de VM TPU

Les paramètres que vous utilisez pour créer une instance de VM TPU dépendent de l'option de consommation que vous utilisez : à la demande, Spot, liée à une réservation ou à démarrage flexible. Pour en savoir plus, consultez À propos des modèles de provisionnement de VM.

Créer une instance de VM TPU à la demande

Pour créer une instance de VM TPU à la demande, utilisez la commande gcloud compute instances create :

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"

Remplacez les espaces réservés suivants :

  • PROJECT_ID : ID de votre projet Google Cloud .
  • TPU_NAME : nom de votre VM TPU.
  • MACHINE_TYPE : type de machine pour la VM TPU (par exemple, ct6e-standard-8t).
  • IMAGE_FAMILY : famille d'images d'OS pour la VM TPU. Si vous souhaitez installer une version spécifique de l'OS, utilisez l'option --image. Pour en savoir plus sur les images d'OS, consultez Images d'OS.
  • IMAGE_PROJECT : projet contenant l'image de l'OS. Pour les images TPU, il s'agit de ubuntu-os-accelerator-images.
  • ZONE : zone de la VM TPU (par exemple, us-central1-b).

Créer une instance de VM Spot TPU

Pour créer une instance de VM Spot TPU, utilisez la commande gcloud compute instances create avec l'indicateur --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"

Remplacez les espaces réservés suivants :

  • PROJECT_ID : ID de votre projet Google Cloud .
  • TPU_NAME : nom de votre VM TPU.
  • MACHINE_TYPE : type de machine pour la VM TPU (par exemple, ct6e-standard-8t).
  • IMAGE_FAMILY : famille d'images d'OS pour la VM TPU. Si vous souhaitez installer une version spécifique de l'OS, utilisez l'option --image. Pour en savoir plus sur les images d'OS, consultez Images d'OS.
  • IMAGE_PROJECT : projet contenant l'image de l'OS. Pour les images TPU, il s'agit de ubuntu-os-accelerator-images.
  • ZONE : zone de la VM TPU (par exemple, us-central1-b).

Créer une instance de VM TPU à l'aide d'une réservation

Pour créer une instance de VM TPU à l'aide de l'option de consommation liée à une réservation, utilisez la commande gcloud compute instances create avec les indicateurs --reservation-affinity=specific et --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"

Remplacez les espaces réservés suivants :

  • PROJECT_ID : ID de votre projet Google Cloud .
  • TPU_NAME : nom de votre VM TPU.
  • MACHINE_TYPE : type de machine pour la VM TPU (par exemple, ct6e-standard-8t).
  • IMAGE_FAMILY : famille d'images d'OS pour la VM TPU. Si vous souhaitez installer une version spécifique de l'OS, utilisez l'option --image. Pour en savoir plus sur les images d'OS, consultez Images d'OS.
  • IMAGE_PROJECT : projet contenant l'image de l'OS. Pour les images TPU, il s'agit de ubuntu-os-accelerator-images.
  • ZONE : zone de la VM TPU (par exemple, us-central1-b).
  • RESERVATION_NAME : nom de votre réservation.

Créer une VM TPU à démarrage flexible

Pour créer une instance de VM TPU à démarrage flexible, utilisez la commande gcloud compute instances create avec l'option --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"

Remplacez les espaces réservés suivants :

  • PROJECT_ID : ID de votre projet Google Cloud .
  • TPU_NAME : nom de votre VM TPU.
  • MACHINE_TYPE : type de machine pour la VM TPU (par exemple, ct6e-standard-8t).
  • IMAGE_FAMILY : famille d'images d'OS pour la VM TPU. Si vous souhaitez installer une version spécifique de l'OS, utilisez l'option --image. Pour en savoir plus sur les images d'OS, consultez Images d'OS.
  • IMAGE_PROJECT : projet contenant l'image de l'OS. Pour les images TPU, il s'agit de ubuntu-os-accelerator-images.
  • ZONE : zone de la VM TPU (par exemple, us-central1-b).
  • MAX_RUN_DURATION : durée d'exécution maximale de la VM TPU (par exemple, 6h). Pour REST, spécifiez cette valeur en nombre de secondes (par exemple, 21600 pour six heures).
  • VALID_DURATION : durée maximale de validité de la requête. Pour REST, spécifiez cette valeur en nombre de secondes (par exemple, 3600 pour une heure).

Pour en savoir plus sur la création d'instances Compute Engine, consultez Créer et démarrer une instance Compute Engine.

Limites

  • Opérations de cycle de vie : vous ne pouvez pas arrêter, démarrer, reprendre ni suspendre les instances de TPU. Pour modifier les configurations qui nécessitent un redémarrage ou pour ne plus être facturé, vous devez supprimer les instances.

  • Mettre à jour les détails d'une VM : vous pouvez mettre à jour les propriétés qui ne nécessitent qu'une action d'actualisation (REFRESH). Si une configuration nécessite un redémarrage (RESTART), vous devez recréer l'instance.

Étapes suivantes