Créer un MIG avec des tranches TPU à hôte unique

Ce document explique comment créer un groupe d'instances géré (MIG) qui forme des tranches TPU à hôte unique. Une tranche TPU à hôte unique correspond à une instance de machine virtuelle (VM) TPU.

Vous pouvez également créer une tranche TPU à hôte unique en tant qu'instance TPU autonome. Pour en savoir plus, consultez Créer une instance de VM TPU.

Avant de commencer

  • Consultez les limites liées à la création de MIG avec des instances TPU.
  • Si ce n'est pas déjà fait, configurez l'authentification. L'authentification permet de valider votre identité pour accéder aux Google Cloud services et aux API. 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 :
    1. Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisezla 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.

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

Prérequis

Avant de créer une tranche TPU à hôte unique, vous devez procéder comme suit :

  1. Choisir 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. Valider la disponibilité des TPU dans l'emplacement de votre choix : les TPU sont disponibles dans des régions spécifiques Google Cloud . 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 de TPU, consultez Disponibilité des TPU.

  3. Vérifier que votre projet dispose d'un quota de TPU suffisant : si vous créez une tranche TPU à hôte unique avec des VM à la demande ou Spot, vous devez disposer d' un quota de TPU suffisant dans la région que vous souhaitez utiliser. La création d'une tranche TPU à hôte unique qui consomme une réservation TPU ne nécessite aucun quota de 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 le quota, consultez Afficher et gérer les quotas.

  4. Choisir une option de consommation de TPU : sélectionnez une 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.

  5. Choisir une topologie : sélectionnez une topologie compatible avec la version de TPU sélectionnée. Pour obtenir la liste des topologies disponibles pour chaque version de TPU, consultez Topologie des TPU.

Créer un MIG avec plusieurs tranches TPU à hôte unique

Pour créer plusieurs VM TPU indépendantes dans un MIG :

  1. Créez un modèle d'instance.
  2. Créez le MIG.

Créer un modèle d'instance

Les configurations de modèle d'instance varient en fonction de l'option de consommation que vous utilisez : à la demande, Spot, réservations ou démarrage flexible. Pour en savoir plus sur les options de consommation, consultez À propos des modèles de provisionnement de VM .

Créer un modèle d'instance pour une VM TPU à la demande

La commande suivante crée un modèle d'instance qui utilise l'option de consommation à la demande :

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=TERMINATE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT

Remplacez les espaces réservés suivants :

Créer un modèle d'instance pour une VM TPU Spot

La commande suivante crée un modèle d'instance qui utilise l'option de consommation Spot :

 gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=TERMINATE \
    --instance-termination-action=STOP \
    --provisioning-model=SPOT \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT

Remplacez les espaces réservés suivants :

Créer un modèle d'instance pour une VM TPU liée à une réservation

La commande suivante crée un modèle d'instance qui utilise l'option de consommation liée à une réservation :

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

Remplacez les espaces réservés suivants :

  • INSTANCE_TEMPLATE_NAME: nom de votre modèle d'instance.
  • MACHINE_TYPE : type de machine pour la VM TPU (par exemple, ct6e-standard-8t).
  • RESERVATION_NAME: nom d'une réservation spécifique que vous souhaitez consommer.
  • IMAGE_FAMILY : famille d'images d'OS pour la VM TPU. Si vous souhaitez installer une version d'OS spécifique, utilisez l'option --image. Pour en savoir plus sur les images d'OS, consultez Images d'OS.
  • IMAGE_PROJECT : projet contenant l'image d'OS. Pour les images TPU, il s'agit de ubuntu-os-accelerator-images.

Créer un modèle d'instance pour une VM TPU à démarrage flexible

La commande suivante crée un modèle d'instance qui utilise l'option de consommation démarrage flexible :

 gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=TERMINATE \
    --instance-termination-action=DELETE \
    --provisioning-model=FLEX_START \
    --max-run-duration=DURATION \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT

Remplacez les espaces réservés suivants :

  • INSTANCE_TEMPLATE_NAME: nom de votre modèle d'instance.
  • MACHINE_TYPE : type de machine pour la VM TPU (par exemple, ct6e-standard-8t).
  • DURATION: durée d'exécution maximale de la VM TPU (par exemple, 1h).
  • IMAGE_FAMILY : famille d'images d'OS pour la VM TPU. Si vous souhaitez installer une version d'OS spécifique, utilisez l'option --image. Pour en savoir plus sur les images d'OS, consultez Images d'OS.
  • IMAGE_PROJECT : projet contenant l'image d'OS. Pour les images TPU, il s'agit de ubuntu-os-accelerator-images.

Créer un MIG

Créez un MIG zonal ou régional à l'aide de la gcloud compute instance-groups managed create commande comme suit :

  • Pour créer un MIG zonal contenant une tranche TPU à hôte unique, utilisez la commande suivante :

    gcloud compute instance-groups managed create MIG_NAME \
        --size=MIG_SIZE \
        --template=INSTANCE_TEMPLATE_URL \
        --zone=ZONE
    
  • Pour créer un MIG régional contenant une tranche TPU à hôte unique, utilisez la commande suivante :

    gcloud compute instance-groups managed create MIG_NAME \
        --size=MIG_SIZE \
        --template=INSTANCE_TEMPLATE_URL \
        --region=REGION \
        --target-distribution-shape=ANY_SINGLE_ZONE \
        --instance-redistribution-type=none
    

Remplacez les espaces réservés suivants :

Créer des VM avec des noms personnalisés dans un MIG

Vous pouvez créer des VM dans un MIG en spécifiant des noms personnalisés pour chaque VM. Cela est utile pour le débogage et pour s'assurer que les instances sont créées dans un ordre spécifique.

gcloud

Créez une VM avec un nom personnalisé à l'aide de la create-instance commande et spécifiez l'--instance option. Pour créer plusieurs VM, répétez la commande pour chaque VM. Sinon, utilisez la méthode de l'API REST pour spécifier plusieurs VM dans une seule requête.

  • Pour un MIG zonal, exécutez la commande suivante :

    gcloud compute instance-groups managed create-instance MIG_NAME \
        --zone=ZONE \
        --instance=INSTANCE_NAME
    
  • Pour un MIG régional, exécutez la commande suivante :

    gcloud compute instance-groups managed create-instance MIG_NAME \
        --region=REGION \
        --instance=INSTANCE_NAME
    

Remplacez les espaces réservés suivants :

  • MIG_NAME : nom de votre MIG.
  • ZONE : la zone du MIG.
  • REGION : région du MIG.
  • INSTANCE_NAME: nom de la VM à ajouter au MIG spécifié.

REST

Créez des VM avec des noms personnalisés à l'aide de l'une des méthodes de l'API REST suivantes :

  • Pour un MIG zonal, utilisez le instanceGroupManagers.createInstances.

     POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/createInstances
     {
       "instances": [
         {
           "name": "INSTANCE_NAME_1"
         },
         {
           "name": "INSTANCE_NAME_2"
         },
         ...
       ]
     }
     

  • Pour un MIG régional, utilisez le regionInstanceGroupManagers.createInstances.

     POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/createInstances
     {
       "instances": [
         {
           "name": "INSTANCE_NAME_1"
         },
         {
           "name": "INSTANCE_NAME_2"
         },
         ...
       ]
     }
     

Remplacez les espaces réservés suivants :

  • PROJECT_ID : ID du projet dans lequel se trouve le MIG.
  • ZONE : la zone du MIG.
  • REGION : région du MIG.
  • INSTANCE_NAME_1,2,.. : noms des VM à ajouter au MIG spécifié.

Étape suivante