Administra recursos de TPU
En esta página, se describe cómo crear, enumerar, detener, iniciar, borrar y conectarse a las TPU de Cloud con la API de Create Node. Se llama a la API de Create Node 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 Create Node, tu solicitud se procesa de inmediato. Si no hay suficiente capacidad para completar la solicitud, esta fallará.
La práctica recomendada es crear TPU con recursos en cola en lugar de la API de Create Node. 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 asignará a tu proyecto de Google Cloud para tu uso exclusivo inmediato. Para obtener más información, consulta Administra recursos en cola.
Cuando usas 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 de TPU, primero debes crear un clúster de GKE. Luego, agregas grupos de nodos que contienen porciones de TPU a tu clúster. Para obtener más información, consulta Acerca de las TPU en GKE.
Requisitos previos
Antes de ejecutar estos procedimientos, debes instalar Google Cloud CLI, crear un proyecto de Google Cloud y habilitar la API de Cloud TPU. Para obtener instrucciones, consulta Configura el entorno de Cloud TPU.
Si usas Google Cloud CLI, puedes ejecutar comandos con Cloud Shell, una VM de Compute Engine o tu máquina local.
Cloud Shell te permite interactuar con Cloud TPU sin tener que instalar ningún software. Cloud Shell se desconecta después de un período de inactividad. Si ejecutas comandos de larga duración, te recomendamos que instales Google Cloud CLI en tu máquina local. Para obtener más información sobre Google Cloud CLI, consulta la Referencia de gcloud
.
Crea una Cloud TPU con la API de Create Node
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 imagen de la VM de TPU (también llamada versión de software de TPU). Para determinar qué imagen de VM debes usar, consulta Imágenes de VM de TPU.
También debes especificar la configuración de 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 Create Node, 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 configuración de TPU v4-8:
$ gcloud compute tpus tpu-vm create tpu-name \ --zone=us-central2-b \ --accelerator-type=v4-8 \ --version=tpu-software-version
Descripciones de las marcas de comandos
zone
- Es la zona en la que deseas crear la 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
- La versión del software de la TPU.
shielded-secure-boot
(opcional)- Especifica que las instancias de TPU se crean con el inicio seguro habilitado. Esto las convierte implícitamente en instancias de VM protegida. Consulta ¿Qué es una VM protegida? para obtener más detalles.
El siguiente comando crea una TPU con una topología específica:
$ gcloud compute tpus tpu-vm create tpu-name \ --zone=us-central2-b \ --type=v4 \ --topology=2x2x1 \ --version=tpu-software-version
Marcas obligatorias
tpu-name
- Es el nombre de la VM de TPU que estás creando.
zone
- Es la zona en la que estás creando la Cloud TPU.
type
- La versión de TPU que deseas usar. Para obtener más información, consulta Versiones de TPU.
topology
- La disposición física de los chips TPU, que especifica la cantidad de chips en cada dimensión. Para obtener más información sobre las topologías compatibles para cada versión de TPU, consulta Versiones de TPU.
version
- La versión del software de TPU que quieres usar. Para obtener más información, consulta Versiones de software de TPU.
Console
En la consola de Google Cloud, ve a la página TPUs:
Haz clic en Crear TPU.
En el campo Nombre, ingresa un nombre para 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 del software de TPU especifica la versión del entorno de ejecución de TPU que se instalará. Para obtener más información, consulta Imágenes de VM 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: 'v4-8', \ runtime_version:'tpu-vm-tf-2.18.0-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
- La versión del entorno de ejecución de Cloud TPU que deseas usar.
project
- El nombre de tu proyecto de Google Cloud inscrito.
zone
- Es la zona en la que creas la Cloud TPU.
node_name
- Es el nombre de la VM de TPU que creas.
Ejecuta una secuencia de comandos de inicio
Para ejecutar una secuencia de comandos de inicio en cada VM de TPU, especifica la marca --metadata startup-script
cuando crees la VM de TPU. Con el siguiente comando, se 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=tpu-type \ --version=tpu-vm-tf-2.18.0-pjrt \ --metadata startup-script='#! /bin/bash pip3 install numpy EOF'
Cómo conectarse a una Cloud TPU
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
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 --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 \ --project=your_project_ID \ --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 con el nombre de la TPU enumerada, con cada prefijo de porción y el número agregado. 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 opcional --batch-size
.
$ gcloud compute tpus queued-resources ssh ${QUEUED_RESOURCE_ID} \ --project=project_ID \ --zone=zone \ --node=all \ --worker=all \ --command='pip install "jax[tpu]==0.4.20" -f https://storage.googleapis.com/jax-releases/libtpu_releases.html' \ --batch-size=4
Console
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 TPUs:
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
Console
En la consola de Google Cloud, ve a la página TPUs:
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
Console
En la consola de Google Cloud, ve a la página TPUs:
Haz clic en el nombre de tu Cloud TPU. En la consola, se muestra la página de detalles de Cloud TPU.
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
Console
En la consola de Google Cloud, ve a la página TPUs:
Selecciona la casilla de verificación junto a tu Cloud TPU.
Haz clic en
Detener.
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
Console
En la consola de Google Cloud, ve a la página TPUs:
Selecciona la casilla de verificación junto a tu Cloud TPU.
Haz clic en
Iniciar.
Cómo borrar una Cloud TPU
Borra las porciones de tu VM de TPU al final de la sesión.
gcloud
$ gcloud compute tpus tpu-vm delete tpu-name \ --project=project-id \ --zone=zone \ --quiet
Descripciones de las marcas de comandos
zone
- Es la zona en la que deseas borrar la Cloud TPU.
Console
En la consola de Google Cloud, ve a la página TPUs:
Selecciona la casilla de verificación junto a tu Cloud TPU.
Haz clic en
Borrar.