Demander des VM Spot TPU
Les VM Spot offrent des capacités inutilisées à des tarifs très réduits. Bien qu'elles soient préemptives à tout moment, elles n'ont pas de durée d'exécution maximale, contrairement aux TPU préemptifs. Pour redémarrer une instance de VM Spot ou un MIG, vous devez la supprimer, puis la recréer.
Pour en savoir plus sur les VM Spot, consultez la documentation Compute Engine sur les VM Spot.
Créer des VM Spot TPU
Vous pouvez créer des VM Spot TPU en tant qu'instances individuelles ou dans un groupe d'instances géré (MIG).
Utiliser des MIG pour les tranches multihôtes (recommandé)
Pour créer des VM Spot TPU avec un MIG, spécifiez le modèle de provisionnement Spot dans votre modèle d'instance.
Créez un modèle d'instance :
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"Remplacez les espaces réservés suivants :
- PROJECT_ID : ID de votre Google Cloud projet.
- INSTANCE_TEMPLATE_NAME : nom de votre modèle d'instance.
- MACHINE_TYPE : type de machine pour la VM TPU, par exemple
ct6e-standard-8t. - IMAGE_FAMILY : famille d'images d'OS pour la VM TPU. Si vous souhaitez installer une version d'OS spécifique, utilisez l'option
--image. Pour en savoir plus sur les images d'OS, consultez Images d'OS. - IMAGE_PROJECT : projet contenant l'image d'OS.
Pour les images TPU, il s'agit de
ubuntu-os-accelerator-images.
Créez une règle de charge de travail.
La commande suivante crée une règle de charge de travail. Cette étape est facultative pour les tranches à hôte unique.
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"Remplacez les espaces réservés suivants :
PROJECT_ID: ID de votre Google Cloud projet.WORKLOAD_POLICY_NAME: nom de votre règle de charge de travail.TOPOLOGY: topologie des VM TPU, par exemple4x4x8. Pour en savoir plus sur la topologie de chaque version de TPU, consultez Versions de TPU.REGION: la région de votre règle de charge de travail.
Créez le 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"Remplacez les espaces réservés suivants :
PROJECT_ID: ID de votre Google Cloud projet.MIG_NAME: nom de votre MIG.MIG_SIZE: taille du MIG.INSTANCE_TEMPLATE_URL: URL du modèle d'instance que vous souhaitez utiliser pour créer des instances dans le MIG. L'URL peut contenir l' ID ou le nom du modèle d'instance. Spécifiez une des valeurs suivantes :- Pour un modèle d'instance régional :
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - Pour un modèle d'instance global :
INSTANCE_TEMPLATE_ID
- Pour un modèle d'instance régional :
ZONE: la zone de votre MIG.WORKLOAD_POLICY_URL: URL de la règle de charge de travail que vous souhaitez utiliser pour créer des instances dans le MIG. Exemple :projects/PROJECT_ID/regions/WORKLOAD_POLICY_REGION/resourcePolicies/WORKLOAD_POLICY_NAME.
Utiliser des VM TPU uniques
Vous pouvez également créer des VM Spot TPU uniques.
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"
Remplacez les espaces réservés suivants :
- PROJECT_ID : ID de votre Google Cloud projet.
- TPU_NAME : nom de votre VM TPU.
- MACHINE_TYPE : type de machine pour la VM TPU (par exemple,
ct6e-standard-8t). - IMAGE_FAMILY : famille d'images d'OS pour la VM TPU. Si vous souhaitez installer une version d'OS spécifique, utilisez l'option
--image. Pour en savoir plus sur les images d'OS, consultez Images d'OS. - IMAGE_PROJECT : projet contenant l'image d'OS.
Pour les images TPU, il s'agit de
ubuntu-os-accelerator-images. - ZONE : zone de la VM TPU (par exemple
us-central1-b).
Pour en savoir plus sur les VM Spot dans Compute Engine, consultez VM Spot.
Tarifs et quotas
Le prix des VM Spot TPU est nettement inférieur à celui des TPU à la demande et réservés. Pour en savoir plus sur la tarification, consultez la page Tarifs de Cloud TPU.
Vous avez besoin d'un quota préemptif pour utiliser les VM Spot TPU. Pour en savoir plus, consultez Quotas.
Étape suivante
- Découvrez comment gérer les TPU.