Solicitar VMs spot de TPU
As VMs spot oferecem capacidade não utilizada a taxas com grandes descontos. Embora as VMs spot possam ser interrompidas a qualquer momento, elas não têm uma duração máxima do ambiente de execução, ao contrário das TPUs preemptivas. Para reiniciar uma instância ou um MIG de VMs spot, é necessário excluir e recriar.
Para mais informações sobre VMs spot, consulte a documentação do Compute Engine sobre VMs spot.
Criar VMs spot de TPU
É possível criar VMs spot de TPU como instâncias individuais ou como parte de um grupo gerenciado de instâncias (MIG, na sigla em inglês).
Como usar MIGs para fatias de vários hosts (recomendado)
Para criar VMs spot de TPU com um MIG, especifique o modelo de provisionamento spot no modelo de instância.
Criar um modelo de instância:
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"Substitua os seguintes marcadores de posição:
- PROJECT_ID: o ID doprojeto. Google Cloud
- INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.
- MACHINE_TYPE: o tipo de máquina
da VM de TPU, por exemplo,
ct6e-standard-8t. - IMAGE_FAMILY: a família de imagens do SO
para a VM de TPU. Se você quiser instalar uma versão específica do SO, use a flag
--image. Para mais informações sobre imagens do SO, consulte Imagens do SO. - IMAGE_PROJECT: o projeto que contém a imagem do SO.
Para imagens de TPU, esse é
ubuntu-os-accelerator-images.
Criar uma política de carga de trabalho
O comando a seguir cria uma política de carga de trabalho. Isso é opcional para fatias de host único.
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"Substitua os seguintes marcadores de posição:
PROJECT_ID: o ID doprojeto. Google CloudWORKLOAD_POLICY_NAME: o nome da política de carga de trabalho.TOPOLOGY: a topologia das VMs de TPU, por exemplo,4x4x8. Para mais informações sobre a topologia de cada versão da TPU, consulte Versões de TPU.REGION: a região da sua política de carga de trabalho.
Criar o 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"Substitua os seguintes marcadores de posição:
PROJECT_ID: o ID doprojeto. Google CloudMIG_NAME: o nome do MIG.MIG_SIZE: o tamanho do MIG.INSTANCE_TEMPLATE_URL: o URL do modelo de instância que você quer usar para criar instâncias no MIG. O URL pode conter o ID ou o nome do modelo de instância. Especifique um dos seguintes valores:- Para um modelo de instância regional:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID. - Para um modelo de instância global:
INSTANCE_TEMPLATE_ID
- Para um modelo de instância regional:
ZONE: a zona do MIG.WORKLOAD_POLICY_URL: o URL da política de carga de trabalho que você quer usar para criar instâncias no MIG. Por exemplo:projects/PROJECT_ID/regions/WORKLOAD_POLICY_REGION/resourcePolicies/WORKLOAD_POLICY_NAME.
Como usar VMs de TPU únicas
Também é possível criar VMs spot de TPU únicas.
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"
Substitua os seguintes marcadores de posição:
- PROJECT_ID: o ID doprojeto. Google Cloud
- TPU_NAME: um nome para a VM de TPU.
- MACHINE_TYPE: o tipo de máquina
da VM de TPU (por exemplo,
ct6e-standard-8t). - IMAGE_FAMILY: a família de imagens do SO
para a VM de TPU. Se você quiser instalar uma versão específica do SO, use a
--imageflag. Para mais informações sobre imagens do SO, consulte Imagens do SO. - IMAGE_PROJECT: o projeto que contém a imagem do SO.
Para imagens de TPU, esse é
ubuntu-os-accelerator-images. - ZONE: a zona
da VM de TPU (por exemplo,
us-central1-b).
Para mais informações sobre VMs spot no Compute Engine, consulte VMs spot.
Preços e cotas
O preço das VMs spot de TPU é significativamente menor do que o das TPUs on demand e reservadas. Para mais informações sobre preços, consulte Preços do Cloud TPU.
Você precisa de uma cota preemptiva para usar as VMs spot de TPU. Saiba mais em veja Cotas.
A seguir
- Saiba como gerenciar TPUs