Procedura dettagliata del report di profilazione di Debugger - Amazon SageMaker

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Procedura dettagliata del report di profilazione di Debugger

In questa sezione viene illustrato il report di profilazione di Debugger sezione per sezione. Il report di profilazione viene generato in base alle regole integrate per il monitoraggio e la profilazione. Il report mostra i grafici dei risultati solo per le regole che hanno riscontrato problemi.

Importante

Nel report, i grafici e le raccomandazioni sono forniti a scopo informativo e non sono definitivi. Sei responsabile della tua valutazione indipendente delle informazioni.

Riepilogo del processo di addestramento

All'inizio del report, Debugger fornisce un riepilogo del processo di addestramento eseguito. In questa sezione, puoi visualizzare una panoramica delle durate e degli orari nelle diverse fasi dell'addestramento.

Un esempio di report di profilazione di Debugger

La tabella di riepilogo contiene le informazioni seguenti:

  • ora_inizio: l'ora esatta in cui è iniziato il processo di addestramento.

  • ora_fine: l'ora esatta in cui il processo di addestramento è terminato.

  • durata_processo_in_secondi: il tempo totale di addestramento da ora_inizio a ora_fine.

  • avvio_ciclo_addestramento: l'ora esatta in cui è iniziata la prima fase della prima epoca.

  • fine_ciclo_addestramento: l'ora esatta in cui è terminata l’ultima fase dell’ultima epoca.

  • durata_ciclo_addestramento_in_secondi: il tempo totale tra l'ora di inizio del ciclo di addestramento e l'ora di fine del ciclo di addestramento.

  • inizializzazione_in_secondi: tempo impiegato per inizializzare il processo di addestramento. La fase di inizializzazione copre il periodo compreso tra ora_inizio e l’ora di inizio_ciclo_addestramento. Il tempo di inizializzazione viene dedicato alla compilazione dello script di addestramento, all'avvio dello script di addestramento, alla creazione e inizializzazione del modello, all'avvio delle istanze e al download dei dati di addestramento. EC2

  • finalization_in_seconds — Tempo impiegato per finalizzare il processo di formazione, ad esempio terminando l'addestramento del modello, aggiornando gli artefatti del modello e chiudendo le istanze. EC2 La fase di inizializzazione copre il periodo compreso tra l’ora di dine_ciclo_addestramento e ora_fine.

  • inizializzazione (%) – La percentuale di tempo impiegato per l’inizializzazione rispetto al totale della durata_processo_in_secondi.

  • ciclo di addestramento (%) – La percentuale di tempo impiegato per il ’ciclo di addestramento rispetto al totale della durata_processo_in_secondi.

  • finalizzazione (%) – La percentuale di tempo impiegato per la finalizzazione rispetto al totale della durata_processo_in_secondi.

Statistiche di utilizzo del sistema

In questa sezione è possibile visualizzare una panoramica delle statistiche di utilizzo del sistema.

Un esempio di report di profilazione di Debugger

Il report di profilazione di Debugger include le seguenti informazioni:

  • nodo: elenca il nome dei nodi. Se si utilizza l'addestramento distribuito su più nodi (più istanze), i nomi dei nodi hanno il formato di. EC2 algo-n

  • metrica: le metriche di sistema raccolte da Debugger:CPU,, memoria, CPU GPU memoriaGPU, I/O e metriche di rete.

  • unità: l’unità dei parametri di sistema.

  • max: il valore massimo di ogni parametro di sistema.

  • p99: il 99° percentile di utilizzo di ogni sistema.

  • p95: il 95° percentile di utilizzo di ogni sistema.

  • p50: il 50° percentile (mediana) di ogni utilizzo del sistema.

  • min: il valore minimo di ogni parametro di sistema.

Riepilogo dei parametri del framework

In questa sezione, i seguenti grafici a torta mostrano la suddivisione delle operazioni del framework su e. CPUs GPUs

Un esempio di report di profilazione di Debugger

Ciascuno dei grafici a torta analizza i parametri del framework raccolti in vari aspetti come segue:

  • Rapporto traTRAIN/EVALphase e altre: mostra il rapporto tra le durate di tempo impiegate nelle diverse fasi di allenamento.

  • Rapporto tra passaggio in avanti e indietro – Mostra il rapporto tra il tempo impiegato per il passaggio in avanti e quello all'indietro nel ciclo di addestramento.

  • Rapporto traCPU/GPUoperatori: mostra il rapporto tra il tempo impiegato dagli operatori in esecuzione su CPU oGPU, ad esempio, gli operatori convoluzionali.

  • Parametri generali registrati nel framework – Mostra il rapporto tra il tempo impiegato per i principali parametri del framework, come il caricamento dei dati, il passaggio in avanti e all'indietro.

Panoramica: operatori CPU

Questa sezione fornisce informazioni dettagliate sugli CPU operatori. La tabella mostra la percentuale di tempo e il tempo cumulativo assoluto impiegato dagli operatori chiamati CPU più frequentemente.

