Executar um cálculo em uma VM do Cloud TPU usando o PyTorch

Neste guia de início rápido, mostramos como criar um Cloud TPU, instalar o PyTorch e executar um cálculo simples em um Cloud TPU. Para ver um tutorial mais detalhado que mostra como treinar um modelo em um Cloud TPU, consulte um dos Tutoriais de PyTorch do Cloud TPU.

Antes de começar

Antes de seguir este guia de início rápido, você precisa criar uma conta do Google Cloud Platform, instalar a Google Cloud CLI e configurar o comando gcloud. Para mais informações, acesse Configurar uma conta e um projeto do Cloud TPU.

Criar um Cloud TPU com gcloud

Para criar uma VM da TPU na execução da zona, rede e projeto do usuário padrão:

$ gcloud compute tpus tpu-vm create tpu-name \
   --zone=us-central2-b \
   --accelerator-type=v4-8 \
   --version=tpu-ubuntu2204-base

Descrições de sinalizações de comando

zone
A zona em que você planeja criar o Cloud TPU.
accelerator-type
O tipo de acelerador especifica a versão e o tamanho do Cloud TPU que você quer criar. Para mais informações sobre os tipos de aceleradores compatíveis com cada versão de TPU, consulte Versões de TPU.
version
A versão do software do Cloud TPU.

Ao criar a TPU, é possível passar as outras sinalizações --network e --subnetwork se quiser especificar a rede e a sub-rede padrão. Se você não quiser usar a rede padrão, transmita a sinalização --network. A sinalização --subnetwork é opcional e pode ser usada para especificar uma sub-rede padrão para qualquer rede que você esteja usando (padrão ou especificada pelo usuário). Consulte a gcloud página de referência da API para ver detalhes sobre essas sinalizações.

Conectar-se à VM do Cloud TPU

   $ gcloud compute tpus tpu-vm ssh tpu-name --zone=us-central2-b

Instale o PyTorch/XLA na VM da TPU

   (vm)$ pip install torch~=2.3.0 torch_xla[tpu]~=2.3.0 torchvision -f https://storage.googleapis.com/libtpu-releases/index.html
   

Definir a configuração do ambiente de execução da TPU

Verifique se o ambiente de execução PyTorch/XLA usa a TPU.

   (vm) $ export PJRT_DEVICE=TPU

Faça um cálculo simples:

  1. Crie um arquivo chamado tpu-test.py no diretório atual e copie e cole o script a seguir nele.

    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)
    
  2. Execute o script:

      (vm)$ python3 tpu-test.py

    A saída do script mostra o resultado do cálculo:

    tensor([[-0.2121,  1.5589, -0.6951],
            [-0.7886, -0.2022,  0.9242],
            [ 0.8555, -1.8698,  1.4333]], device='xla:1')
    

Limpar

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados nesta página, siga as etapas a seguir.

  1. Desconecte-se da instância do Compute Engine, caso ainda não tenha feito isso:

    (vm)$ exit
    

    Agora, o prompt precisa ser username@projectname, mostrando que você está no Cloud Shell.

  2. Exclua o Cloud TPU.

    $ gcloud compute tpus tpu-vm delete tpu-name \
      --zone=us-central2-b

A saída desse comando confirmará se a TPU foi excluída.

A seguir

Leia mais sobre VMs do Cloud TPU: