Gerenciar recursos de TPUs
Nesta página, descrevemos como criar, listar, parar, iniciar, excluir e estabelecer conexão
com Cloud TPUs usando a API Create Node. A API Create Node é chamada quando você
executa o comando gcloud compute tpus tpu-vm create usando a CLI do Google Cloud
e quando você cria uma TPU usando o console do Google Cloud . Quando você usa a API Create Node,
a solicitação é processada imediatamente. Se não houver capacidade suficiente
para atender à solicitação, ela vai falhar.
A prática recomendada é criar TPUs usando recursos em fila em vez da API Create Node. A solicitação de recursos em fila que você faz é adicionada a uma fila que é mantida pelo serviço Cloud TPU. Quando o recurso solicitado fica disponível, ele é atribuído ao projeto do Google Cloud para uso exclusivo e imediato. Para mais informações, consulte Gerenciar recursos em fila.
Ao usar várias frações, use recursos em fila. Para mais informações, consulte Introdução ao uso de várias frações.
Se você quiser usar o Google Kubernetes Engine (GKE) para gerenciar recursos de TPU, primeiro crie um cluster do GKE. Em seguida, adicione pools de nós com frações de TPU ao cluster. Para mais informações, consulte Sobre TPUs no GKE.
Pré-requisitos
Antes de seguir esses procedimentos, faça o seguinte:
Instale a CLI do Google Cloud, crie um projeto do 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 em uso:
Para não precisar definir a flag
--projectem todos os comandos da gcloud CLI, use o comandogcloud config setpara definir o ID do projeto na configuração ativa:gcloud config set project project-id
Substitua project-id pelo nome do projeto do Google Cloud .
Criar um Cloud TPU usando a API Create Node
É possível criar um Cloud TPU usando gcloud, o console do Google Cloud
ou a API Cloud TPU.
Ao criar um Cloud TPU, especifique a versão do software de TPU (também chamada de versão de ambiente de execução). Para determinar qual versão do 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 sobre a versão de TPU que você está usando em Arquitetura do sistema.
gcloud
Para criar uma TPU usando a API Create Node,
utilize 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 internos e externos.
Este comando 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 flags 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 aceitos por cada versão de TPU, consulte Versões de TPU.
version- A versão do software de 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 é uma VM protegida? para obter mais detalhes.
Console
No console do 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 do Cloud TPU que você quer criar. Para mais informações sobre os tipos de acelerador aceitos em 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 de TPU especifica a versão do ambiente de execução de TPU que será instalada. Para mais informações, consulte Versões do software de 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 projeto do Google Cloud inscrito.
zone- A zona em que você vai criar o Cloud TPU.
node_name- O nome da VM de TPU que você vai criar.
Java
Para autenticar-se 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-se 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-se 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-se 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-se 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-se 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 um Cloud TPU
É possível se conectar por SSH a um Cloud TPU.
Se você não consegue se conectar a uma VM de TPU usando SSH, ela pode não ter um endereço IP externo. Para acessar uma VM de TPU sem um endereço IP externo, siga as instruções em Conectar-se a uma VM de TPU sem um endereço IP público.
gcloud
Conecte-se por SSH ao Cloud TPU:
$ 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ódigos, conecte-se a cada VM de TPU usando
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, utilize 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 várias frações, é possível executar um comando em uma única VM usando o
nome de TPU enumerado, 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 do Google Cloud , use SSH no navegador:
No console do Google Cloud , acesse a página TPUs:
Na lista de VMs de TPU, clique em SSH na linha da VM à qual 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 do Google Cloud , acesse a página TPUs:
Java
Para autenticar-se 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-se 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-se 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 do Google Cloud , acesse a página TPUs:
Clique no nome do Cloud TPU. O console mostra a página de detalhes do Cloud TPU.
Java
Para autenticar-se 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-se 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-se no Cloud TPU, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Interromper os recursos do Cloud TPU
É possível parar um único Cloud TPU para interromper as cobranças sem perder a configuração e o software da VM.
gcloud
$ gcloud compute tpus tpu-vm stop tpu-name \ --zone=zone
Console
No console do Google Cloud , acesse a página TPUs:
Marque a caixa de seleção ao lado do Cloud TPU.
Clique em Interromper.
Java
Para autenticar-se 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-se 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-se 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 do Cloud TPU
Quando um Cloud TPU está parado, você pode iniciá-lo.
gcloud
$ gcloud compute tpus tpu-vm start tpu-name \ --zone=zone
Console
No console do Google Cloud , acesse a página TPUs:
Marque a caixa de seleção ao lado do Cloud TPU.
Clicar em Iniciar.
Java
Para autenticar-se 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-se 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-se 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 da VM de TPU no final da sessão.
gcloud
$ gcloud compute tpus tpu-vm delete tpu-name \ --zone=zone \ --quiet
Descrições de flags de comando
zone- A zona da qual você planeja excluir o Cloud TPU.
quiet- Desativa todos os prompts interativos ao executar comandos da gcloud CLI.
Console
No console do Google Cloud , acesse a página TPUs:
Marque a caixa de seleção ao lado do Cloud TPU.
Clique em Excluir.
Java
Para autenticar-se 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-se 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-se no Cloud TPU, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.