Como criar e excluir TPUs

Visão geral

A execução de um modelo de machine learning (ML) requer uma VM do Compute Engine e recursos do Cloud TPU. Nesta página, você verá como gerenciar esses recursos usando:

  • o utilitário ctpu, que fornece uma CLI projetada especificamente para gerenciar recursos do Cloud TPU;
  • a ferramenta de linha de comando gcloud commands, que fornece a CLI principal para o Google Cloud Platform (GCP);
  • o Console do GCP, um console de gerenciamento integrado para recursos do GCP.

Como configurar uma VM do Compute Engine e recursos do Cloud TPU

É possível alocar e iniciar recursos de VM e TPU usando o utilitário ctpu, os comandos gcloud ou o Console do GCP.

ctpu

Execute o comando a seguir no Cloud Shell. O utilitário ctpu cria os recursos do Cloud TPU e da VM do Compute Engine ao mesmo tempo e com o mesmo nome.

$ ctpu up [optional: --name --zone --tpu-size --machine-type --disk-size-gb]

Comandos do gcloud

O SDK do Cloud é um conjunto de ferramentas usadas para interagir com o GCP no Cloud Shell.

  1. Instale a ferramenta de linha de comando gcloud usando o SDK do Cloud.
  2. Use a ferramenta de linha de comando gcloud para especificar o projeto do GCP:
    $ gcloud config set project [YOUR-CLOUD-PROJECT]
    
  3. Especifique a zona em que planeja criar a VM do Compute Engine e o recurso do Cloud TPU. Neste exemplo, use a zona us-central1-b:
    $ gcloud config set compute/zone [YOUR-ZONE]
    

    Como referência, o Cloud TPU está disponível nas seguintes zonas:

    EUA

    Tipo de TPU (v2) Núcleos de TPU v2 Memória total de TPU Zonas disponíveis
    v2-8 8 64 GiB us-central1-a
    us-central1-b
    us-central1-c
    (us-central1-f apenas TFRC)
    v2-32 (Beta) 32 256 GiB us-central1-a
    v2-128 (Beta) 128 1 TiB us-central1-a
    v2-256 (Beta) 256 2 TiB us-central1-a
    v2-512 (Beta) 512 4 TiB us-central1-a
    Tipo de TPU (v3) Núcleos de TPU v3 Memória total de TPU Regiões disponíveis
    v3-8 8 128 GiB us-central1-a
    us-central1-b
    (us-central1-f apenas TFRC)

    Europa

    Tipo de TPU (v2) Núcleos de TPU v2 Memória total de TPU Zonas disponíveis
    v2-8 8 64 GiB europe-west4-a
    v2-32 (Beta) 32 256 GiB europe-west4-a
    v2-128 (Beta) 128 1 TiB europe-west4-a
    v2-256 (Beta) 256 2 TiB europe-west4-a
    v2-512 (Beta) 512 4 TiB europe-west4-a
    Tipo de TPU (v3) Núcleos de TPU v3 Memória total de TPU Regiões disponíveis
    v3-8 8 128 GiB europe-west4-a
    v3-32 (Beta) 32 512 GiB europe-west4-a
    v3-64 (Beta) 64 1 TiB europe-west4-a
    v3-128 (Beta) 128 2 TiB europe-west4-a
    v3-256 (Beta) 256 4 TiB europe-west4-a
    v3-512 (Beta) 512 8 TiB europe-west4-a
    v3-1024 (Beta) 1024 16 TiB europe-west4-a
    v3-2048 (Beta) 2048 32 TiB europe-west4-a

    Ásia-Pacífico

    Tipo de TPU (v2) Núcleos de TPU v2 Memória total de TPU Zonas disponíveis
    v2-8 8 64 GiB asia-east1-c
  4. Crie uma VM do Compute Engine para interagir com o Cloud TPU:

    Como a zona foi especificada no comando anterior, a instância da VM será criada nela.

    $ gcloud compute instances create [YOUR-VM/TPU-NAME]\
       --zone=[YOUR_ZONE]
       --machine-type=n1-standard-1 \
       --image-project=ml-images \
       --image-family=tf-1-14 \
       --scopes=cloud-platform
    

    Isso gerará uma saída semelhante a esta:

    NAME         ZONE           MACHINE_TYPE    PREEMPTIBLE INTERNAL_IP  EXTERNAL_IP    STATUS
    demo-vm-tpu  us-central1-b  n1-standard-1               10.138.0.2   35.247.15.162  RUNNING
    
  5. Crie um novo recurso do Cloud TPU.
    $ gcloud compute tpus create [YOUR-VM/TPU-NAME] \
          --zone=[YOUR_ZONE] \
          --network=[YOUR_NETWORK_ID or default] \
          --accelerator-type=[YOUR-TPU-VERSION] \
          --range=[RANGE] \ # for example 192.168.0.0/29 \
          --version=1.14
    

    Isso gerará uma saída semelhante a esta:

    NAME         ZONE           ACCELERATOR_TYPE NETWORK_ENDPOINT  NETWORK  RANGE         STATUS
    demo-vm-tpu  us-central1-b  v2-8             10.240.1.2:8470   default  10.240.1.0/29 READY
    
  6. Conecte-se remotamente à VM do Compute Engine:
    $ gcloud compute ssh --zone=[YOUR_ZONE] [YOUR-VM/TPU-NAME]
    
  7. Crie uma variável de ambiente contendo o nome da TPU:
    $ export TPU_NAME=[YOUR-VM/TPU-NAME]
    

