Solicitar VMs de início flexível de TPU

As VMs de início flexível de TPU, com tecnologia do Dynamic Workload Scheduler, oferecem uma maneira flexível e econômica de acessar recursos de TPU para cargas de trabalho de IA. Com elas, é possível provisionar dinamicamente TPUs por até sete dias, sem reservas de longo prazo ou um gerenciamento complexo de cotas. Com as VMs de início flexível de TPU, você envia uma solicitação de provisionamento de TPU que persiste até que a capacidade fique disponível. Quando disponíveis, as VMs de TPU são executadas pelo período especificado na solicitação.

Essas VMs são adequadas para experimentos rápidos, testes em pequena escala, provisionamento dinâmico de TPUs para cargas de trabalho de inferência, ajuste de modelos e execuções de carga de trabalho que levam menos de sete dias. Para mais informações sobre outras opções de consumo de TPU, consulte Opções de consumo do Cloud TPU.

Você pode excluir seus recursos de TPU a qualquer momento para interromper o faturamento. Para mais informações sobre os preços das TPUs, consulte Preços do Cloud TPU.

Limitações

As VMs de início flexível de TPU têm as seguintes limitações:

  • É possível solicitar essas VMs por até sete dias.
  • É possível solicitar as seguintes versões e zonas do Cloud TPU:
  • Para usar as VMs de início flexível de TPU, você precisa usar a API de recursos em fila.

Antes de começar

Antes de solicitar as VMs de início flexível de TPU, faça o seguinte:

  • Instale a CLI do Google Cloud.
  • Crie um projeto do Google Cloud .
  • Ative a API Cloud TPU.

Para mais informações, consulte Configurar o ambiente do Cloud TPU.

Verifique também se você tem cota preemptiva suficiente para usar as VMs de início flexível de TPU. Se você precisar de mais núcleos de TPU do que a quantidade concedida pela cota padrão, solicite uma alocação de cota maior. Para mais informações sobre os padrões e como solicitar mais cota, consulte Cotas do Cloud TPU.

Solicitar VMs de início flexível de TPU

As VMs de início flexível de TPU usam a API de recursos em fila para solicitar recursos de TPU de maneira enfileirada. Quando o recurso solicitado fica disponível, ele é atribuído ao projeto do Google Cloud para uso imediato e exclusivo. Após a execução solicitada, as VMs de TPU são excluídas e o recurso em fila passa para o estado SUSPENDED. Para mais informações sobre recursos em fila, consulte Gerenciar recursos em fila.

Para solicitar VMs de início flexível de TPU, use o comando gcloud alpha compute tpus queued-resources create com a flag --provisioning-model definida como flex-start e a flag --max-run-duration definida como a duração da execução pretendida para as TPUs.

gcloud alpha compute tpus queued-resources create QUEUED_RESOURCE_ID \
    --zone=ZONE \
    --accelerator-type=ACCELERATOR_TYPE \
    --runtime-version=RUNTIME_VERSION \
    --node-id=NODE_ID \
    --provisioning-model=flex-start \
    --max-run-duration=RUN_DURATION

Substitua os seguintes marcadores de posição:

  • QUEUED_RESOURCE_ID: um ID atribuído pelo usuário para a solicitação de recurso em fila.
  • ZONE: a zona em que a VM de TPU será criada.
  • ACCELERATOR_TYPE: especifica a versão e o tamanho do Cloud TPU a ser criado. Para mais informações sobre os tipos de acelerador aceitos em cada versão de TPU, consulte Versões de TPU.
  • RUNTIME_VERSION: a versão do software do Cloud TPU.
  • NODE_ID: um ID atribuído pelo usuário para a TPU criada quando a solicitação de recurso em fila é alocada.
  • RUN_DURATION: por quanto tempo as TPUs devem ser executadas. Formate a duração como o número de dias, horas, minutos e segundos e inclua d, h, m e s, respectivamente, depois desses valores. Por exemplo, especifique 72h para uma duração de 72 horas ou especifique 1d2h3m4s para uma duração de um dia, duas horas, três minutos e quatro segundos. O máximo é sete dias.

Você também pode usar estas flags para personalizar a solicitação de recurso em fila para ser executada em horários específicos:

  • --valid-after-duration: o período durante o qual a TPU não pode ser provisionada.
  • --valid-after-time: o horário a partir do qual a TPU pode ser provisionada.
  • --valid-until-duration: a duração da validade da solicitação. Se a solicitação não é atendida até o fim desse período, ela expira e passa para o estado FAILED.
  • --valid-until-time: o horário até o qual a solicitação é válida. Se a solicitação não é atendida até esse horário, ela expira e passa para o estado FAILED.

Para mais informações sobre flags opcionais, consulte a documentação de gcloud alpha compute tpus queued-resources create.

Conferir o status de uma solicitação de VMs de início flexível de TPU

Para monitorar o status da solicitação de VMs de início flexível de TPU, use a API de recursos em fila para receber o status da solicitação usando o comando gcloud alpha compute tpus queued-resources describe:

gcloud alpha compute tpus queued-resources describe QUEUED_RESOURCE_ID \
    --zone ZONE

Um recurso em fila pode estar em um dos seguintes estados:

  • WAITING_FOR_RESOURCES: a solicitação passou pela validação inicial e foi adicionada à fila.
  • PROVISIONING: a solicitação foi selecionada na fila e as VMs de TPU estão sendo criadas.
  • ACTIVE: a solicitação foi atendida e as VMs de TPU estão prontas.
  • FAILED: não foi possível concluir a solicitação. Use o comando describe para conferir mais detalhes.
  • SUSPENDING: os recursos associados à solicitação estão sendo excluídos.
  • SUSPENDED: os recursos associados à solicitação foram excluídos.

Para mais informações, consulte Recuperar informações de estado e diagnóstico sobre uma solicitação de recurso em fila.

Monitorar o ambiente de execução das VMs de início flexível de TPU

É possível monitorar o tempo de execução das VMs de início flexível de TPU verificando o carimbo de data/hora de encerramento da TPU:

  1. Confira os detalhes da solicitação de recurso em fila.
  2. Confira se as TPUs foram criadas. Com base nisso, escolha uma das seguintes opções:

    • Se o recurso em fila estiver aguardando recursos: na saída, consulte o campo maxRunDuration. Esse campo especifica por quanto tempo as TPUs vão ser executadas depois da criação.

    • Se as TPUs associadas ao recurso em fila já tiverem sido criadas: na saída, confira o campo terminationTimestamp listado para cada nó no recurso em fila. Esse campo especifica quando a TPU será encerrada.

Excluir um recurso em fila

Para excluir uma solicitação de recurso em fila e as TPUs associadas, exclua a solicitação e transmita a flag --force ao comando queued-resources delete:

gcloud alpha compute tpus queued-resources delete QUEUED_RESOURCE_ID \
    --force

Se você excluir a TPU diretamente usando o comando gcloud compute tpus tpu-vm delete, também vai precisar excluir o recurso em fila, conforme mostrado no exemplo a seguir. Quando você exclui a TPU, a solicitação de recurso em fila passa para o estado SUSPENDED. Depois disso, é possível excluí-la.

Para excluir uma TPU, use o comando gcloud compute tpus tpu-vm delete:

gcloud compute tpus tpu-vm delete NODE_ID \
    --zone ZONE

Em seguida, para excluir o recurso em fila, use o comando gcloud alpha compute tpus queued-resources delete:

gcloud alpha compute tpus queued-resources delete QUEUED_RESOURCE_ID \
    --zone ZONE

Para mais informações, consulte Excluir uma solicitação de recurso em fila.