Gerenciar VMs spot da TPU

As VMs do Spot disponibilizam capacidade não utilizada com taxas com grandes descontos. As VMs spot podem ser interrompidas (encerradas) a qualquer momento, mas ao contrário do preemptivo TPUs, não há limite de duração do ambiente de execução. Você não pode reiniciar as VMs spot da TPU e será necessário recriá-las após a preempção. Para mais informações sobre VMs do Spot em geral, consulte a documentação do Compute Engine sobre VMs do 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 mais informações, consulte o Guia do usuário sobre recursos na fila.

Crie VMs spot de TPU como recursos na fila adicionando a sinalização --spot a o comando "resource" na fila: create:

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.17.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.17.0-pod-pjrt"
        }
      }
    },
    spot: {}
  }'

Também é possível criar VMs spot da TPU sem usar recursos na fila. adicionando a flag --spot ao comando "create":

gcloud

gcloud compute tpus tpu-vm create TPU_NAME \
  --zone=europe-west4-a \
  --accelerator-type=v3-8 \
  --version=tpu-vm-tf-2.17.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.17.0-pod-pjrt",
    network_config: {enable_external_ips: true},
    scheduling_config: {spot: true}
  }'

Verificar se uma VM da TPU é spot

Para confirmar se a VM TPU é uma VM do Spot, use o comando "describe":

gcloud compute tpus tpu-vm describe TPU_NAME --zone=europe-west4-a

Se a VM da TPU for spot, a saída incluirá o Campo spot definido como true, semelhante ao seguinte:

...
schedulingConfig:
  spot: true
...

Preços e cotas

O preço das VMs spot da TPU é significativamente mais baixo do que o das VMs sob demanda e e TPUs 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.