Peça TPUs na nuvem com o início flexível

O início flexível para o Cloud TPU, com tecnologia do Dynamic Workload Scheduler, oferece uma forma flexível e económica de aceder a recursos de TPU para cargas de trabalho de IA. O início flexível permite-lhe aprovisionar dinamicamente TPUs conforme necessário, durante um máximo de 7 dias, sem reservas a longo prazo nem gestão complexa de quotas. Com o início flexível, envia um pedido de aprovisionamento de TPUs que persiste até a capacidade ficar disponível. Quando estiverem disponíveis, o início flexível aprovisiona as VMs de TPU para serem executadas durante o período especificado na sua solicitação.

O início flexível é adequado para experimentação rápida, testes em pequena escala, aprovisionamento dinâmico de UTPs para cargas de trabalho de inferência, ajuste preciso de modelos e execuções de cargas de trabalho que demoram menos de 7 dias. Para mais informações acerca de outras opções de consumo de TPUs, consulte as opções de consumo do Cloud TPU.

Pode eliminar os seus recursos de TPU em qualquer altura para parar a faturação. Para mais informações sobre os preços das TPUs, consulte os preços das Cloud TPUs.

Limitações

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

  • Pode pedir recursos de início flexível por uma duração de até 7 dias.
  • O início flexível suporta as seguintes versões e zonas do Cloud TPU:
  • Tem de usar a API de recursos em fila para usar o início flexível com a Cloud TPU.

Antes de começar

Antes de pedir TPUs de início flexível, tem de:

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

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

Também deve certificar-se de que tem quota antecipável suficiente para usar o início flexível. Se precisar de mais núcleos de TPUs do que a quantidade concedida pela quota predefinida, tem de pedir uma atribuição de quota superior. Para mais informações sobre os valores predefinidos e como pedir mais quota, consulte as quotas do Cloud TPU.

Peça TPUs de início flexível

O início flexível usa a API de recursos em fila de espera da TPU para pedir recursos de TPU de forma organizada em fila de espera. Quando o recurso pedido fica disponível, é atribuído ao seu Google Cloud projeto para utilização imediata e exclusiva. Após a duração de execução pedida, as VMs de TPU são eliminadas e o recurso em fila de espera passa para o estado SUSPENDED. Para mais informações sobre os recursos em fila, consulte o artigo Faça a gestão dos recursos em fila.

Para pedir 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 para a duração que 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 utilizador para o pedido de recurso em fila.
  • ZONE: a zona na qual criar a VM da TPU.
  • ACCELERATOR_TYPE: especifica a versão e o tamanho da TPU na nuvem a criar. Para mais informações sobre os tipos de aceleradores suportados para cada versão da TPU, consulte o artigo Versões da TPU.
  • RUNTIME_VERSION: a versão do software do Cloud TPU.
  • NODE_ID: um ID atribuído pelo utilizador para a TPU que é criada quando o pedido de recurso em fila é atribuído.
  • RUN_DURATION: durante quanto tempo as TPUs devem ser executadas. Formate a duração como o número de dias, horas, minutos e segundos, seguido de d, h, m e s, respetivamente. Por exemplo, especifique 72h para uma duração de 72 horas ou especifique 1d2h3m4s para uma duração de 1 dia, 2 horas, 3 minutos e 4 segundos. O máximo é de 7 dias.

Pode personalizar ainda mais o pedido de recursos em fila para ser executado em momentos específicos com flags adicionais:

  • --valid-after-duration: a duração antes da qual a TPU não deve ser aprovisionada.
  • --valid-after-time: a hora antes da qual a TPU não deve ser aprovisionada.
  • --valid-until-duration: a duração durante a qual o pedido é válido. Se o pedido não for cumprido durante este período, expira e passa para o estado FAILED.
  • --valid-until-time: o período durante o qual o pedido é válido. Se o pedido não tiver sido cumprido até esta altura, expira e passa para o estado FAILED.

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

Obtenha o estado de um pedido de início flexível

Para monitorizar o estado do seu pedido de início flexível, use a API de recursos em fila para obter o estado do pedido de recursos em fila através do 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 num dos seguintes estados:

  • WAITING_FOR_RESOURCES: o pedido passou na validação inicial e foi adicionado à fila.
  • PROVISIONING: O pedido foi selecionado na fila e as VMs de TPU estão a ser criadas.
  • ACTIVE: o pedido foi cumprido e as VMs da TPU estão prontas.
  • FAILED: não foi possível concluir o pedido. Use o comando describe para mais detalhes.
  • SUSPENDING: os recursos associados ao pedido estão a ser eliminados.
  • SUSPENDED: os recursos associados ao pedido foram eliminados.

Para mais informações, consulte o artigo Obtenha o estado e as informações de diagnóstico acerca de um pedido de recurso em fila.

Monitorize o tempo de execução das TPUs de início flexível

Pode monitorizar o tempo de execução das TPUs de início flexível verificando a data/hora de término da TPU:

  1. Obtenha os detalhes do seu pedido de recursos em fila.
  2. Escolha uma das seguintes opções consoante as suas UTPs tenham sido criadas:

    • Se o recurso em fila estiver à espera de recursos: na saída, consulte o campo maxRunDuration. Este campo especifica durante quanto tempo as TPUs são executadas depois de serem criadas.

    • Se as TPUs associadas ao recurso em fila tiverem sido criadas: na saída, consulte o campo terminationTimestamp apresentado para cada nó no recurso em fila. Este campo especifica quando a UTP vai ser terminada.

Elimine um recurso em fila

Pode eliminar um pedido de recurso em fila e as UTPs associadas ao pedido eliminando o pedido de recurso em fila e transmitindo a flag --force para o comando queued-resources delete:

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

Se eliminar a TPU diretamente através do comando gcloud compute tpus tpu-vm delete, também tem de eliminar o recurso em fila, conforme mostrado no exemplo seguinte. Quando elimina a TPU, o pedido de recurso em fila passa para o estado SUSPENDED, após o qual pode eliminar o pedido de recurso em fila.

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

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

Em seguida, para eliminar 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 o artigo Elimine um pedido de recurso em fila.