Gerenciar VMs spot da TPU
As VMs do Spot disponibilizam capacidade não utilizada com taxas com grandes descontos. As VMs do Spot podem ser interrompidas (desativadas) a qualquer momento, mas, ao contrário dos TPUs preemptivos, não há limite na duração do tempo de execução. Não é possível reiniciar VMs do Spot da TPU, e elas precisam ser recriadas após a preempção. Para mais informações sobre VMs spot em geral, consulte a documentação do Compute Engine sobre VMs spot.
Criar VMs do Spot da TPU
É possível criar VMs spot de TPU usando recursos enfileirados, o que adiciona sua solicitação de criação a uma fila e permite que você receba capacidade quando ela estiver disponível. Criar TPUs como recursos em fila é uma prática recomendada. Para mais informações, consulte o guia do usuário de recursos em fila.
Crie VMs spot de TPU como recursos em fila adicionando a flag --spot
ao comando de criação de recursos em fila:
gcloud
gcloud compute tpus queued-resources create QUEUED_RESOURCE_ID \ --node-id=NODE_ID \ --zone=europe-west4-a \ --accelerator-type=v3-8 \ --runtime-version=tpu-vm-tf-2.18.0-pod-pjrt \ --spot
curl
curl -X POST https://tpu.googleapis.com/v2alpha1/projects/PROJECT_ID/locations/europe-west4-a/queuedResources?queued_resource_id=QUEUED_RESOURCE_ID \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ tpu: { node_spec: { parent: "projects/PROJECT_ID/locations/europe-west4-a", node_id: "NODE_ID", node: { accelerator_type: "v3-8", runtime_version: "tpu-vm-tf-2.18.0-pod-pjrt" } } }, spot: {} }'
Também é possível criar VMs spot da TPU sem usar recursos em fila adicionando a flag --spot
ao comando de criação:
gcloud
gcloud compute tpus tpu-vm create TPU_NAME \ --zone=europe-west4-a \ --accelerator-type=v3-8 \ --version=tpu-vm-tf-2.18.0-pod-pjrt \ --spot
curl
curl -X POST https://tpu.googleapis.com/v2/projects/PROJECT_ID/locations/europe-west4-a/nodes?node_id=TPU_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ accelerator_type: "v3-8", runtime_version: "tpu-vm-tf-2.18.0-pod-pjrt", network_config: {enable_external_ips: true}, scheduling_config: {spot: true} }'
Verificar se uma VM TPU é uma VM spot
Para confirmar se a VM TPU é uma VM spot, use o comando "describe":
gcloud compute tpus tpu-vm describe TPU_NAME --zone=europe-west4-a
Se a VM TPU for uma VM spot, a saída incluirá o campo spot
definido como true
, semelhante a este:
...
schedulingConfig:
spot: true
...
Preços e cotas
O preço das VMs spot de TPU é significativamente menor do que o das TPUs sob demanda e reservadas. Para mais informações sobre preços, consulte Preços do Cloud TPU.
Você precisa de uma cota preemptiva para usar VMs do Spot da TPU. Para mais informações, consulte Cotas.