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.