Esegui un calcolo su una VM Cloud TPU utilizzando PyTorch
Questa guida rapida mostra come creare una Cloud TPU, installare PyTorch ed eseguire un semplice calcolo su una Cloud TPU. Per un tutorial più approfondito su come addestrare un modello su una Cloud TPU, consulta uno dei tutorial su PyTorch per Cloud TPU.
Prima di iniziare
Prima di seguire questa guida rapida, devi creare un account Google Cloud Platform, installare Google Cloud CLI e configurare il comando gcloud
.
Per saperne di più, consulta la sezione Configurare un account e un progetto Cloud TPU.
Crea una Cloud TPU con gcloud
.
Per creare una VM TPU nel progetto, nella rete e nella zona utente predefiniti, eseguire:
$ gcloud compute tpus tpu-vm create tpu-name \ --zone=us-central1-a \ --accelerator-type=v3-8 \ --version=tpu-ubuntu2204-base
Descrizioni dei flag dei comandi
zone
- La zona in cui prevedi di creare la Cloud TPU.
accelerator-type
- Il tipo di acceleratore specifica la versione e le dimensioni della Cloud TPU che vuoi creare. Per ulteriori informazioni sui tipi di acceleratori supportati per ogni versione di TPU, consulta Versioni TPU.
version
- La versione del software Cloud TPU.
Durante la creazione della TPU, puoi passare i flag --network
e
--subnetwork
aggiuntivi se
vuoi specificare la rete e la subnet predefinite.
Se non vuoi utilizzare la rete predefinita, devi passare il
--network
flag. Il flag --subnetwork
è facoltativo e può essere utilizzato per specificare una subnet predefinita per qualsiasi rete in uso (predefinita o specificata dall'utente). Per informazioni dettagliate su questi flag, consulta la gcloud
pagina di riferimento dell'API.
Connettiti alla VM Cloud TPU
$ gcloud compute tpus tpu-vm ssh tpu-name --zone=us-central1-a
Installa PyTorch/XLA sulla tua VM TPU
(vm)$ pip install torch~=2.5.0 torch_xla[tpu]~=2.5.0 torchvision -f https://storage.googleapis.com/libtpu-releases/index.html
Impostare la configurazione di runtime della TPU
Assicurati che il runtime PyTorch/XLA utilizzi la TPU.
(vm) $ export PJRT_DEVICE=TPU
Verificare che PyTorch possa accedere alle TPU
Crea un file denominato
tpu-count.py
nella directory corrente e copia e incolla al suo interno il seguente script.import torch import torch_xla import torch_xla.core.xla_model as xm print(f'PyTorch can access {len(torch_xla.devices())} TPU cores')
Esegui lo script:
(vm)$ python3 tpu-count.py
L'output dello script mostra il risultato del calcolo:
PyTorch can access 8 TPU cores
Eseguire un calcolo di base
Crea un file denominato
tpu-test.py
nella directory corrente e copia e incolla al suo interno il seguente script.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)
Esegui lo script:
(vm)$ python3 tpu-test.py
L'output dello script mostra il risultato del calcolo:
tensor([[-0.2121, 1.5589, -0.6951], [-0.7886, -0.2022, 0.9242], [ 0.8555, -1.8698, 1.4333]], device='xla:1')
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi.
Se non l'hai ancora fatto, disconnetti dall'istanza Compute Engine:
(vm)$ exit
Il tuo prompt dovrebbe ora essere
username@projectname
, a indicare che ti trovi in Cloud Shell.Elimina la Cloud TPU.
$ gcloud compute tpus tpu-vm delete tpu-name \ --zone=us-central1-a
L'output di questo comando dovrebbe confermare che la TPU è stata eliminata.
Passaggi successivi
Scopri di più sulle VM Cloud TPU: