Gérer les ressources TPU
Cette page explique comment créer, répertorier, arrêter, démarrer, supprimer et se connecter aux TPU Cloud à l'aide de l'API Create Node. L'API Create Node est appelée lorsque vous exécutez la commande gcloud compute tpus tpu-vm create
à l'aide de Google Cloud CLI et lorsque vous créez un TPU à l'aide de la console Google Cloud. Lorsque vous utilisez l'API CreateNode, votre requête est traitée immédiatement. Si la capacité est insuffisante pour traiter votre requête, celle-ci échouera.
Il est recommandé de créer des TPU à l'aide de ressources mises en file d'attente plutôt que de l'API Create Node. Lorsque vous demandez des ressources en mode file d'attente, la demande est ajoutée à une file d'attente gérée par le service Cloud TPU. Lorsque la ressource demandée est disponible, elle est attribuée à votre projet Google Cloud pour votre utilisation exclusive et immédiate. Pour en savoir plus, consultez Gérer les ressources en file d'attente.
Lorsque vous utilisez Multislice, vous devez utiliser des ressources mises en file d'attente. Pour en savoir plus, consultez la section Présentation de la fonctionnalité Multislice.
Si vous souhaitez utiliser Google Kubernetes Engine (GKE) pour gérer les ressources TPU, vous devez d'abord créer un cluster GKE. Vous ajoutez ensuite des pools de nœuds contenant des tranches de TPU à votre cluster. Pour en savoir plus, consultez la section À propos des TPU dans GKE.
Prérequis
Avant d'exécuter ces procédures, vous devez installer Google Cloud CLI, créer un projet Google Cloud et activer l'API Cloud TPU. Pour obtenir des instructions, consultez la page Configurer l'environnement Cloud TPU.
Si vous utilisez la Google Cloud CLI, vous pouvez exécuter des commandes à l'aide de Cloud Shell, d'une VM Compute Engine ou de votre ordinateur local.
Cloud Shell vous permet d'interagir avec les Cloud TPU sans avoir à installer de logiciel. Cloud Shell se déconnecte après une période d'inactivité. Si vous exécutez des commandes de longue durée, nous vous recommandons d'installer la Google Cloud CLI sur votre ordinateur local. Pour en savoir plus sur Google Cloud CLI, consultez la documentation de référence de gcloud
.
Créer un Cloud TPU à l'aide de l'API Create Node
Vous pouvez créer un Cloud TPU à l'aide de gcloud
, de la console Google Cloud ou de l'API Cloud TPU.
Lorsque vous créez un Cloud TPU, vous devez spécifier l'image de la VM TPU (également appelée version logicielle TPU). Pour déterminer l'image de VM à utiliser, consultez la section Images de VM TPU.
Vous devez également spécifier la configuration du TPU en termes de TensorCores ou de puces TPU. Pour en savoir plus, consultez la section de la version de TPU que vous utilisez dans Architecture du système.
gcloud
Pour créer un TPU à l'aide de l'API Create Node, utilisez la commande gcloud compute tpus tpu-vm create
.
Pour configurer des adresses IP internes ou externes spécifiques, consultez les instructions de la section Adresses IP externes et internes.
La commande suivante utilise une configuration TPU v4-8:
$ gcloud compute tpus tpu-vm create tpu-name \ --zone=us-central2-b \ --accelerator-type=v4-8 \ --version=tpu-software-version
Description des options de commande
zone
- Zone dans laquelle vous prévoyez de créer votre Cloud TPU.
accelerator-type
- Le type d'accélérateur spécifie la version et la taille du Cloud TPU que vous souhaitez créer. Pour en savoir plus sur les types d'accélérateurs compatibles avec chaque version de TPU, consultez la section Versions de TPU.
version
- Version du logiciel du TPU
shielded-secure-boot
(facultatif)- Spécifie que les instances TPU sont créées avec le démarrage sécurisé activé. Elles deviennent ainsi implicitement des instances de VM protégées. Consultez la page Qu'est-ce qu'une VM protégée ? pour en savoir plus.
La commande suivante crée un TPU avec une topologie spécifique:
$ gcloud compute tpus tpu-vm create tpu-name \ --zone=us-central2-b \ --type=v4 \ --topology=2x2x1 \ --version=tpu-software-version
Indicateurs obligatoires
tpu-name
- Nom de la VM TPU que vous créez.
zone
- Zone dans laquelle vous créez votre Cloud TPU.
type
- Version de TPU que vous souhaitez utiliser. Pour en savoir plus, consultez la section Versions de TPU.
topology
- Disposition physique des puces TPU, spécifiant le nombre de puces dans chaque dimension. Pour en savoir plus sur les topologies compatibles pour chaque version de TPU, consultez la section Versions de TPU.
version
- Version logicielle du TPU que vous souhaitez utiliser. Pour en savoir plus, consultez la section Versions logicielles de TPU.
Console
Dans la console Google Cloud, accédez à la page TPU:
Cliquez sur Créer un TPU.
Dans le champ Nom, saisissez un nom pour votre TPU.
Dans le champ Zone, sélectionnez la zone dans laquelle vous souhaitez créer le TPU.
Dans le champ Type de TPU, sélectionnez un type d'accélérateur. Le type d'accélérateur spécifie la version et la taille du Cloud TPU que vous souhaitez créer. Pour en savoir plus sur les types d'accélérateurs compatibles pour chaque version de TPU, consultez la section Versions de TPU.
Dans le champ Version logicielle du TPU, sélectionnez une version logicielle. Lorsque vous créez une VM Cloud TPU, la version logicielle TPU spécifie la version de l'environnement d'exécution TPU à installer. Pour en savoir plus, consultez la section Images de VM TPU.
Cliquez sur Créer pour créer vos ressources.
curl
La commande suivante utilise curl
pour créer un TPU.
$ curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d "{accelerator_type: 'v4-8', \ runtime_version:'tpu-vm-tf-2.18.0-pjrt', \ network_config: {enable_external_ips: true}, \ shielded_instance_config: { enable_secure_boot: true }}" \ https://tpu.googleapis.com/v2/projects/project-id/locations/us-central2-b/nodes?node_id=node_name
Champs obligatoires
runtime_version
- Version d'exécution de Cloud TPU que vous souhaitez utiliser.
project
- Nom de votre projet Google Cloud enregistré.
zone
- Zone dans laquelle vous créez votre Cloud TPU.
node_name
- Nom de la VM TPU que vous créez.
Exécuter un script de démarrage
Vous pouvez exécuter un script de démarrage sur chaque VM TPU en spécifiant l'option --metadata startup-script
lors de la création de la VM TPU. La commande suivante crée une VM TPU à l'aide d'un script de démarrage.
$ gcloud compute tpus tpu-vm create tpu-name \ --zone=us-central2-b \ --accelerator-type=tpu-type \ --version=tpu-vm-tf-2.18.0-pjrt \ --metadata startup-script='#! /bin/bash pip3 install numpy EOF'
Se connecter à un Cloud TPU
gcloud
Connectez-vous à votre Cloud TPU à l'aide de SSH:
$ gcloud compute tpus tpu-vm ssh tpu-name --zone=zone
Lorsque vous demandez une tranche plus grande qu'un seul hôte, Cloud TPU crée une VM TPU pour chaque hôte. Le nombre de puces TPU par hôte dépend de la version du TPU.
Pour installer des binaires ou exécuter du code, connectez-vous à chaque VM TPU à l'aide de tpu-vm ssh command
.
$ gcloud compute tpus tpu-vm ssh tpu-name
Pour vous connecter à une VM TPU spécifique à l'aide de SSH, utilisez l'option --worker
qui suit un index basé sur 0:
$ gcloud compute tpus tpu-vm ssh tpu-name --worker=1
Pour exécuter une commande sur toutes les VM TPU avec une seule commande, utilisez les options --worker=all
et --command
:
$ gcloud compute tpus tpu-vm ssh tpu-name \ --project=your_project_ID \ --zone=zone \ --worker=all \ --command='pip install "jax[tpu]==0.4.20" -f https://storage.googleapis.com/jax-releases/libtpu_releases.html'
Pour Multislice, vous pouvez exécuter une commande sur une seule VM à l'aide du nom de TPU énuméré, avec le préfixe de chaque tranche et le numéro qui y est ajouté. Pour exécuter une commande sur toutes les VM TPU de toutes les tranches, utilisez les options --node=all
, --worker=all
et --command
, avec un indicateur --batch-size
facultatif.
$ gcloud compute tpus queued-resources ssh ${QUEUED_RESOURCE_ID} \ --project=project_ID \ --zone=zone \ --node=all \ --worker=all \ --command='pip install "jax[tpu]==0.4.20" -f https://storage.googleapis.com/jax-releases/libtpu_releases.html' \ --batch-size=4
Console
Pour vous connecter à vos TPU dans la console Google Cloud, utilisez SSH dans le navigateur:
Dans la console Google Cloud, accédez à la page TPU:
Dans la liste des VM TPU, cliquez sur SSH sur la ligne de la VM TPU à laquelle vous souhaitez vous connecter.
Répertorier vos ressources Cloud TPU
Vous pouvez répertorier tous vos Cloud TPU dans une zone spécifiée.
gcloud
$ gcloud compute tpus tpu-vm list --zone=zone
Console
Dans la console Google Cloud, accédez à la page TPU:
Récupérer des informations sur votre Cloud TPU
Vous pouvez récupérer des informations sur un Cloud TPU spécifié.
gcloud
$ gcloud compute tpus tpu-vm describe tpu-name \ --zone=zone
Console
Dans la console Google Cloud, accédez à la page TPU:
Cliquez sur le nom de votre Cloud TPU. La console affiche la page d'informations Cloud TPU.
Arrêter vos ressources Cloud TPU
Vous pouvez arrêter un seul Cloud TPU pour ne plus encourir de frais sans perdre la configuration et les logiciels de votre VM.
gcloud
$ gcloud compute tpus tpu-vm stop tpu-name \ --zone=zone
Console
Dans la console Google Cloud, accédez à la page TPU:
Cochez la case située à côté de votre Cloud TPU.
Cliquez sur
Arrêter.
Démarrer vos ressources Cloud TPU
Vous pouvez démarrer un Cloud TPU lorsqu'il est arrêté.
gcloud
$ gcloud compute tpus tpu-vm start tpu-name \ --zone=zone
Console
Dans la console Google Cloud, accédez à la page TPU:
Cochez la case située à côté de votre Cloud TPU.
Cliquez sur
Démarrer.
Supprimer un Cloud TPU
Supprimez vos tranches de VM TPU à la fin de votre session.
gcloud
$ gcloud compute tpus tpu-vm delete tpu-name \ --project=project-id \ --zone=zone \ --quiet
Description des options de commande
zone
- Zone dans laquelle vous prévoyez de supprimer votre Cloud TPU.
Console
Dans la console Google Cloud, accédez à la page TPU:
Cochez la case située à côté de votre Cloud TPU.
Cliquez sur
Supprimer.