Demander des Cloud TPU avec Flex-start

Le démarrage flexible pour Cloud TPU, optimisé par le programmeur de charge de travail dynamique, offre un moyen flexible et économique d'accéder aux ressources TPU pour les charges de travail d'IA. Le démarrage flexible vous permet de provisionner dynamiquement des TPU selon vos besoins, pendant sept jours maximum, sans avoir à effectuer de réservations à long terme ni à gérer des quotas complexes. Avec le démarrage flexible, vous envoyez une demande de provisionnement de TPU qui persiste jusqu'à ce que de la capacité devienne disponible. Une fois disponible, le provisionnement à heure de début flexible permet aux VM TPU de s'exécuter pendant la durée que vous avez spécifiée dans votre demande.

Le démarrage flexible est idéal pour les tests rapides, les tests à petite échelle, le provisionnement dynamique de TPU pour les charges de travail d'inférence, le réglage précis des modèles et les exécutions de charges de travail qui durent moins de sept jours. Pour en savoir plus sur les autres options de consommation de TPU, consultez Options de consommation de Cloud TPU.

Vous pouvez supprimer vos ressources TPU à tout moment pour arrêter la facturation. Pour en savoir plus sur la tarification des TPU, consultez Tarifs de Cloud TPU.

Limites

Les Cloud TPU à démarrage flexible présentent les limites suivantes :

  • Vous pouvez demander des ressources à heure de début flexible pour une durée maximale de sept jours.
  • Le démarrage flexible est compatible avec les versions et les zones Cloud TPU suivantes :
  • Vous devez utiliser l'API de ressources en file d'attente pour utiliser le démarrage flexible avec Cloud TPU.

Avant de commencer

Avant de demander des TPU à démarrage flexible, vous devez :

  • Installer Google Cloud CLI
  • Créer un projet Google Cloud
  • Activer l'API Cloud TPU

Pour en savoir plus, consultez Configurer l'environnement Cloud TPU.

Vous devez également vous assurer de disposer d'un quota suffisant d'instances préemptibles pour utiliser le démarrage flexible. Si vous avez besoin de plus de cœurs TPU que le quota par défaut, vous devez demander une augmentation de votre quota. Pour en savoir plus sur les valeurs par défaut et sur la demande de quota supplémentaire, consultez Quotas Cloud TPU.

Demander des TPU Flex-start

Le démarrage flexible utilise l'API de ressources TPU en file d'attente pour demander des ressources TPU en file d'attente. Lorsque la ressource demandée devient disponible, elle est attribuée à votre projet Google Cloud pour votre usage immédiat et exclusif. Une fois la durée d'exécution demandée écoulée, les VM TPU sont supprimées et la ressource en file d'attente passe à l'état SUSPENDED. Pour en savoir plus sur les ressources mises en file d'attente, consultez Gérer les ressources mises en file d'attente.

Pour demander des TPU à démarrage flexible, utilisez la commande gcloud alpha compute tpus queued-resources create avec l'indicateur --provisioning-model défini sur flex-start et l'indicateur --max-run-duration défini sur la durée pendant laquelle vous souhaitez que vos TPU s'exécutent.

gcloud alpha compute tpus queued-resources create QUEUED_RESOURCE_ID \
    --zone=ZONE \
    --accelerator-type=ACCELERATOR_TYPE \
    --runtime-version=RUNTIME_VERSION \
    --node-id=NODE_ID \
    --provisioning-model=flex-start \
    --max-run-duration=RUN_DURATION

Remplacez les espaces réservés suivants :

  • QUEUED_RESOURCE_ID : ID attribué par l'utilisateur pour la demande de ressource mise en file d'attente.
  • ZONE : zone dans laquelle créer la VM TPU.
  • ACCELERATOR_TYPE : spécifie la version et la taille du Cloud TPU à créer. Pour en savoir plus sur les types d'accélérateurs compatibles avec chaque version de TPU, consultez Versions de TPU.
  • RUNTIME_VERSION : version du logiciel Cloud TPU.
  • NODE_ID : ID attribué par l'utilisateur à la TPU, créé lorsque la requête de ressource mise en file d'attente est allouée.
  • RUN_DURATION : durée d'exécution des TPU. Formatez la durée en nombre de jours, d'heures, de minutes et de secondes, suivis respectivement de d, h, m et s. Par exemple, spécifiez 72h pour une durée de 72 heures ou 1d2h3m4s pour une durée d'un jour, deux heures, trois minutes et quatre secondes. La valeur maximale est de sept jours.