Un esempio di report di profilazione di Debugger

Panoramica: operatori GPU

Questa sezione fornisce informazioni dettagliate sugli GPU operatori. La tabella mostra la percentuale di tempo e il tempo cumulativo assoluto impiegato dagli operatori chiamati GPU più frequentemente.

Un esempio di report di profilazione di Debugger

Riepilogo delle regole

In questa sezione, Debugger aggrega tutti i risultati della valutazione delle regole, le analisi, le descrizioni delle regole e i suggerimenti.

Un esempio di report di profilazione di Debugger

Analisi del ciclo di addestramento: durata delle fasi

In questa sezione, puoi trovare una statistica dettagliata della durata dei passaggi su ciascun GPU core di ciascun nodo. Debugger valuta i valori medi, massimi, p99, p95, p50 e minimi delle durate delle fasi e valuta i valori anomali delle fasi. L'istogramma seguente mostra le durate delle fasi acquisite su diversi nodi di lavoro e. GPUs È possibile abilitare o disabilitare l'istogramma di ogni worker scegliendo le legende sul lato destro. È possibile verificare se c'è un particolare particolare GPU che causa valori anomali nella durata delle fasi.

Un esempio di report di profilazione di Debugger

GPUanalisi dell'utilizzo

Questa sezione mostra le statistiche dettagliate sull'utilizzo GPU del core basate sulla regola L. owGPUUtilization Inoltre riassume le statistiche di GPU utilizzo, la media, p95 e p5 per determinare se il lavoro di formazione è sottoutilizzato. GPUs

Dimensione batch

Questa sezione mostra le statistiche dettagliate sull'CPUutilizzo totale, sugli utilizzi individuali e sull'impronta della memoria. GPU GPU La BatchSize regola determina se è necessario modificare la dimensione del batch per utilizzare meglio il. GPUs È possibile verificare se la dimensione del batch è troppo piccola, con conseguente sottoutilizzo o troppo grande, con conseguente sovrautilizzo e problemi di esaurimento della memoria. Nel grafico, le caselle mostrano gli intervalli percentili p25 e p75 (riempiti rispettivamente di viola scuro e giallo brillante) rispetto alla mediana (p50), mentre le barre di errore mostrano il 5° percentile per il limite inferiore e il 95° percentile per il limite superiore.

Un esempio di report di profilazione di Debugger

CPUcolli di bottiglia

In questa sezione, puoi approfondire i punti deboli rilevati dalla regola CPU durante il tuo lavoro di formazione. CPUBottleneck La regola verifica se l'CPUutilizzo è superiore cpu_threshold (90% per impostazione predefinita) e anche se l'GPUutilizzo è inferiore gpu_threshold (10% per impostazione predefinita).

Un esempio di report di profilazione di Debugger

I grafici a torta mostrano le seguenti informazioni:

  • Scarso GPU utilizzo causato da CPU colli di bottiglia: mostra il rapporto tra i punti dati tra quelli con un GPU utilizzo superiore e inferiore alla soglia e quelli che corrispondono ai criteri relativi al collo di bottiglia. CPU

  • Rapporto traTRAIN/EVALphase e altre: mostra il rapporto tra il tempo impiegato nelle diverse fasi di allenamento.

  • Rapporto tra passaggio in avanti e indietro – Mostra il rapporto tra il tempo impiegato per il passaggio in avanti e quello all'indietro nel ciclo di addestramento.

  • Rapporto tra GPU gli operatoriCPU/: mostra il rapporto tra le durate di tempo impiegate su GPUs e CPUs dagli operatori Python, come i processi di caricamento dati e gli operatori di passaggio avanti e indietro.

  • Parametri generali registrati nel framework – Mostra i principali parametri del framework e il rapporto tra il tempo impiegato per i parametri.

Colli di bottiglia di I/O

In questa sezione è possibile trovare un riepilogo dei colli di bottiglia di I/O. La regola valuta il tempo di attesa di I/O e i tassi di GPU utilizzo e monitora se il tempo impiegato per le richieste di I/O supera una soglia percentuale del tempo di formazione totale. Potrebbe indicare problemi di I/O in cui si attende l'arrivo dei dati dallo storage. GPUs

Bilanciamento del carico nell'allenamento multiplo GPU

In questa sezione, puoi identificare i problemi di bilanciamento del carico di lavoro in tutti i settori. GPUs

Un esempio di report di profilazione di Debugger

GPUanalisi della memoria

In questa sezione è possibile analizzare l'utilizzo della GPU memoria raccolto dalla GPUMemoryIncrease regola. Nel grafico, le caselle mostrano gli intervalli percentili p25 e p75 (riempiti rispettivamente di viola scuro e giallo brillante) rispetto alla mediana (p50), mentre le barre di errore mostrano il 5° percentile per il limite inferiore e il 95° percentile per il limite superiore.

Un esempio di report di profilazione di Debugger