Gerenciar eventos de manutenção para TPUs no modo de capacidade gerenciada
As VMs de TPU são instâncias de VMs do Compute Engine com um hardware de TPU anexado. As VMs do Compute Engine estão sujeitas a eventos de manutenção de VMs do Compute Engine. Como cada TPU é conectada a uma VM do Compute Engine, o uso de mais TPUs (como em um pod de TPU) aumenta a probabilidade de uma das VMs passar por um evento de manutenção.
Neste documento, discutimos abordagens para lidar com eventos de manutenção em jobs de treinamento de longa duração nas TPUs. Para saber como lidar com eventos de manutenção em TPUs no Google Kubernetes Engine (GKE), consulte Gerenciar interrupções de nós do GKE para GPUs e TPUs.
Conferir notificações de manutenções futuras
Ao monitorar as janelas de manutenção programada da instância, é possível preparar proativamente as cargas de trabalho para lidar com essas manutenções com o mínimo de interrupção. Para mais informações, consulte Monitorar e planejar um evento de manutenção do host na documentação do Compute Engine.
Como usar checkpoints para recuperação rápida de eventos de manutenção
Os checkpoints são fundamentais para recuperações rápidas de eventos de manutenção e precisam ser salvos com frequência. Recomendamos salvar checkpoints aproximadamente a cada hora. Se você não cria checkpoints com frequência, corre o risco de perder muito do progresso do treinamento devido a eventos de manutenção ou outras interrupções.
Em geral, os checkpoints estão relacionados a todos os parâmetros salvos que são usados no treinamento, como pesos do modelo. O tempo necessário para salvar um checkpoint pode variar de segundos a minutos.
Embora as TPUs geralmente se recuperem automaticamente de eventos de manutenção, há casos extremos em que o job não é reiniciado automaticamente. Quando isso acontece, é necessário excluir e recriar os recursos da TPU e reiniciar o job de treinamento a partir de um checkpoint salvo. Para saber como detectar e se recuperar de falhas de recuperação automática, consulte Detectar e se recuperar de falhas de TPU.
Há mecanismos diferentes em cada framework de ML para salvar e carregar checkpoints. Em geral, os modelos disponíveis no Cloud TPU têm checkpoints integrados. Para mais informações sobre o checkpointing, consulte a seguinte documentação:
Detectar eventos de manutenção
Para detectar se um evento de manutenção ocorreu na sua TPU e quando ele aconteceu, verifique os registros de auditoria de eventos do sistema no Cloud Logging. Para mais informações, consulte Visualizar registros de eventos de manutenção.
Também é possível verificar os próximos eventos de manutenção usando o comando gcloud compute
instances describe.
Para mais informações, consulte Monitorar e planejar um evento de manutenção do host na documentação do Compute Engine.
Conferir registros de eventos de manutenção
É possível conferir os registros históricos de eventos de manutenção na TPU em registros de auditoria de eventos do sistema.
No menu de navegação do console do Google Cloud , acesse a página Análise de registros:
Use a seguinte consulta de pesquisa para conferir as VMs de TPU que foram encerradas para manutenção:
"compute.instances.terminateOnHostMaintenance"Os resultados mostram registros de interrupções e reparos dos workers de TPU no período da pesquisa. Os registros incluem:
- A data e a hora do evento.
- O tipo de evento.
- O motivo do encerramento no campo
protoPayload.metadata.terminateReason
Iniciar a manutenção manualmente
É possível iniciar manualmente um evento de manutenção de host pendente na VM de TPU para lidar de forma proativa com a manutenção futura com o mínimo de interrupção. Para mais informações, consulte Iniciar manualmente um evento de manutenção do host na documentação do Compute Engine.
A seguir
- Monitorar e planejar um evento de manutenção do host
- Iniciar manualmente um evento de manutenção de host