Solicita VMs Spot de la TPU
Las VMs Spot ofrecen capacidad sin usar a tarifas con grandes descuentos. Si bien las VMs Spot se pueden interrumpir en cualquier momento, no tienen una duración máxima de ejecución, a diferencia de las TPU interrumpibles. Para reiniciar una instancia o un MIG de VMs Spot, debes borrarla y, luego, volver a crearla.
Para obtener más información sobre las VMs Spot, consulta la documentación de Compute Engine sobre las VMs Spot.
Crea VMs Spot de la TPU
Puedes crear VMs Spot de la TPU como instancias individuales o como parte de un grupo de instancias administrado (MIG).
Usa MIG para porciones de varios hosts (recomendado)
Para crear VMs Spot de la TPU con un MIG, especifica el modelo de aprovisionamiento Spot en tu plantilla de instancias.
Crea una plantilla de instancias:
gcloud
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --project=PROJECT_ID \ --machine-type=MACHINE_TYPE \ --maintenance-policy=TERMINATE \ --instance-termination-action=STOP \ --provisioning-model=SPOT \ --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECTREST
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "name": "INSTANCE_TEMPLATE_NAME", "properties": { "machineType": "MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" } } ], "scheduling": { "onHostMaintenance": "TERMINATE", "provisioningModel": "SPOT", "instanceTerminationAction": "STOP" }, "networkInterfaces": [ { "network": "global/networks/default" } ] } }' \ "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates"Reemplaza los marcadores de posición que se indican más abajo:
- PROJECT_ID: El ID de tu Google Cloud proyecto.
- INSTANCE_TEMPLATE_NAME: El nombre de tu plantilla de instancias.
- MACHINE_TYPE: El tipo de máquina
para la VM de TPU, por ejemplo,
ct6e-standard-8t. - IMAGE_FAMILY: La familia de imágenes del SO
para la VM de TPU. Si deseas instalar una versión específica del SO, usa la marca
--image. Para obtener más información sobre las imágenes del SO, consulta Imágenes del SO. - IMAGE_PROJECT: El proyecto que contiene la imagen de SO.
Para las imágenes de TPU, es
ubuntu-os-accelerator-images.
Crea una política de cargas de trabajo
Con el siguiente comando, se crea una política de cargas de trabajo. Esto es opcional para las porciones de un solo host.
gcloud
gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \ --type=high-throughput \ --accelerator-topology=TOPOLOGY \ --region=REGIONREST
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "name": "WORKLOAD_POLICY_NAME", "workloadPolicy": { "type": "HIGH_THROUGHPUT", "acceleratorTopology": "TOPOLOGY" } }' \ "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies"Reemplaza los marcadores de posición que se indican más abajo:
PROJECT_ID: El ID de tu Google Cloud proyecto.WORKLOAD_POLICY_NAME: El nombre de tu política de cargas de trabajo.TOPOLOGY: La topología de las VMs de TPU, por ejemplo,4x4x8. Para obtener más información sobre la topología de cada versión de TPU, consulta Versiones de TPU.REGION: La región de tu política de cargas de trabajo.
Crea el MIG:
gcloud
gcloud compute instance-groups managed create MIG_NAME \ --size=MIG_SIZE \ --target-size-policy-mode=bulk \ --template=INSTANCE_TEMPLATE_URL \ --zone=ZONE \ --default-action-on-vm-failure=do-nothing \ --workload-policy=WORKLOAD_POLICY_URLREST
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "name": "MIG_NAME", "targetSize": MIG_SIZE, "targetSizePolicy": { "mode": "BULK" }, "instanceTemplate": "INSTANCE_TEMPLATE_URL", "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" }, "resourcePolicies": { "workloadPolicy": "WORKLOAD_POLICY_URL" } }' \ "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers"Reemplaza los marcadores de posición que se indican más abajo:
PROJECT_ID: El ID de tu Google Cloud proyecto.MIG_NAME: El nombre de tu MIG.MIG_SIZE: El tamaño del MIG.INSTANCE_TEMPLATE_URL: La URL de la plantilla de instancias que deseas usar para crear instancias en el MIG. La URL puede contener el ID o el nombre de la plantilla de instancias. Especifica uno de los siguientes valores:- Para una plantilla de instancias regional:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - Para una plantilla de instancias global:
INSTANCE_TEMPLATE_ID
- Para una plantilla de instancias regional:
ZONE: La zona de tu MIG.WORKLOAD_POLICY_URL: La URL de la política de cargas de trabajo que deseas usar para crear instancias en el MIG. Por ejemplo:projects/PROJECT_ID/regions/WORKLOAD_POLICY_REGION/resourcePolicies/WORKLOAD_POLICY_NAME.
Usa VMs de TPU individuales
También puedes crear VMs Spot de la TPU individuales.
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: El ID de tu Google Cloud proyecto.
- TPU_NAME: Un nombre para tu VM de TPU.
- MACHINE_TYPE: El tipo de máquina
para la VM de TPU (por ejemplo,
ct6e-standard-8t). - IMAGE_FAMILY: 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: El proyecto que contiene la imagen de SO.
Para las imágenes de TPU, es
ubuntu-os-accelerator-images. - ZONE: La zona
de la VM de TPU (por ejemplo,
us-central1-b).
Para obtener más información sobre las VMs Spot en Compute Engine, consulta VMs Spot.
Precios y cuota
Los precios de las VMs Spot de la TPU son significativamente más bajos que los de las TPU reservadas y a pedido. Para obtener más información sobre los precios, consulta Precios de Cloud TPU.
Necesitas una cuota interrumpible para usar las VMs Spot de la TPU. Para obtener más información, consulta Cuotas.
¿Qué sigue?
- Obtén información para administrar las TPU.