Solicitar VMs de início flexível da TPU

As VMs de início flexível da TPU, com tecnologia do Programador dinâmico de cargas de trabalho, oferecem uma maneira flexível e econômica de acessar recursos de TPU para cargas de trabalho de IA. Com as VMs de início flexível, é possível provisionar dinamicamente TPUs conforme necessário por até sete dias, sem reservas de longo prazo ou gerenciamento complexo de cotas. Com as VMs de início flexível da 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.

As VMs Flex-start do TPU são adequadas para experimentos rápidos, testes em pequena escala, provisionamento dinâmico de TPUs para cargas de trabalho de inferência, ajuste fino de modelos e execuções de carga de trabalho que levam menos de 7 dias. Para mais informações sobre outras opções de consumo de TPU, consulte Opções de consumo da 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 da Cloud TPU.

Limitações

As VMs de TPU Flex-start têm as seguintes limitações:

  • É possível solicitar VMs de início flexível de TPU por até sete dias.
  • É possível solicitar as seguintes versões e zonas da Cloud TPU:
  • Você precisa usar a API de recursos enfileirados para usar VMs de início flexível da TPU.

Antes de começar

Antes de solicitar VMs Flex-start de TPU, você precisa:

  • Instalar a CLI do Google Cloud
  • Criar um projeto Google Cloud
  • Ativar 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 VMs Flex-start 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 da Cloud TPU.

Solicitar VMs de início flexível da TPU

As VMs Flex-start da TPU usam a API de recursos enfileirados para solicitar recursos de TPU de maneira enfileirada. Quando o recurso solicitado fica disponível, ele é atribuído ao seu projeto Google Cloud para uso imediato e exclusivo. Após a duração da 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 Flex-start 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 que você quer que as TPUs sejam executadas.

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:

  • 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 da TPU será criada.
  • ACCELERATOR_TYPE: especifica a versão e o tamanho da Cloud TPU a ser criada. Para mais informações sobre os tipos de aceleradores compatíveis com cada versão de TPU, consulte Versões de TPU.
  • RUNTIME_VERSION: a versão do software da Cloud TPU.
  • NODE_ID: um ID atribuído pelo usuário para a TPU criada quando a solicitação de recurso enfileirada é 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 seguidos por d, h, m e s, respectivamente. Por exemplo, especifique 72h para uma duração de 72 horas ou 1d2h3m4s para uma duração de um dia, duas horas, três minutos e quatro segundos. O máximo é de 7 dias.

Você pode personalizar ainda mais sua solicitação de recurso enfileirada para ser executada em horários específicos com flags adicionais:

  • --valid-after-duration: o período antes do qual a TPU não pode ser provisionada.
  • --valid-after-time: o horário antes do qual a TPU não pode ser provisionada.
  • --valid-until-duration: a duração da validade da solicitação. Se a solicitação não for atendida até esse período, ela vai expirar e passar para o estado FAILED.
  • --valid-until-time: o período em que a solicitação é válida. Se a solicitação não for atendida até esse momento, ela vai expirar e mudar para o estado FAILED.

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

Receber o status de uma solicitação de VMs Flex-start de TPU

Para monitorar o status da sua solicitação de VMs TPU Flex-start, use a API de recursos enfileirados para receber o status da solicitação de recursos enfileirados usando o comando gcloud alpha compute tpus queued-resources describe:

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

Um recurso na 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 da fila, e as VMs da TPU estão sendo criadas.
  • ACTIVE: a solicitação foi atendida e as VMs da TPU estão prontas.
  • FAILED: não foi possível concluir a solicitação. Use o comando describe para 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 tempo de execução das VMs Flex-start da TPU

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

  1. Confira os detalhes da sua solicitação de recurso na fila.
  2. Escolha uma das seguintes opções, dependendo se as TPUs foram criadas:

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

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

Excluir um recurso na fila

É possível excluir uma solicitação de recurso na fila e os TPUs associados a ela excluindo a solicitação de recurso na fila e transmitindo a flag --force para o 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 será necessário excluir o recurso enfileirado, conforme mostrado no exemplo a seguir. Quando você exclui a TPU, a solicitação de recurso enfileirada passa para o estado SUSPENDED. Depois disso, é possível excluir a solicitação de recurso enfileirada.

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 na 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.