Resolver problemas do fluxo de trabalho do Cloud TPU

Depois de executar sua carga de trabalho de treinamento ou inferência em TPUs, a próxima etapa é garantir que ela esteja funcionando conforme o esperado. O Cloud TPU gera métricas e registros que permitem procurar e depurar quaisquer VMs de TPU que não estejam se comportando conforme o esperado. Chamamos essas VMs de outliers ao longo desta documentação.

Este é o fluxo de trabalho geral da solução de problemas:

  1. Visualizar métricas do Cloud TPU para verificar se há VMs de TPU outliers
  2. Ver registros do Cloud TPU para as VMs de TPU outliers
  3. Criar o perfil da carga de trabalho

É possível visualizar métricas e registros no Metrics Explorer e na Análise de registros no Console do Google Cloud. Também é possível usar os painéis de monitoramento e geração de registros para coletar todas as métricas e registros relacionados ao Cloud TPU em painéis individuais.

Métricas de VM do Cloud TPU

O Cloud Monitoring coleta automaticamente as métricas das TPUs e das VMs host do Compute Engine. As métricas rastreiam quantidades numéricas ao longo do tempo, por exemplo, utilização da CPU, uso da rede ou duração de inatividade do TensorCore. Para mais informações sobre as métricas do Cloud TPU, consulte Como monitorar VMs de TPU.

Registros do Cloud TPU

O Cloud Logging coleta automaticamente registros das TPUs e das VMs do host do Compute Engine. O Cloud Logging rastreia eventos gerados pelo Cloud TPU. Também é possível instrumentar seu código para gerar registros. Dois tipos de registros são gerados pelo Cloud TPU:

  • Registros de worker da TPU
  • Registros de recursos auditados

Os registros de worker da TPU contêm informações sobre um worker da TPU específico em uma zona específica. Por exemplo, a quantidade de memória disponível no worker da TPU (system_available_memory_GiB).

Os registros de recursos auditados contêm informações sobre quando uma API Cloud TPU específica foi chamada e quem fez a chamada. Por exemplo, CreateNode, UpdateNode e DeleteNode.

Também é possível usar o pacote PyPi cloud-tpu-diagnostics para gravar stack traces nos registros. Para mais informações, consulte Como depurar VMs de TPU.

Para mais informações sobre registros, consulte Logging.

Painéis de monitoramento e geração de registros

Ter uma única página no console do Google Cloud pode facilitar a visualização e a interpretação de métricas e registros relacionados ao Cloud TPU. O repositório monitoring-debugging do GitHub contém um conjunto de scripts e arquivos de configuração que usam o Terraform para implantar automaticamente painéis com todas as métricas e registros relacionados ao Cloud TPU nos painéis. Para configurar esses painéis no projeto do Google Cloud, consulte Painéis do Monitoring e do Logging.

Como criar o perfil das cargas de trabalho em VMs de TPU

A criação de perfil permite otimizar o desempenho do treinamento do modelo em VMs de TPU. Para criar o perfil do modelo, use o TensorBoard e o plug-in do TPU TensorBoard. Para mais informações sobre como criar o perfil da carga de trabalho, consulte Criar perfil do modelo em VMs de TPU.

Para mais informações sobre como usar o TensorBoard com um dos frameworks compatíveis, consulte os seguintes documentos: