Administra recursos TPU
En esta página, se describe cómo crear, enumerar, detener, iniciar, borrar y conectar
Cloud TPU con la API de creación de nodos. Se llama a la API de creación de nodos cuando
ejecutas el comando gcloud compute tpus tpu-vm create con Google Cloud CLI
y cuando creas una TPU con la consola de Google Cloud . Cuando usas la API de creación
de nodos, tu solicitud se procesa de inmediato. Tu solicitud fallará si no hay
capacidad suficiente para satisfacerla.
La práctica recomendada es crear TPU con recursos en cola en lugar de la API de creación de nodos. Cuando se solicitan recursos en cola, la solicitud se agrega a una cola que mantiene el servicio de Cloud TPU. Cuando el recurso solicitado está disponible, se asigna a tu proyecto de Google Cloud para el uso exclusivo inmediato. Para obtener más información, consulta Administra recursos en cola.
Cuando uses Multislice, debes usar recursos en cola. Para obtener más información, consulta Introducción a Multislice.
Si quieres usar Google Kubernetes Engine (GKE) para administrar recursos TPU, primero debes crear un clúster de GKE. Luego, agrega grupos de nodos que contengan segmentos de TPU a tu clúster. Para obtener más información, consulta Sobre TPU en GKE.
Requisitos previos
Antes de ejecutar estos procedimientos, debes hacer lo siguiente:
Instala Google Cloud CLI, crea un proyecto de Google Cloud y habilita la API de Cloud TPU. Para obtener instrucciones, consulta Configura el entorno de Cloud TPU.
Si usas una de las bibliotecas cliente de Cloud, sigue las instrucciones de configuración para el lenguaje que usas:
Para no tener que configurar la marca
--projecten cada comando de gcloud CLI, usa el comandogcloud config setpara establecer el ID del proyecto en tu configuración activa:gcloud config set project project-id
Reemplaza project-id por el nombre de tu proyecto de Google Cloud .
Crea una Cloud TPU con la API de creación de nodos
Puedes crear una Cloud TPU con gcloud, la consola de Google Cloud
o la API de Cloud TPU.
Cuando creas una Cloud TPU, debes especificar la versión de software de la TPU, también llamada versión del entorno de ejecución. Para determinar qué versión de software debes usar, consulta Versiones de software de la TPU.
También debes especificar la configuración de la TPU en términos de TensorCores o chips TPU. Para obtener más información, consulta la sección de la versión de TPU que usas en Arquitectura del sistema.
gcloud
Para crear una TPU con la API de creación de nodos, usa
el comando gcloud compute tpus tpu-vm create.
Para configurar direcciones IP internas o externas específicas, consulta las instrucciones en
Direcciones IP internas y externas.
El siguiente comando usa una TPU v5litepod-8 (v5e):
$ gcloud compute tpus tpu-vm create tpu-name \ --zone=us-central2-b \ --accelerator-type=v5litepod-8 \ --version=tpu-software-version
Descripciones de las marcas de comandos
zone- Es la zona en la que deseas crear tu Cloud TPU.
accelerator-type- El tipo de acelerador especifica la versión y el tamaño de la Cloud TPU que deseas crear. Para obtener más información sobre los tipos de aceleradores compatibles con cada versión de TPU, consulta Versiones de TPU.
version- Es la versión de software de la TPU.
shielded-secure-boot(opcional)- Especifica que las instancias de la TPU se crean con el arranque seguro habilitado. Esto las convierte de forma implícita en instancias de VM protegida. Consulta ¿Qué es una VM protegida? para obtener más detalles.
Consola
En la consola de Google Cloud , ve a la página TPU:
Haz clic en Crear una TPU.
En el campo Nombre, ingresa el nombre de tu TPU.
En el cuadro Zona, selecciona la zona en la que deseas crear la TPU.
En el cuadro Tipo de TPU, selecciona un tipo de acelerador. El tipo de acelerador especifica la versión y el tamaño de la Cloud TPU que deseas crear. Para obtener más información sobre los tipos de aceleradores compatibles con cada versión de TPU, consulta Versiones de TPU.
En el cuadro Versión de software de TPU, selecciona una versión de software. Cuando creas una VM de Cloud TPU, la versión de software de TPU especifica la versión del entorno de ejecución de TPU que se instalará. Para obtener más información, consulta Versiones de software de TPU.
Haz clic en Crear para crear tus recursos.
curl
El siguiente comando usa curl para crear una 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 obligatorios
runtime_version- Es la versión del entorno de ejecución de Cloud TPU que deseas usar.
project-id- Es el nombre de tu proyecto de Google Cloud registrado.
zone- Es la zona en la que crearás tu Cloud TPU.
node_name- Es el nombre de la VM de TPU que crearás.
Java
Para autenticarte en Cloud TPU, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Para autenticarte en Cloud TPU, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Para autenticarte en Cloud TPU, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Ejecuta una secuencia de comandos de inicio
gcloud
Puedes ejecutar una secuencia de comandos de inicio en cada VM de TPU especificando la
marca --metadata startup-script cuando las crees. El siguiente
comando crea una VM de TPU con una secuencia de comandos de inicio.
$ 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 autenticarte en Cloud TPU, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Para autenticarte en Cloud TPU, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Para autenticarte en Cloud TPU, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Conéctate a una Cloud TPU
Puedes conectarte a una Cloud TPU con SSH.
Si no puedes conectarte a una VM de TPU con SSH, es posible que la VM de TPU no tenga una dirección IP externa. Para acceder a una VM de TPU sin una dirección IP externa, sigue las instrucciones que se indican en Conéctate a una VM de TPU sin una dirección IP pública.
gcloud
Conéctate a tu Cloud TPU con SSH:
$ gcloud compute tpus tpu-vm ssh tpu-name --zone=zone
Cuando solicitas una porción más grande que un solo host, Cloud TPU crea una VM de TPU para cada host. La cantidad de chips TPU por host depende de la versión de TPU.
Para instalar objetos binarios o ejecutar código, conéctate a cada VM de TPU con
tpu-vm ssh command.
$ gcloud compute tpus tpu-vm ssh tpu-name --zone=zone
Para conectarte a una VM de TPU específica
con SSH, usa la marca --worker, que sigue un índice basado en 0.
$ gcloud compute tpus tpu-vm ssh tpu-name --zone=zone --worker=1
Para ejecutar un comando en todas las VMs de TPU con un solo comando, usa las
marcas --worker=all y --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'
En el caso de Multislice, puedes ejecutar un comando en una sola VM usando el
nombre de la TPU enumerado, con cada prefijo de porción y el número agregado a él. Para
ejecutar un comando en todas las VMs de TPU de todas las porciones, usa las marcas --node=all, --worker=all
y --command, con una marca --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 conectarte a tus TPU en la consola de Google Cloud , usa SSH en el navegador.
En la consola de Google Cloud , ve a la página TPU:
En la lista de VMs de TPU, haz clic en SSH en la fila de la VM de TPU a la que deseas conectarte.
Enumera tus recursos de Cloud TPU
Puedes enumerar todas tus Cloud TPU en una zona especificada.
gcloud
$ gcloud compute tpus tpu-vm list --zone=zone
Consola
En la consola de Google Cloud , ve a la página TPU:
Java
Para autenticarte en Cloud TPU, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Para autenticarte en Cloud TPU, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Para autenticarte en Cloud TPU, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Recupera información sobre tu Cloud TPU
Puedes recuperar información sobre una Cloud TPU especificada.
gcloud
$ gcloud compute tpus tpu-vm describe tpu-name \ --zone=zone
Consola
En la consola de Google Cloud , ve a la página TPU:
Haz clic en el nombre de tu Cloud TPU. En la consola, se muestra la página de detalles de Cloud TPU.
Java
Para autenticarte en Cloud TPU, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Para autenticarte en Cloud TPU, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Para autenticarte en Cloud TPU, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Detén tus recursos de Cloud TPU
Puedes detener una sola Cloud TPU para dejar de generar cargos sin perder la configuración ni el software de tu VM.
gcloud
$ gcloud compute tpus tpu-vm stop tpu-name \ --zone=zone
Consola
En la consola de Google Cloud , ve a la página TPU:
Selecciona la casilla de verificación junto a tu Cloud TPU.
Haz clic en Detener.
Java
Para autenticarte en Cloud TPU, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Para autenticarte en Cloud TPU, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Para autenticarte en Cloud TPU, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Inicia tus recursos de Cloud TPU
Puedes iniciar una Cloud TPU cuando está detenida.
gcloud
$ gcloud compute tpus tpu-vm start tpu-name \ --zone=zone
Consola
En la consola de Google Cloud , ve a la página TPU:
Selecciona la casilla de verificación junto a tu Cloud TPU.
Haz clic en Iniciar.
Java
Para autenticarte en Cloud TPU, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Para autenticarte en Cloud TPU, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Para autenticarte en Cloud TPU, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Borra una Cloud TPU
Borra las porciones de la VM de tu TPU al final de la sesión.
gcloud
$ gcloud compute tpus tpu-vm delete tpu-name \ --zone=zone \ --quiet
Descripciones de las marcas de comandos
zone- Es la zona en la que planeas borrar la Cloud TPU.
quiet- Inhabilita todos los prompts interactivos cuando se ejecutan comandos de gcloud CLI.
Consola
En la consola de Google Cloud , ve a la página TPU:
Selecciona la casilla de verificación junto a tu Cloud TPU.
Haz clic en Borrar.
Java
Para autenticarte en Cloud TPU, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Para autenticarte en Cloud TPU, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Para autenticarte en Cloud TPU, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.