Gérer les ressources TPU

Cette page explique comment créer, répertorier, arrêter, démarrer, supprimer et s'y connecter Cloud TPU à l'aide de l'API Create Node. L'API Create Node est appelée lorsque vous exécuter la commande gcloud compute tpus tpu-vm create à l'aide de la Google Cloud CLI ; et lorsque vous créez un TPU à l'aide de la console Google Cloud. Lorsque vous utilisez la commande Node.js, votre demande 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 en utilisant ressources en file d'attente au lieu de l'API Create Node. Lorsque vous demandez des ressources en file d'attente, elles sont ajoutées à une file d'attente gérée par au service Cloud TPU. Lorsque la ressource demandée devient disponible, attribuée à votre projet Google Cloud pour une utilisation exclusive immédiate. Pour Pour en savoir plus, consultez Gérer les ressources en file d'attente.

Lorsque vous utilisez des tranches multiples, vous devez utiliser des ressources en file d'attente. Pour plus pour en savoir plus, consultez Présentation des multitranches.

Si vous souhaitez utiliser Google Kubernetes Engine (GKE) pour gérer des ressources TPU, vous devez d'abord créer un cluster GKE. Vous ajoutez ensuite des pools de nœuds contenant des tranches TPU vers votre cluster. Pour en savoir plus, consultez À propos des TPU dans GKE

Prérequis

Avant d'exécuter ces procédures, vous devez installer la Google Cloud CLI, créer un projet Google Cloud et activer l'API Cloud TPU. Pour obtenir des instructions, consultez la section Configurer l'environnement Cloud TPU.

Si vous utilisez la Google Cloud CLI, vous pouvez exécuter des commandes à l'aide de la commande Cloud Shell, une VM Compute Engine ou votre ordinateur local. Le Cloud Shell vous permet d'interagir avec les Cloud TPU pour installer un logiciel. Cloud Shell se déconnecte après un délai de 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 les Pour la Google Cloud CLI, consultez la documentation de référence sur gcloud.

Créer une instance 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 l'API Cloud TPU.

Lors de la création d'un Cloud TPU, vous devez spécifier l'image de VM TPU (également appelée TPU version logicielle). Pour déterminer l'image de VM à utiliser, consultez la section VM TPU images.

Vous devez également spécifier la configuration du TPU en termes de TensorCores ou de TPU les chips. Pour en savoir plus, consultez la section concernant la version de TPU que vous utilisez. de la section 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.

La commande suivante utilise une configuration basée sur TensorCore:

$ 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 où vous prévoyez de créer votre Cloud TPU.
accelerator-type
Le type d'accélérateur spécifie la version et la taille de la ressource 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 Versions de TPU.
version
Version du logiciel TPU.
shielded-secure-boot (facultatif)
Spécifie que le démarrage sécurisé est activé pour les instances TPU. Cela en fait implicitement des instances de VM protégées. Consultez la section 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

Options requises

tpu-name
Nom de la VM TPU que vous créez.
zone
Zone dans laquelle vous vous trouvez lors de la création de votre Cloud TPU.
type
Version de TPU que vous souhaitez utiliser. Pour en savoir plus, consultez Versions de TPU.
topology
Disposition physique des puces TPU, en spécifiant le nombre de des chips dans chaque dimension. Pour en savoir plus sur compatibles avec chaque version de TPU, consultez Versions de TPU.
version
Version logicielle du TPU que vous souhaitez utiliser. Pour en savoir plus, consultez Versions du logiciel TPU.

Console

  1. Dans la console Google Cloud, accédez à la page TPU:

    Accéder aux TPU

  2. Cliquez sur Créer un TPU.

  3. Dans le champ Nom, saisissez le nom du TPU.

  4. Dans le champ Zone, sélectionnez la zone dans laquelle vous souhaitez créer le TPU.

  5. 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.

  6. Dans le champ Version du logiciel 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.

  7. 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.17.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 du projet Google Cloud enregistré.
zone
Zone où 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 le l'option --metadata startup-script lors de la création de la VM TPU. Les éléments suivants : 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.17.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 du Version de TPU.

Pour installer des binaires ou exécuter du code, connectez-vous à chaque VM TPU à l'aide de le tpu-vm ssh command.

$ gcloud compute tpus tpu-vm ssh tpu-name

Pour se 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 en une seule commande une commande sur toutes les VM TPU, utilisez la 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'

Avec les tranches multitranches, vous pouvez exécuter une commande sur une seule VM en utilisant le nom TPU énuméré, avec chaque préfixe de tranche et le numéro qui y est ajouté. Pour exécuter une sur toutes les VM TPU dans toutes les tranches, utilisez les commandes --node=all, --worker=all, et --command, avec un indicateur --batch-size .

$ 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" :

  1. Dans la console Google Cloud, accédez à la page TPU:

    Accéder aux TPU

  2. Dans la liste des VM TPU, cliquez sur SSH sur la ligne de la VM TPU qui auquel vous souhaitez vous connecter.

Lister 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:

Accéder aux 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

  1. Dans la console Google Cloud, accédez à la page TPU:

    Accéder aux TPU

  2. Cliquez sur le nom de votre Cloud TPU. La console affiche Page d'informations sur 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

  1. Dans la console Google Cloud, accédez à la page TPU:

    Accéder aux TPU

  2. Cochez la case à côté de votre Cloud TPU.

  3. 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

  1. Dans la console Google Cloud, accédez à la page TPU:

    Accéder aux TPU

  2. Cochez la case à côté de votre Cloud TPU.

  3. 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 où vous prévoyez de supprimer votre Cloud TPU.

Console

  1. Dans la console Google Cloud, accédez à la page TPU:

    Accéder aux TPU

  2. Cochez la case à côté de votre Cloud TPU.

  3. Cliquez sur Supprimer.