Faça a gestão dos recursos da TPU
Esta página descreve como criar, listar, parar, iniciar, eliminar e estabelecer ligação a
TPUs na nuvem através da API Create Node. A API Create Node é chamada quando
executa o comando gcloud compute tpus tpu-vm create
através da CLI Google Cloud
e quando cria uma TPU através da consola Google Cloud . Quando usa a API Create
Node, o seu pedido é processado imediatamente. Se não houver capacidade suficiente para satisfazer o seu pedido, este vai falhar.
A prática recomendada é criar TPUs através de recursos em fila em vez da API Create Node. Quando pede recursos em fila, o pedido é adicionado a uma fila mantida pelo serviço Cloud TPU. Quando o recurso pedido fica disponível, é atribuído ao seu Google Cloud projeto para sua utilização exclusiva imediata. Para mais informações, consulte o artigo Faça a gestão dos recursos em fila.
Quando usar o Multislice, tem de usar recursos em fila. Para mais informações, consulte a introdução ao corte múltiplo.
Se quiser usar o Google Kubernetes Engine (GKE) para gerir recursos de TPU, tem de criar primeiro um cluster do GKE. Em seguida, adicione pools de nós com fatias de TPU ao cluster. Para mais informações, consulte o artigo Acerca das TPUs no GKE.
Pré-requisitos
Antes de executar estes procedimentos, tem de:
Instale a CLI Google Cloud, crie um Google Cloud projeto e ative a API Cloud TPU. Para ver instruções, consulte o artigo Configure o ambiente do Cloud TPU.
Se estiver a usar uma das bibliotecas de cliente da nuvem, siga as instruções de configuração para o idioma que está a usar:
Para evitar 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 Google Cloud projeto.
Crie uma TPU do Google Cloud através da API Create Node
Pode criar uma Cloud TPU através do comando gcloud
, da consola Google Cloud ou da API Cloud TPU.
Quando cria uma Cloud TPU, tem de especificar a versão do software TPU (também denominada versão de tempo de execução). Para determinar que versão do software deve usar, consulte o artigo Versões do software da TPU.
Também tem de especificar a configuração da TPU em termos de TensorCores ou chips de TPU. Para mais informações, consulte a secção relativa à versão da TPU que está a usar em Arquitetura do sistema.
gcloud
Para criar uma TPU através da 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 seguinte 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 das flags de comando
zone
- A zona onde planeia criar a sua Cloud TPU.
accelerator-type
- O tipo de acelerador especifica a versão e o tamanho da Cloud TPU que quer criar. Para mais informações sobre os tipos de aceleradores suportados para cada versão da TPU, consulte o artigo Versões da TPU.
version
- A versão do software da TPU.
shielded-secure-boot
(opcional)- Especifica que as instâncias de TPU são criadas com o arranque seguro ativado. Isto torna-as implicitamente instâncias de VM protegidas. Consulte o artigo O que é uma VM protegida? para mais detalhes.
Consola
Na Google Cloud consola, aceda à página TPUs:
Clique em Criar TPU.
No campo Nome, introduza um nome para a TPU.
Na caixa Zona, selecione a zona na qual criar a UTP.
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 quer criar. Para mais informações sobre os tipos de aceleradores suportados para cada versão da TPU, consulte o artigo Versões da TPU.
Na caixa Versão do software da TPU, selecione uma versão do software. Quando cria uma VM da Cloud TPU, a versão do software da TPU especifica a versão do tempo de execução da TPU a instalar. Para mais informações, consulte o artigo Versões de software da TPU.
Clique em Criar para criar os recursos.
curl
O comando seguinte 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 de tempo de execução da Cloud TPU que quer usar.
project-id
- O nome do seu projeto Google Cloud inscrito.
zone
- A zona onde está a criar a sua TPU do Google Cloud.
node_name
- O nome da VM da TPU que está a criar.
Java
Para se autenticar no Cloud TPU, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para se autenticar no Cloud TPU, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para se autenticar no Cloud TPU, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Execute um script de arranque
gcloud
Pode executar um script de arranque em cada VM da TPU especificando a flag --metadata startup-script
quando criar a VM da TPU. O comando
seguinte cria uma VM de TPU através de um script de arranque.
$ 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 se autenticar no Cloud TPU, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para se autenticar no Cloud TPU, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para se autenticar no Cloud TPU, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Ligue-se a um Cloud TPU
Pode estabelecer ligação a uma Cloud TPU através de SSH.
Se não conseguir estabelecer ligação a uma VM de TPU através de SSH, pode dever-se ao facto de a VM de TPU não ter um endereço IP externo. Para aceder a uma VM da TPU sem um endereço IP externo, siga as instruções em Estabeleça ligação a uma VM da TPU sem um endereço IP público.
gcloud
Estabeleça ligação ao Cloud TPU através de SSH:
$ gcloud compute tpus tpu-vm ssh tpu-name --zone=zone
Quando pede uma fatia maior do que um único anfitrião, a Cloud TPU cria uma VM de TPU para cada anfitrião. O número de chips de TPU por anfitrião depende da versão da TPU.
Para instalar ficheiros binários ou executar código, ligue-se a cada VM da TPU através do comando
tpu-vm ssh command
.
$ gcloud compute tpus tpu-vm ssh tpu-name --zone=zone
Para estabelecer ligação a uma VM da TPU específica através do 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, pode executar um comando numa única VM usando o nome da TPU enumerado, com cada prefixo de fatia e o número anexado. Para executar um comando em todas as VMs da TPU em todas as divisões, use os sinalizadores --node=all
, --worker=all
e --command
, com um sinalizador --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
Consola
Para estabelecer ligação às suas UTPs na Google Cloud consola, use o SSH no navegador:
Na Google Cloud consola, aceda à página TPUs:
Na lista de VMs da TPU, clique em SSH na linha da VM da TPU à qual quer estabelecer ligação.
Liste os seus recursos de Cloud TPU
Pode listar todas as suas TPUs na nuvem numa zona especificada.
gcloud
$ gcloud compute tpus tpu-vm list --zone=zone
Consola
Na Google Cloud consola, aceda à página TPUs:
Java
Para se autenticar no Cloud TPU, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para se autenticar no Cloud TPU, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para se autenticar no Cloud TPU, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Recupere informações sobre o seu Cloud TPU
Pode obter informações sobre uma Cloud TPU especificada.
gcloud
$ gcloud compute tpus tpu-vm describe tpu-name \ --zone=zone
Consola
Na Google Cloud consola, aceda à página TPUs:
Clique no nome do Cloud TPU. A consola apresenta a página de detalhes do Cloud TPU.
Java
Para se autenticar no Cloud TPU, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para se autenticar no Cloud TPU, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para se autenticar no Cloud TPU, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Pare os seus recursos do Cloud TPU
Pode parar uma única Cloud TPU para deixar de incorrer em custos sem perder a configuração e o software da VM.
gcloud
$ gcloud compute tpus tpu-vm stop tpu-name \ --zone=zone
Consola
Na Google Cloud consola, aceda à página TPUs:
Selecione a caixa de verificação junto à TPU do Google Cloud.
Clique em
Parar.
Java
Para se autenticar no Cloud TPU, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para se autenticar no Cloud TPU, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para se autenticar no Cloud TPU, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Inicie os seus recursos do Cloud TPU
Pode iniciar uma TPU do Google Cloud quando esta estiver parada.
gcloud
$ gcloud compute tpus tpu-vm start tpu-name \ --zone=zone
Consola
Na Google Cloud consola, aceda à página TPUs:
Selecione a caixa de verificação junto à TPU do Google Cloud.
Clique em
Iniciar.
Java
Para se autenticar no Cloud TPU, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para se autenticar no Cloud TPU, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para se autenticar no Cloud TPU, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Elimine uma Cloud TPU
Elimine as fatias de VM de TPU no final da sessão.
gcloud
$ gcloud compute tpus tpu-vm delete tpu-name \ --zone=zone \ --quiet
Descrições das flags de comando
zone
- A zona onde planeia eliminar a Cloud TPU.
quiet
- Desativa todos os comandos interativos quando executa comandos da CLI gcloud.
Consola
Na Google Cloud consola, aceda à página TPUs:
Selecione a caixa de verificação junto à TPU do Google Cloud.
Clique em
Eliminar.
Java
Para se autenticar no Cloud TPU, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para se autenticar no Cloud TPU, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para se autenticar no Cloud TPU, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.