Gerenciar VMs spot da TPU

As VMs spot disponibilizam a capacidade não utilizada a taxas com grandes descontos. As VMs spot podem ser interrompidas (encerradas) a qualquer momento, mas, ao contrário das TPUs preemptivas, não há limite para a duração do ambiente de execução. Não é possível reiniciar as VMs spot da TPU, e é necessário recriá-las 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 spot da TPU

É possível criar VMs spot da TPU usando recursos na fila, que adicionam a solicitação de criação a uma fila e permitem receber 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 sobre recursos em fila.

Crie VMs spot de TPU como recursos em fila adicionando a sinalização --spot ao comando de criação de recursos na fila:

gcloud

gcloud alpha 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.16.1-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.16.1-pod-pjrt"
        }
      }
    },
    spot: {}
  }'

Também é possível criar VMs spot de TPU sem usar recursos na fila adicionando a sinalização --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.16.1-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.16.1-pod-pjrt",
    network_config: {enable_external_ips: true},
    scheduling_config: {spot: true}
  }'

Verificar se uma VM TPU é spot

Para confirmar se a VM de TPU é 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 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 spot da TPU. Para mais informações, consulte Cotas.