Console

  1. Crie e inicie a VM.
    1. Vá para Compute Engine > Instâncias da VM na barra de navegação à esquerda e clique em CRIAR INSTÂNCIA.
    2. Na página Criar uma Instância, especifique um nome de instância, a região e o tipo de máquina.
  2. Crie, inicie e conecte-se ao Cloud TPU.
    1. Vá para Compute Engine> TPUs na barra de navegação à esquerda e clique em CRIAR NÓ DE TPU.
    2. Na página Criar um Cloud TPU, especifique o nome do recurso da TPU, a zona e um endereço IP interno, que serão usados pelo Cloud TPU.
    3. Acesse Compute Engine > Instâncias de VM. Encontre a instância com o nome da VM e clique em SSH para se conectar a ela.

Como interromper seus recursos do Cloud TPU

Os recursos do Cloud TPU começam a ser cobrados quando o Cloud TPU é iniciado, mesmo antes de ativar o treinamento de um modelo. Para evitar ser cobrado enquanto o Cloud TPU estiver inativo, você pode interrompê-lo e reiniciá-lo quando estiver pronto para treinar um modelo.

Nesta seção, mostramos como interromper o Cloud TPU usando o utilitário ctpu, os comandos gcloud ou o Console do GCP.

ctpu

  1. Execute o comando ctpu status e especifique a zona em que o Cloud TPU está configurado.

    $ ctpu status --zone=[YOUR-ZONE]

    Isso exibirá o status dos recursos do Cloud TPU e da VM do Compute Engine na zona.

    Your cluster is running!
    Compute Engine VM:  RUNNING
    Cloud TPU:          RUNNING
    
  2. Se o recurso do Cloud TPU estiver em execução, use o seguinte comando para interrompê-lo.

    $ ctpu pause --zone=[YOUR-ZONE]

    Isso interrompe a VM do Compute Engine e exclui os recursos do Cloud TPU na zona especificada. Para reiniciar apenas a VM do Compute Engine, execute o seguinte comando, incluindo outras sinalizações necessárias para a VM:

    $ ctpu up --zone=[YOUR-ZONE] --vm-only

    Para reiniciar o Cloud TPU, execute ctpu up com as sinalizações que você definiu quando iniciou o Cloud TPU pela primeira vez.

gcloud

  1. Execute o seguinte comando no Cloud Shell para listar os recursos do Cloud TPU disponíveis na sua zona.

    $ gcloud compute tpus list --zone=[YOUR-ZONE]
    

    O recurso do Cloud TPU na sua zona é exibido:

    NAME       ZONE           ACCELERATOR_TYPE  NETWORK_ENDPOINT   NETWORK  RANGE          STATUS
    demo-tpu   us-central1-b  v2-8              10.240.1.2:8470    default  10.240.1.0/29  READY
    
  2. Execute o seguinte comando para interromper o Cloud TPU:

    $ gcloud compute tpus stop [YOUR-TPU-NAME] --zone=[YOUR-ZONE]
    

Console

  1. Selecione Compute Engine> TPUs na barra de navegação à esquerda. Clique em PARAR na barra de menu na parte superior da página.
  2. Para reiniciar o Cloud TPU, clique em INICIAR.

Como visualizar os recursos do Cloud TPU e da VM do Compute Engine

Esta seção mostra como visualizar os recursos ativos de VM e TPU usando o utilitário ctpu, os comandos do gcloud ou o Console do GCP.

