En este documento, se describe cómo crear una instancia de máquina virtual (VM) de TPU. Una VM de TPU también se denomina porción de TPU de host único.
Para crear un grupo de porciones de host único, consulta Crea un MIG con porciones de TPU de host único.
Antes de comenzar
-
Si aún no lo hiciste, configura la autenticación.
La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar
código o muestras desde un entorno de desarrollo local, puedes autenticarte en
Compute Engine seleccionando una de las siguientes opciones:
Selecciona la pestaña según cómo planeas usar las muestras en esta página:
gcloud
-
Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada. Después de acceder, inicializa Google Cloud CLI ejecutando el siguiente comando:
gcloud init
-
- Configura una región y una zona predeterminadas.
REST
Para usar las muestras de la API de REST incluidas en esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la gcloud CLI.
Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada.
Para obtener más información, consulta Autentícate para usar REST en la documentación de autenticación de. Google Cloud
Requisitos previos
Antes de continuar para crear una instancia de TPU, debes hacer lo siguiente:
Elige la versión de TPU: Selecciona la versión de TPU adecuada para tu carga de trabajo. Para obtener una lista de versiones de TPU por tipo de carga de trabajo, consulta Versiones de TPU recomendadas por tipos de carga de trabajo.
Valida la disponibilidad de la TPU en tu ubicación preferida: Las TPUs están disponibles en regiones específicas Google Cloud . Para usar una versión de TPU, asegúrate de que esté disponible en tu región preferida. Para obtener una lista de ubicaciones de TPU, consulta Disponibilidad de TPU.
Asegúrate de que tu proyecto tenga suficiente cuota de TPU: Si creas una instancia de TPU con VMs según demanda o Spot, debes tener suficiente cuota de TPU disponible en la región que deseas usar. Crear una instancia de TPU que consuma una reserva de TPU no requiere ninguna cuota de TPU, ya que la cuota se usa cuando se creó la reserva. Para obtener una lista de nombres de cuotas de TPU, consulta Cuota de TPU y, para obtener instrucciones sobre cómo ver la cuota, consulta Visualiza y administra cuotas
Elige una opción de consumo de TPU: Selecciona una opción de consumo que se adapte mejor a tu carga de trabajo, su duración y tus necesidades de costos. Para obtener una lista de la disponibilidad de opciones de consumo por versiones de TPU, consulta Opciones de consumo de TPU.
Crea una instancia de VM de TPU
Los parámetros que usas para crear una instancia de TPU VM dependen de la opción de consumo que uses: según demanda, Spot, vinculada a la reserva o de inicio flexible. Para obtener más información, consulta Acerca de los modelos de aprovisionamiento de VMs .
Crea una instancia de VM de TPU según demanda
Para crear una instancia de VM de TPU según demanda, usa el
gcloud compute instances create comando:
gcloud
gcloud compute instances create TPU_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--zone=ZONE \
--maintenance-policy=TERMINATE
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"name": "TPU_NAME",
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
}
}
],
"scheduling": {
"onHostMaintenance": "TERMINATE"
},
"networkInterfaces": [
{
"network": "global/networks/default"
}
]
}' \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances"
Reemplaza los marcadores de posición que se indican más abajo:
- PROJECT_ID: Es el ID de tu Google Cloud proyecto.
- TPU_NAME: Es un nombre para tu VM de TPU.
- MACHINE_TYPE: Es el tipo de máquina
para la VM de TPU (por ejemplo,
ct6e-standard-8t). - IMAGE_FAMILY: Es la familia de imágenes del SO
para la VM de TPU. Si deseas instalar una versión específica del SO, usa la
--imagemarca. Para obtener más información sobre las imágenes del SO, consulta Imágenes del SO. - IMAGE_PROJECT: Es el proyecto que contiene la imagen de SO.
Para las imágenes de TPU, es
ubuntu-os-accelerator-images. - ZONE: Es la zona
de la VM de TPU (por ejemplo,
us-central1-b).
Crea una instancia de VM Spot de TPU
Para crear una instancia de VM Spot de TPU, usa el
gcloud compute instances create comando
con la --provisioning-model=SPOT marca:
gcloud
gcloud compute instances create TPU_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--zone=ZONE \
--provisioning-model=SPOT \
--instance-termination-action=DELETE \
--maintenance-policy=TERMINATE
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"name": "TPU_NAME",
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
}
}
],
"scheduling": {
"onHostMaintenance": "TERMINATE",
"provisioningModel": "SPOT",
"instanceTerminationAction": "DELETE"
},
"networkInterfaces": [
{
"network": "global/networks/default"
}
]
}' \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances"
Reemplaza los marcadores de posición que se indican más abajo:
- PROJECT_ID: Es el ID de tu Google Cloud proyecto.
- TPU_NAME: Es un nombre para tu VM de TPU.
- MACHINE_TYPE: Es el tipo de máquina
para la VM de TPU (por ejemplo,
ct6e-standard-8t). - IMAGE_FAMILY: Es la familia de imágenes del SO
para la VM de TPU. Si deseas instalar una versión específica del SO, usa la
--imagemarca. Para obtener más información sobre las imágenes del SO, consulta Imágenes del SO. - IMAGE_PROJECT: Es el proyecto que contiene la imagen de SO.
Para las imágenes de TPU, es
ubuntu-os-accelerator-images. - ZONE: Es la zona
de la VM de TPU (por ejemplo,
us-central1-b).
Crea una instancia de VM de TPU con una reserva
Para crear una instancia de VM de TPU con la opción de consumo vinculada a la reserva,
usa el
gcloud compute instances create comando
con las marcas --reservation-affinity=specific y --reservation:
gcloud
gcloud compute instances create TPU_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--zone=ZONE \
--provisioning-model=reservation-bound \
--reservation-affinity=specific \
--reservation=RESERVATION_NAME \
--instance-termination-action=DELETE \
--maintenance-policy=TERMINATE
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"name": "TPU_NAME",
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
}
}
],
"scheduling": {
"onHostMaintenance": "TERMINATE",
"provisioningModel": "RESERVATION_BOUND",
"instanceTerminationAction": "DELETE"
},
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"reservationAffinity": {
"consumeReservationType": "SPECIFIC_RESERVATION",
"key": "compute.googleapis.com/reservation-name",
"values": [
"RESERVATION_NAME"
]
}
}' \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances"
Reemplaza los marcadores de posición que se indican más abajo:
- PROJECT_ID: Es el ID de tu Google Cloud proyecto.
- TPU_NAME: Es un nombre para tu VM de TPU.
- MACHINE_TYPE: Es el tipo de máquina
para la VM de TPU (por ejemplo,
ct6e-standard-8t). - IMAGE_FAMILY: Es la familia de imágenes del SO
para la VM de TPU. Si deseas instalar una versión específica del SO, usa la
--imagemarca. Para obtener más información sobre las imágenes del SO, consulta Imágenes del SO. - IMAGE_PROJECT: Es el proyecto que contiene la imagen de SO.
Para las imágenes de TPU, es
ubuntu-os-accelerator-images. - ZONE: Es la zona
de la VM de TPU (por ejemplo,
us-central1-b). - RESERVATION_NAME: Es el nombre de tu reserva.
Crea una VM de TPU de inicio flexible
Para crear una instancia de VM de TPU de inicio flexible, usa el
gcloud compute instances create comando
con la --provisioning-model=FLEX_START marca:
gcloud
gcloud compute instances create TPU_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--zone=ZONE \
--provisioning-model=FLEX_START \
--max-run-duration=MAX_RUN_DURATION \
--request-valid-for-duration=VALID_DURATION \
--instance-termination-action=DELETE \
--maintenance-policy=TERMINATE
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"name": "TPU_NAME",
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
}
}
],
"params": {
"requestValidForDuration": {
"seconds": VALID_DURATION
}
},
"scheduling": {
"onHostMaintenance": "TERMINATE",
"provisioningModel": "FLEX_START",
"instanceTerminationAction": "DELETE",
"maxRunDuration": {
"seconds": MAX_RUN_DURATION
}
},
"networkInterfaces": [
{
"network": "global/networks/default"
}
]
}' \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances"
Reemplaza los marcadores de posición que se indican más abajo:
- PROJECT_ID: Es el ID de tu Google Cloud proyecto.
- TPU_NAME: Es un nombre para tu VM de TPU.
- MACHINE_TYPE: Es el tipo de máquina
para la VM de TPU (por ejemplo,
ct6e-standard-8t). - IMAGE_FAMILY: Es la familia de imágenes del SO
para la VM de TPU. Si deseas instalar una versión específica del SO, usa la
--imagemarca. Para obtener más información sobre las imágenes del SO, consulta Imágenes del SO. - IMAGE_PROJECT: Es el proyecto que contiene la imagen de SO.
Para las imágenes de TPU, es
ubuntu-os-accelerator-images. - ZONE: Es la zona
de la VM de TPU (por ejemplo,
us-central1-b). - MAX_RUN_DURATION: Es la duración máxima de ejecución de la VM de TPU (por ejemplo,
6h). Para REST, especifica esto como una cantidad de segundos (por ejemplo,21600durante 6 horas). - VALID_DURATION: Es la duración máxima durante la cual la
solicitud es válida. Para REST, especifica esto como una cantidad de segundos (por ejemplo,
3600durante 1 hora). La solicitud es válida.
Para obtener más información sobre la creación de instancias de Compute Engine, consulta Crea y, luego, inicia una instancia de Compute Engine.
Limitaciones
Operaciones de ciclo de vida: No puedes detener, iniciar, reanudar ni suspender instancias de TPU. Para cambiar las configuraciones que requieren un reinicio o para dejar de generar cargos, debes borrar las instancias.
Actualizar los detalles de la VM: Puedes actualizar las propiedades que solo requieren una acción de actualización (
REFRESH). Si una configuración requiere un reinicio (RESTART), debes volver a crear la instancia.