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,mes, respectivamente, depois desses valores. Por exemplo, especifique72hpara uma duração de 72 horas ou especifique1d2h3m4spara 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 estadoFAILED.--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 estadoFAILED.
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 comandodescribepara 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:
- Confira os detalhes da solicitação de recurso em fila.
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
terminationTimestamplistado 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.