ctpu

Execute o comando ctpu status e especifique a zona em que os recursos do Cloud TPU e da VM do Compute Engine estão configurados.

$ ctpu status --zone=[YOUR-ZONE]

Isso exibirá o status dos recursos do Cloud TPU e da VM do Compute Engine na zona.

Your cluster is running!
Compute Engine VM:  RUNNING
Cloud TPU:          RUNNING

Se nenhum recurso estiver configurado ainda, a saída mostrará apenas traços para a VM e a TPU. Se um recurso estiver ativo e o outro não, uma mensagem informará que o status não é saudável. Inicie ou reinicie qualquer recurso que não esteja em execução.

gcloud

  1. Execute o seguinte comando no Cloud Shell para listar os recursos de VM do Compute Engine disponíveis em zonas específicas. Neste exemplo, serão exibidos os recursos da VM em us-central1-b e europe-west4-a:

    $ gcloud compute instances list --filter="zone:( us-central1-b europe-west4-a )"
    

    O comando acima imprime os detalhes dos recursos da VM criados. Por exemplo:

    NAME      ZONE           MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP     STATUS
    demo-tpu  us-central1-b  n1-standard-1               10.128.0.33  35.232.214.205  RUNNING
    
    
  2. Execute o seguinte comando no Cloud Shell para listar os recursos do Cloud TPU disponíveis na sua zona. Neste exemplo, a zona selecionada é us-central1-b.

    $ gcloud compute tpus list --zone=us-central1-b
    

    O recurso do Cloud TPU em us-central1-b é exibido:

    NAME       ZONE           ACCELERATOR_TYPE  NETWORK_ENDPOINT   NETWORK  RANGE          STATUS
    demo-tpu   us-central1-b  v2-8              10.240.1.2:8470    default  10.240.1.0/29  READY
    

Console

  1. No menu de navegação à esquerda, selecione Compute Engine > TPUs.

    Será exibida uma lista de todos os recursos ativos do Compute Engine.

  2. No menu de navegação à esquerda, selecione Compute Engine > Instâncias de VM.

    Será exibida uma lista de todos os recursos ativos do Compute Engine.

Como excluir os recursos do Cloud TPU e da VM do Compute Engine

É possível excluir recursos de VM e TPU usando o utilitário ctpu, os comandos do gcloud ou o Console do GCP.

ctpu

Execute o seguinte comando [Cloud Shell] (/ shell /). O utilitário ctpu exclui os recursos do Cloud TPU e da VM do Compute Engine.

$ ctpu delete [optional: --zone]

gcloud

Execute o seguinte comando no Cloud Shell para excluir recursos do Cloud TPU e da VM do Compute Engine. Inclua o nome do recurso do Cloud TPU, a zona e o ID do projeto na linha de comando. Exclua o Cloud TPU primeiro, porque é necessário que haja uma VM do Compute Engine em execução para excluir o recurso do Cloud TPU.

  1. Exclua o recurso do Cloud TPU:
    $ gcloud compute tpus delete [YOUR-VM/TPU-NAME] --project=[YOUR-CLOUD-PROJECT] --zone=[YOUR-ZONE]
    
  2. Exclua a instância do Compute Engine
    $ gcloud compute instances delete [YOUR-VM/TPU-NAME] --project=[YOUR-CLOUD-PROJECT] --zone=[YOUR-ZONE]
    
  3. Exclua a rede VPC que o Google criou automaticamente como parte da configuração do Cloud TPU.

    Acesse a página Rede VPC no Console do GCP.

  4. Selecione a rede VPC. A entrada da rede começa com cp-to-tp-peering no código.

    Na parte superior da página, clique em Excluir para excluir a rede VPC selecionada.

  5. Quando terminar de excluir os dados, use o comando gsutil para excluir todos os intervalos do Cloud Storage criados. Substitua YOUR-BUCKET-NAME pelo nome do intervalo do Cloud Storage.
    $ gsutil rm -r gs://[YOUR-BUCKET-NAME]
    

Console

  1. Exclua a VM.
    1. Acesse Compute Engine > Instâncias de VM a partir da barra de navegação
    2. à esquerda.
    3. Selecione a instância de VM na lista. Clique no ícone da lixeira na parte superior da página.
  2. Exclua o Cloud TPU.
    1. Acesse Compute Engine > TPUs na barra de navegação à esquerda.
    2. Selecione o recurso de TPU na lista. Clique no ícone da lixeira na parte superior da página.
Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…