Risolvere i problemi del flusso di lavoro Cloud TPU

Una volta eseguito il carico di lavoro di addestramento o di inferenza sulle TPU, il passaggio successivo consiste nell'assicurarsi che funzioni come previsto. Cloud TPU genera metriche e log che ti consentono di cercare e eseguire il debug di eventuali VM TPU che non si comportano come previsto. In questa documentazione, ci riferiremo a queste VM come outlier.

Il flusso di lavoro generale per la risoluzione dei problemi è il seguente:

  1. Visualizza le metriche Cloud TPU per verificare la presenza di VM TPU con valori anomali
  2. Visualizza i log di Cloud TPU per le VM TPU con valori anomali
  3. Profila il tuo carico di lavoro

Puoi visualizzare le metriche e i log in Esplora metriche e Esplora log nella console Google Cloud. Puoi anche utilizzare le dashboard di monitoraggio e logging per raccogliere tutte le metriche e i log relativi a Cloud TPU in singole dashboard.

Metriche delle VM Cloud TPU

Cloud Monitoring raccoglie automaticamente le metriche dalle TPU e dalle VM Compute Engine che le ospitano. Le metriche monitorano le quantità numeriche nel tempo, ad esempio l'utilizzo della CPU, l'utilizzo della rete o la durata inattiva di TensorCore. Per ulteriori informazioni sulle metriche di Cloud TPU, consulta Monitoraggio delle VM TPU.

Log di Cloud TPU

Cloud Logging raccoglie automaticamente i log dalle TPU e dalle VM Compute Engine che le ospitano. Cloud Logging monitora gli eventi generati da Cloud TPU. Puoi anche eseguire l'instrumentazione del codice per generare log. Cloud TPU genera due tipi di log:

  • Log del worker TPU
  • Log delle risorse sottoposte a controllo

I log del worker TPU contengono informazioni su un worker TPU specifico in una zona specifica, ad esempio la quantità di memoria disponibile sul worker TPU (system_available_memory_GiB).

I log delle risorse sottoposte a controllo contengono informazioni su quando è stata chiamata una specifica API Cloud TPU e su chi ha effettuato la chiamata. Ad esempio CreateNode, UpdateNode e DeleteNode.

Puoi anche utilizzare il pacchetto cloud-tpu-diagnostics PyPi per scrivere le tracce dello stack nei log. Per ulteriori informazioni, consulta Eseguire il debug delle VM TPU.

Per ulteriori informazioni sui log, consulta Logging.

Dashboard di monitoraggio e logging

Avere una singola pagina nella console Google Cloud può semplificare la visualizzazione e l'interpretazione delle metriche e dei log relativi a Cloud TPU. Il repository GitHub monitoring-debugging contiene un insieme di script e file di configurazione che utilizzano Terraform per eseguire il deployment automatico di dashboard contenenti tutte le metriche e i log relativi a Cloud TPU. Per configurare queste dashboard nel tuo progetto Google Cloud, consulta Dashboard di monitoraggio e logging.

Profilazione dei carichi di lavoro sulle VM TPU

Il profiling ti consente di ottimizzare le prestazioni di addestramento del modello sulle VM TPU. Utilizza TensorBoard e il plug-in TPU TensorBoard per profilare il tuo modello. Per ulteriori informazioni su come eseguire il profiling del carico di lavoro, consulta Eseguire il profiling del modello sulle VM TPU.

Per ulteriori informazioni sull'utilizzo di TensorBoard con uno dei framework supportati, consulta i seguenti documenti: