Solicitar Cloud TPUs usando o Flex-start
O Flex-start para Cloud TPU, com o Dynamic Workload Scheduler, oferece uma maneira flexível e econômica de acessar recursos de TPU para cargas de trabalho de IA. O Flex-start permite provisionar TPUs dinamicamente conforme necessário, por até sete dias, sem reservas de longo prazo ou gerenciamento de cota complexo. Com o Flex-start, você envia uma solicitação de provisionamento de TPU que persiste até que a capacidade fique disponível. Quando disponível, o Flex-start provisiona as VMs de TPU para execução pelo período especificado na solicitação.
O início flexível é uma boa opção para experimentos rápidos, testes em pequena escala, provisionamento dinâmico de TPUs para cargas de trabalho de inferência, ajustes finos 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 de Cloud TPU.
Você pode excluir seus recursos de TPU a qualquer momento para interromper a cobrança. Para mais informações sobre os preços da TPU, consulte Preços da Cloud TPU.
Limitações
Os Cloud TPUs com início flexível têm as seguintes limitações:
- É possível solicitar recursos com início flexível por até sete dias.
- Só é possível solicitar a TPU v6e e v5e com início flexível nas zonas especificadas:
- É necessário usar a API de recursos em fila para usar o Flex-start com o Cloud TPU.
Antes de começar
Antes de solicitar TPUs com início flexível, você precisa:
- Instalar a CLI do Google Cloud
- Criar um Google Cloud projeto
- Ativar a API Cloud TPU
Para mais informações, consulte Configurar o ambiente do Cloud TPU.
Você também precisa ter cota preemptiva suficiente para usar o início flexível. A cota preemptiva padrão para TPU v5e e v6e é de 64 núcleos. Se você precisar de mais núcleos de TPU do que o valor concedido pela cota padrão, solicite uma alocação de cota maior. Para mais informações, consulte Cotas do Cloud TPU.
Solicitar TPUs com início flexível
O Flex-start usa a API de recursos enfileirados do TPU para solicitar recursos do TPU de maneira
enfileirada. Quando o recurso solicitado fica disponível, ele é atribuído ao
projeto Google Cloud para uso imediato e exclusivo. Após a duração de execução
solicitada, as VMs de TPU são excluídas, e o recurso na fila é movido para o
estado SUSPENDED
. Para mais informações sobre recursos em fila, consulte Gerenciar
recursos em fila.
Para solicitar TPUs com 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 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 do 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 Cloud TPU.
- NODE_ID: um ID atribuído pelo usuário ao TPU que é criado quando a solicitação de recurso em fila é alocada.
- RUN_DURATION: o tempo de execução das TPUs. Formate a duração
como o número de dias, horas, minutos e segundos, seguido por
d
,h
,m
es
, respectivamente. Por exemplo, especifique72h
para uma duração de 72 horas ou1d2h3m4s
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 a solicitação de recurso em fila para ser executada em horários específicos com outras flags:
--valid-after-duration
: a duração antes da qual a TPU não pode ser provisionada.--valid-after-time
: o tempo antes do qual a TPU não pode ser provisionada.--valid-until-duration
: a duração de validade da solicitação. Se a solicitação não for atendida nesse período, ela vai expirar e ser movida para o estadoFAILED
.--valid-until-time
: o tempo em que a solicitação é válida. Se a solicitação não for atendida até esse horário, 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 em fila
para conferir o status da solicitação de recurso em fila 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 da fila, e as VMs da TPU estão sendo criadas.ACTIVE
: a solicitação foi atendida e as VMs do 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 estado e informações de diagnóstico sobre uma solicitação de recurso em fila.
Monitorar o tempo de execução das TPUs flexíveis
É possível monitorar o tempo de execução de TPUs flexíveis verificando o carimbo de data/hora de terminação da TPU:
- Conferir os detalhes da solicitação de recurso na fila.
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 os TPUs serão executados depois de criados.Se as TPUs associadas ao recurso na fila foram 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 o TPU diretamente usando o comando gcloud compute tpus tpu-vm delete
,
também será necessário excluir o recurso em fila, conforme mostrado no exemplo a seguir.
Quando você exclui a TPU, a solicitação de recurso enfileirada é transferida 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 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.