Vous pouvez personnaliser davantage votre demande de ressources en file d'attente pour qu'elle s'exécute à des heures spécifiques à l'aide d'indicateurs supplémentaires :

  • --valid-after-duration : durée avant laquelle le TPU ne doit pas être provisionné.
  • --valid-after-time : heure avant laquelle le TPU ne doit pas être provisionné.
  • --valid-until-duration : durée de validité de la demande. Si la demande n'a pas été traitée dans ce délai, elle expire et passe à l'état FAILED.
  • --valid-until-time : durée de validité de la demande. Si la demande n'a pas été traitée d'ici là, elle expire et passe à l'état FAILED.

Pour en savoir plus sur les options facultatives, consultez la documentation de gcloud alpha compute tpus queued-resources create.

Obtenir l'état d'une demande de démarrage flexible

Pour surveiller l'état de votre demande de démarrage flexible, utilisez l'API des ressources en file d'attente pour obtenir l'état de la demande de ressources en file d'attente à l'aide de la commande gcloud alpha compute tpus queued-resources describe :

gcloud alpha compute tpus queued-resources describe QUEUED_RESOURCE_ID \
    --zone ZONE

Une ressource mise en file d'attente peut avoir l'un des états suivants :

  • WAITING_FOR_RESOURCES : la demande a passé la validation initiale et a été ajoutée à la file d'attente.
  • PROVISIONING : la requête a été sélectionnée dans la file d'attente et les VM TPU sont en cours de création.
  • ACTIVE : la requête a été traitée et les VM TPU sont prêtes.
  • FAILED : la demande n'a pas pu être traitée. Utilisez la commande describe pour en savoir plus.
  • SUSPENDING : les ressources associées à la demande sont en cours de suppression.
  • SUSPENDED : les ressources associées à la requête ont été supprimées.

Pour en savoir plus, consultez Récupérer des informations sur l'état et le diagnostic d'une demande de ressource mise en file d'attente.

Surveiller la durée d'exécution des TPU à démarrage flexible

Vous pouvez surveiller la durée d'exécution des TPU à démarrage flexible en vérifiant l'horodatage de leur arrêt :

  1. Obtenez les détails de votre demande de ressource en file d'attente.
  2. Choisissez l'une des options suivantes selon que vos TPU ont été créés ou non :

    • Si la ressource en file d'attente attend des ressources : dans le résultat, consultez le champ maxRunDuration. Ce champ indique la durée d'exécution des TPU une fois qu'ils sont créés.

    • Si les TPU associés à la ressource en file d'attente ont été créés : dans le résultat, consultez le champ terminationTimestamp listé pour chaque nœud de la ressource en file d'attente. Ce champ indique la date d'arrêt du TPU.

Supprimer une ressource en file d'attente

Vous pouvez supprimer une demande de ressource en file d'attente et les TPU associés à la demande en supprimant la demande de ressource en file d'attente et en transmettant l'indicateur --force à la commande queued-resources delete :

gcloud alpha compute tpus queued-resources delete QUEUED_RESOURCE_ID \
    --force

Si vous supprimez le TPU directement à l'aide de la commande gcloud compute tpus tpu-vm delete, vous devez également supprimer la ressource mise en file d'attente, comme indiqué dans l'exemple suivant. Lorsque vous supprimez le TPU, la demande de ressource en file d'attente passe à l'état SUSPENDED, après quoi vous pouvez la supprimer.

Pour supprimer une TPU, utilisez la commande gcloud compute tpus tpu-vm delete :

gcloud compute tpus tpu-vm delete NODE_ID \
    --zone ZONE

Ensuite, pour supprimer la ressource mise en file d'attente, utilisez la commande gcloud alpha compute tpus queued-resources delete :

gcloud alpha compute tpus queued-resources delete QUEUED_RESOURCE_ID \
    --zone ZONE

Pour en savoir plus, consultez Supprimer une demande de ressource mise en file d'attente.