TPUs preemptivas

As TPUs preemptivas têm um custo muito menor do que as TPUs não preemptivas. O serviço do Cloud TPU pode interromper (encerrar) essas TPUs a qualquer momento se exigir outros recursos da TPU.

Como criar uma VM preemptiva da TPU

gcloud

$ gcloud compute tpus tpu-vm create demo-tpu \
  --zone=europe-west4-a \
  --accelerator-type=v3-8 \
  --version=tpu-vm-tf-2.16.1-pjrt \
  --preemptible
  

onde:

  • demo-tpu é um nome para a TPU;
  • accelerator-type é o tipo de TPU. Para mais informações sobre os tipos de aceleradores compatíveis com cada versão de TPU, consulte Versões de TPU.
  • version é a imagem de VM do Cloud TPU a ser instalada.
  • preemptible permite que a Cloud TPU force a interrupção da TPU.

Preços e cotas para TPUs preemptivas

O preço das TPUs preemptíveis é significativamente menor do que das TPUs normais. Para detalhes, consulte a página de preços. Não haverá cobranças pelas TPUs caso elas sejam interrompidas no primeiro minuto após a criação.

Geralmente, a cota para TPUs preemptivas é maior e contabilizada separadamente da cota para TPUs normais. Consulte a página de cotas.

Como descobrir se uma TPU foi interrompida

Use o seguinte comando gcloud para verificar se o serviço do Cloud TPU encerrou a TPU por preempção:

Liste as TPUs disponíveis:

gcloud compute tpus tpu-vm list
  --zone=us-central1-b
  

A saída do comando exibe os detalhes das TPUs criadas no projeto. Se uma TPU tiver sido interrompida, o status mudará de READY para PREEMPTED.

Por exemplo:

NAME       ZONE           ACCELERATOR_TYPE  NETWORK_ENDPOINT   NETWORK  RANGE          STATUS
demo-tpu   us-central1-b  v2-8              10.240.1.2:8470    default  10.240.1.0/29  PREEMPTED

Como projetar um aplicativo de aprendizado de máquina executável em TPUs preemptivas

Seu aplicativo precisa ser resiliente a reinicializações da VM e da TPU. Para isso, salve regularmente os checkpoints do modelo e configure o aplicativo para restaurar o checkpoint mais recente ao reiniciar.