Exécuter un calcul sur une VM Cloud TPU à l'aide de PyTorch
Ce guide de démarrage rapide explique comment créer un Cloud TPU, installer PyTorch et exécuter un calcul simple sur Cloud TPU. Pour découvrir plus en détail comment entraîner un modèle sur un Cloud TPU, consultez l'un des Tutoriels PyTorch sur Cloud TPU
Avant de commencer
Avant de suivre ce guide de démarrage rapide, vous devez créer un compte Google Cloud Platform, installer Google Cloud CLI et configurer la commande gcloud
.
Pour en savoir plus, consultez la page Configurer un compte et un projet Cloud TPU.
Créer un Cloud TPU avec gcloud
.
Pour créer une VM TPU dans le projet utilisateur, le réseau et la zone par défaut exécuter:
$ gcloud compute tpus tpu-vm create tpu-name \ --zone=us-central1-a \ --accelerator-type=v3-8 \ --version=tpu-ubuntu2204-base
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 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 Cloud TPU.
Lors de la création de votre TPU, vous pouvez transmettre les --network
supplémentaires et
les options --subnetwork
si
vous souhaitez spécifier le réseau
et le sous-réseau par défaut.
Si vous ne souhaitez pas utiliser le réseau par défaut, vous devez transmettre l'indicateur --network
. L'indicateur --subnetwork
est facultatif et peut être utilisé pour spécifier un sous-réseau par défaut pour le réseau que vous utilisez (par défaut ou spécifié par l'utilisateur). Voir le gcloud
page de la documentation de référence de l'API pour en savoir plus sur ces options.
Se connecter à la VM Cloud TPU
$ gcloud compute tpus tpu-vm ssh tpu-name --zone=us-central1-a
Installer PyTorch/XLA sur votre VM TPU
(vm)$ pip install torch~=2.4.0 torch_xla[tpu]~=2.4.0 torchvision -f https://storage.googleapis.com/libtpu-releases/index.html
Définir la configuration d'exécution du TPU
Assurez-vous que l'environnement d'exécution PyTorch/XLA utilise le TPU.
(vm) $ export PJRT_DEVICE=TPU
Vérifier que PyTorch peut accéder aux TPU
Créez un fichier nommé
tpu-count.py
dans le répertoire actuel, puis copiez et collez-y le script suivant.import torch import torch_xla.core.xla_model as xm print(f'PyTorch can access {len(torch_xla.devices())} TPU cores')
Exécutez le script :
(vm)$ python3 tpu-count.py
Le résultat du script montre le résultat du calcul :
PyTorch can access 8 TPU cores
Effectuer un calcul de base
Créez un fichier nommé
tpu-test.py
dans le répertoire actuel et collez-y le script suivant.import torch import torch_xla.core.xla_model as xm dev = xm.xla_device() t1 = torch.randn(3,3,device=dev) t2 = torch.randn(3,3,device=dev) print(t1 + t2)
Exécutez le script :
(vm)$ python3 tpu-test.py
Le résultat du script montre le résultat du calcul :
tensor([[-0.2121, 1.5589, -0.6951], [-0.7886, -0.2022, 0.9242], [ 0.8555, -1.8698, 1.4333]], device='xla:1')
Effectuer un nettoyage
Pour éviter que les ressources utilisées sur cette page soient facturées sur votre compte Google Cloud, procédez comme suit :
Déconnectez-vous de l'instance Compute Engine, si vous ne l'avez pas déjà fait :
(vm)$ exit
Votre invite devrait maintenant être
username@projectname
, indiquant que vous êtes dans Cloud Shell.Supprimez votre Cloud TPU.
$ gcloud compute tpus tpu-vm delete tpu-name \ --zone=us-central1-a
Le résultat de cette commande doit confirmer que votre TPU a été supprimé.
Étape suivante
En savoir plus sur les VM Cloud TPU :