Solicitar Cloud TPUs usando o Flex-start
O início flexível para Cloud TPU, com tecnologia do Dynamic Workload Scheduler, oferece uma maneira flexível e econômica de acessar recursos de TPU para cargas de trabalho de IA. Com o 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 o início flexível, você envia uma solicitação de provisionamento de TPU que persiste até que a capacidade fique disponível. Quando disponível, o início flexível provisiona as VMs de TPU para serem executadas durante o período especificado na solicitação.
O início flexível é adequado 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 os 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 Cloud TPUs de início flexível têm as seguintes limitações:
- É possível solicitar recursos de início flexível por até sete dias.
- O início flexível é compatível com as seguintes versões e zonas da Cloud TPU:
- É necessário usar a API de recursos enfileirados para usar o início flexível com o Cloud TPU.
Antes de começar
Antes de solicitar TPUs de início flexível, 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 o Flex-start. 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 TPUs de início flexível
O início flexível usa a API de recursos enfileirados da TPU 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 na fila passa para o estado SUSPENDED
. Para mais informações sobre recursos em fila, consulte Gerenciar recursos em fila.
Para solicitar TPUs de início flexível, 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
es
, respectivamente. Por exemplo, especifique72h
para uma duração de 72 horas ou1d2h3m4s
para uma duração de 1 dia, 2 horas, 3 minutos e 4 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 mudar para o estadoFAILED
.--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 estadoFAILED
.
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 início flexível
Para monitorar o status da sua solicitação de início flexível, use a API de recursos enfileirados
para receber o status da solicitação de recurso enfileirado 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 comandodescribe
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 TPUs de início flexível
Para monitorar o tempo de execução das TPUs de início flexível, verifique o carimbo de data/hora de encerramento da TPU:
- Confira os detalhes da sua solicitação de recurso na fila.
Escolha uma das seguintes opções, dependendo de as TPUs terem sido criadas:
Se o recurso na fila estiver aguardando recursos: na saída, consulte o campo
maxRunDuration
. Esse campo especifica por quanto tempo as TPUs serão 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. Este 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.