Gestionar recursos de TPU
En esta página se describe cómo crear, enumerar, detener, iniciar, eliminar y conectar con TPUs de Cloud mediante la API Create Node. Se llama a la API Create Node cuando ejecutas el comando gcloud compute tpus tpu-vm create
con la CLI de Google Cloud y cuando creas una TPU con la consola Google Cloud . Cuando usas la API CreateNode, tu solicitud se procesa inmediatamente. Si no hay suficiente capacidad para completar tu solicitud, esta fallará.
La práctica recomendada es crear TPUs mediante recursos en cola en lugar de usar la API Create Node. Cuando solicitas recursos en cola, la solicitud se añade a una cola que mantiene el servicio Cloud TPU. Cuando el recurso solicitado esté disponible, se asignará a tu Google Cloud proyecto para que lo uses de forma inmediata y exclusiva. Para obtener más información, consulta Gestionar recursos en cola.
Cuando se usa Multislice, se deben usar recursos en cola. Consulta más información sobre la introducción a los multislices.
Si quieres usar Google Kubernetes Engine (GKE) para gestionar recursos de TPU, primero debes crear un clúster de GKE. A continuación, añade grupos de nodos que contengan slices de TPU a tu clúster. Para obtener más información, consulta el artículo Acerca de las TPUs en GKE.
Requisitos previos
Antes de ejecutar estos procedimientos, debes hacer lo siguiente:
Instala Google Cloud CLI, crea un Google Cloud proyecto y habilita la API Cloud TPU. Para obtener instrucciones, consulta Configurar el entorno de Cloud TPU.
Si usas una de las bibliotecas de cliente de Cloud, sigue las instrucciones de configuración del lenguaje que estés usando:
Para no tener que definir la marca
--project
en cada comando de gcloud CLI, usa el comandogcloud config set
para definir el ID del proyecto en tu configuración activa:gcloud config set project project-id
Sustituye project-id por el nombre de tu Google Cloud proyecto.
Crear una TPU de Cloud con la API Create Node
Puedes crear una TPU de Cloud mediante gcloud
, la Google Cloud consola o la API de TPU de Cloud.
Cuando creas una TPU de Cloud, debes especificar la versión del software de la TPU (también denominada versión de tiempo de ejecución). Para determinar qué versión de software debes usar, consulta Versiones de software de TPU.
También debes especificar la configuración de la TPU en términos de TensorCores o chips de TPU. Para obtener más información, consulta la sección correspondiente a la versión de TPU que estés usando en Arquitectura del sistema.
gcloud
.Para crear una TPU con la API Create Node, usa el comando gcloud compute tpus tpu-vm create
.
Para configurar direcciones IP internas o externas específicas, consulta las instrucciones de Direcciones IP externas e internas.
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 marcas de comandos
zone
- La zona en la que tienes previsto crear tu TPU de Cloud.
accelerator-type
- El tipo de acelerador especifica la versión y el tamaño de la TPU de Cloud que quieres 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 arranque seguro habilitado. Esto las convierte implícitamente en instancias de VM blindadas. Consulta ¿Qué es una VM blindada? para obtener más información.
Consola
En la Google Cloud consola, ve a la página TPUs:
Haz clic en Crear TPU.
En el campo Name (Nombre), introduce un nombre para tu TPU.
En el cuadro Zona, selecciona la zona en la que quieres 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 TPU de Cloud que quieres 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 la TPU, selecciona una versión de software. Al crear una VM de TPU de Cloud, la versión de software de TPU especifica la versión del tiempo de ejecución de TPU que se va a instalar. Para obtener más información, consulta Versiones de software de TPU.
Haz clic en Crear para crear los 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
- La versión del entorno de ejecución de TPU de Cloud que quieras usar.
project-id
- El nombre del proyecto registrado. Google Cloud
zone
- La zona en la que vas a crear tu TPU de Cloud.
node_name
- El nombre de la VM de TPU que vas a crear.
Java
Para autenticarte en Cloud TPU, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en 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 el artículo Configurar la autenticación en 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 el artículo Configurar la autenticación en un entorno de desarrollo local.
Ejecutar 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
al crear la VM de TPU. El siguiente comando crea una VM de TPU mediante 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 el artículo Configurar la autenticación en 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 el artículo Configurar la autenticación en 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 el artículo Configurar la autenticación en un entorno de desarrollo local.
Conectarse a una TPU de Cloud
Puedes conectarte a una TPU de Cloud mediante SSH.
Si no puedes conectarte a una VM de TPU mediante SSH, puede deberse a que la VM de TPU no tiene 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 Conectarse a una VM de TPU sin una dirección IP pública.
gcloud
Conéctate a tu TPU de Cloud mediante SSH:
$ gcloud compute tpus tpu-vm ssh tpu-name --zone=zone
Cuando solicitas un segmento más grande que un solo host, Cloud TPU crea una VM de TPU para cada host. El número de chips de TPU por host depende de la versión de TPU.
Para instalar archivos binarios o ejecutar código, conéctate a cada VM de TPU mediante tpu-vm ssh command
.
$ gcloud compute tpus tpu-vm ssh tpu-name --zone=zone
Para conectarte a una VM de TPU específica mediante 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 TPU enumerado, con cada prefijo de segmento y el número añadido. Para ejecutar un comando en todas las VMs de TPU de todos los segmentos, usa las marcas --node=all
, --worker=all
y --command
, con la marca opcional --batch-size
.
$ 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 TPUs en la consola de Google Cloud , usa SSH en el navegador:
En la Google Cloud consola, ve a la página TPUs:
En la lista de máquinas virtuales de TPU, haz clic en SSH en la fila de la máquina virtual de TPU a la que quieras conectarte.
Listar los recursos de TPU de Cloud
Puedes enumerar todas tus TPUs de Cloud en una zona específica.
gcloud
$ gcloud compute tpus tpu-vm list --zone=zone
Consola
En la Google Cloud consola, ve a la página TPUs:
Java
Para autenticarte en Cloud TPU, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en 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 el artículo Configurar la autenticación en 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 el artículo Configurar la autenticación en un entorno de desarrollo local.
Obtener información sobre tu TPU de Cloud
Puedes obtener información sobre una TPU de Cloud específica.
gcloud
$ gcloud compute tpus tpu-vm describe tpu-name \ --zone=zone
Consola
En la Google Cloud consola, ve a la página TPUs:
Haz clic en el nombre de tu TPU de Cloud. La consola 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 el artículo Configurar la autenticación en 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 el artículo Configurar la autenticación en 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 el artículo Configurar la autenticación en un entorno de desarrollo local.
Detener los recursos de TPU de Cloud
Puedes detener una sola TPU de Cloud para dejar de incurrir en cargos sin perder la configuración ni el software de tu máquina virtual.
gcloud
$ gcloud compute tpus tpu-vm stop tpu-name \ --zone=zone
Consola
En la Google Cloud consola, ve a la página TPUs:
Selecciona la casilla situada junto a tu TPU de Cloud.
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 el artículo Configurar la autenticación en 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 el artículo Configurar la autenticación en 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 el artículo Configurar la autenticación en un entorno de desarrollo local.
Iniciar los recursos de TPU de Cloud
Puedes iniciar una TPU de Cloud cuando esté detenida.
gcloud
$ gcloud compute tpus tpu-vm start tpu-name \ --zone=zone
Consola
En la Google Cloud consola, ve a la página TPUs:
Selecciona la casilla situada junto a tu TPU de Cloud.
Haz clic en
Empezar.
Java
Para autenticarte en Cloud TPU, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en 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 el artículo Configurar la autenticación en 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 el artículo Configurar la autenticación en un entorno de desarrollo local.
Eliminar una TPU de Cloud
Elimina tus slices de VM de TPU al final de la sesión.
gcloud
$ gcloud compute tpus tpu-vm delete tpu-name \ --zone=zone \ --quiet
Descripciones de marcas de comandos
zone
- La zona donde tienes previsto eliminar tu TPU de Cloud.
quiet
- Inhabilita todas las peticiones interactivas al ejecutar comandos de la CLI de gcloud.
Consola
En la Google Cloud consola, ve a la página TPUs:
Selecciona la casilla situada junto a tu TPU de Cloud.
Haz clic en
Eliminar.
Java
Para autenticarte en Cloud TPU, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en 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 el artículo Configurar la autenticación en 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 el artículo Configurar la autenticación en un entorno de desarrollo local.