Gerenciar recursos de TPU
Nesta página, descrevemos como criar, listar, parar, iniciar, excluir e se conectar a
TPUs do Cloud usando a API Create Node. A API Create Node é chamada quando você
executa o comando gcloud compute tpus tpu-vm create
usando a Google Cloud CLI
e quando você cria uma TPU usando o console Google Cloud . Quando você usa a API Create
Node, sua solicitação é processada imediatamente. Se não houver capacidade suficiente para atender à sua solicitação, ela vai falhar.
A prática recomendada é criar TPUs usando recursos enfileirados em vez da API Create Node. Ao solicitar recursos enfileirados, a solicitação é adicionada a uma fila mantida pelo serviço Cloud TPU. Quando o recurso solicitado fica disponível, ele é atribuído ao seu projeto Google Cloud para uso exclusivo imediato. Para mais informações, consulte Gerenciar recursos em fila.
Ao usar o multislice, você precisa usar recursos enfileirados. Para mais informações, consulte Introdução ao multislice.
Se quiser usar o Google Kubernetes Engine (GKE) para gerenciar recursos de TPU, primeiro crie um cluster do GKE. Em seguida, adicione ao cluster pools de nós que contenham frações de TPU. Para mais informações, consulte Sobre TPUs no GKE.
Pré-requisitos
Antes de executar esses procedimentos, você precisa:
Instale a Google Cloud CLI, crie um projeto Google Cloud e ative a API Cloud TPU. Para instruções, consulte Configurar o ambiente do Cloud TPU.
Se você estiver usando uma das bibliotecas de cliente do Cloud, siga as instruções de configuração para a linguagem que você está usando:
Para não precisar definir a flag
--project
em todos os comandos da CLI gcloud, use o comandogcloud config set
para definir o ID do projeto na sua configuração ativa:gcloud config set project project-id
Substitua project-id pelo nome do seu projeto Google Cloud .
Criar uma Cloud TPU usando a API Create Node
É possível criar uma Cloud TPU usando gcloud
, o console Google Cloud ou a API Cloud TPU.
Ao criar uma Cloud TPU, é necessário especificar a versão do software da TPU (também chamada de versão de execução). Para determinar qual versão de software usar, consulte Versões de software de TPU.
Também é necessário especificar a configuração da TPU em termos de TensorCores ou chips de TPU. Para mais informações, consulte a seção da versão de TPU que você está usando em Arquitetura do sistema.
gcloud
Para criar uma TPU usando a API Create Node, use
o comando gcloud compute tpus tpu-vm create
.
Para configurar endereços IP internos ou externos específicos, consulte as instruções em
Endereços IP externos e internos.
O comando a seguir usa uma TPU v5litepod-8 (v5e):
$ gcloud compute tpus tpu-vm create tpu-name \ --zone=us-central2-b \ --accelerator-type=v5litepod-8 \ --version=tpu-software-version
Descrições de sinalizações de comando
zone
- A zona em que você planeja criar a Cloud TPU.
accelerator-type
- O tipo de acelerador especifica a versão e o tamanho da 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 da TPU.
shielded-secure-boot
(opcional)- Especifica que as instâncias de TPU são criadas com a inicialização segura ativada. Isso as torna implicitamente instâncias de VM protegida. Consulte O que é VM protegida? para obter mais detalhes.
Console
No console Google Cloud , acesse a página TPUs:
Clique em Criar TPU.
No campo Nome, insira um nome para a TPU.
Na caixa Zona, selecione a zona em que a TPU será criada.
Na caixa Tipo de TPU, selecione um tipo de acelerador. O tipo de acelerador especifica a versão e o tamanho da 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.
Na caixa Versão do software de TPU, selecione uma versão. Ao criar uma VM do Cloud TPU, a versão do software da TPU especifica a versão do ambiente de execução da TPU que será instalada. Para mais informações, consulte Versões de software da TPU.
Clique em Criar para criar os recursos.
curl
O comando a seguir usa curl
para criar uma TPU.
$ curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d "{accelerator_type: 'v5litepod-8', \ runtime_version:'tpu-vm-tf-2.17.1-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
Campos obrigatórios
runtime_version
- A versão do ambiente de execução do Cloud TPU que você quer usar.
project-id
- O nome do seu projeto Google Cloud inscrito.
zone
- A zona em que você está criando a Cloud TPU.
node_name
- O nome da VM da TPU que você está criando.
Java
Para autenticar no Cloud TPU, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para autenticar no Cloud TPU, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para autenticar no Cloud TPU, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Executar um script de inicialização
gcloud
É possível executar um script de inicialização em cada VM de TPU especificando a flag
--metadata startup-script
ao criar a VM de TPU. O comando
a seguir cria uma VM de TPU usando um script de inicialização.
$ gcloud compute tpus tpu-vm create tpu-name \ --zone=us-central2-b \ --accelerator-type=v5litepod-8 \ --version=tpu-software-version \ --metadata startup-script='#! /bin/bash pip3 install numpy EOF'
Java
Para autenticar no Cloud TPU, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para autenticar no Cloud TPU, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para autenticar no Cloud TPU, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Conectar-se a uma Cloud TPU
É possível se conectar a uma Cloud TPU usando SSH.
Se você não conseguir se conectar a uma VM da TPU usando SSH, talvez seja porque ela não tem um endereço IP externo. Para acessar uma VM da TPU sem um endereço IP externo, siga as instruções em Conectar-se a uma VM da TPU sem um endereço IP público.
gcloud
Conecte-se à Cloud TPU usando SSH:
$ gcloud compute tpus tpu-vm ssh tpu-name --zone=zone
Quando você solicita uma fração maior que um único host, o Cloud TPU cria uma VM de TPU para cada host. O número de chips de TPU por host depende da versão da TPU.
Para instalar binários ou executar código, conecte-se a cada VM de TPU usando
o tpu-vm ssh command
.
$ gcloud compute tpus tpu-vm ssh tpu-name --zone=zone
Para se conectar a uma VM de TPU específica
usando SSH, use a flag --worker
, que segue um índice baseado em 0:
$ gcloud compute tpus tpu-vm ssh tpu-name --zone=zone --worker=1
Para executar um comando em todas as VMs de TPU com um único comando, use as flags
--worker=all
e --command
:
$ gcloud compute tpus tpu-vm ssh tpu-name \ --zone=zone \ --worker=all \ --command='pip install "jax[tpu]==0.4.20" -f https://storage.googleapis.com/jax-releases/libtpu_releases.html'
Para o Multislice, é possível executar um comando em uma única VM usando o nome da TPU enumerada, com cada prefixo de fração e o número anexado a ele. Para
executar um comando em todas as VMs de TPU em todas as frações, use as flags --node=all
, --worker=all
e --command
, com uma flag --batch-size
opcional.
$ gcloud compute tpus queued-resources ssh ${QUEUED_RESOURCE_ID} \ --zone=zone \ --node=all \ --worker=all \ --command='pip install jax[tpu] -f https://storage.googleapis.com/jax-releases/libtpu_releases.html' \ --batch-size=4
Console
Para se conectar às TPUs no console Google Cloud , use o SSH no navegador:
No console Google Cloud , acesse a página TPUs:
Na lista de VMs de TPU, clique em SSH na linha da VM de TPU a que você quer se conectar.
Listar os recursos do Cloud TPU
É possível listar todos os Cloud TPUs em uma zona especificada.
gcloud
$ gcloud compute tpus tpu-vm list --zone=zone
Console
No console Google Cloud , acesse a página TPUs:
Java
Para autenticar no Cloud TPU, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para autenticar no Cloud TPU, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para autenticar no Cloud TPU, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Recuperar informações sobre o Cloud TPU
É possível recuperar informações sobre um Cloud TPU especificado.
gcloud
$ gcloud compute tpus tpu-vm describe tpu-name \ --zone=zone
Console
No console Google Cloud , acesse a página TPUs:
Clique no nome da sua Cloud TPU. O console mostra a página de detalhes do Cloud TPU.
Java
Para autenticar no Cloud TPU, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para autenticar no Cloud TPU, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para autenticar no Cloud TPU, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Interrompa os recursos do Cloud TPU
É possível interromper um único Cloud TPU para interromper as cobranças sem perder a configuração e o software da sua VM.
gcloud
$ gcloud compute tpus tpu-vm stop tpu-name \ --zone=zone
Console
No console Google Cloud , acesse a página TPUs:
Marque a caixa de seleção ao lado da sua Cloud TPU.
Clique em
Interromper.
Java
Para autenticar no Cloud TPU, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para autenticar no Cloud TPU, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para autenticar no Cloud TPU, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Iniciar os recursos da Cloud TPU
É possível iniciar um Cloud TPU quando ele está parado.
gcloud
$ gcloud compute tpus tpu-vm start tpu-name \ --zone=zone
Console
No console Google Cloud , acesse a página TPUs:
Marque a caixa de seleção ao lado da sua Cloud TPU.
Clique em
Iniciar.
Java
Para autenticar no Cloud TPU, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para autenticar no Cloud TPU, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para autenticar no Cloud TPU, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Excluir um Cloud TPU
Exclua as frações de VM da TPU no final da sessão.
gcloud
$ gcloud compute tpus tpu-vm delete tpu-name \ --zone=zone \ --quiet
Descrições de sinalizações de comando
zone
- A zona em que você planeja excluir a Cloud TPU.
quiet
- Desativa todos os prompts interativos ao executar comandos da CLI gcloud.
Console
No console Google Cloud , acesse a página TPUs:
Marque a caixa de seleção ao lado da sua Cloud TPU.
Clique em
Excluir.
Java
Para autenticar no Cloud TPU, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para autenticar no Cloud TPU, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para autenticar no Cloud TPU, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.