Best practice per Amazon SageMaker 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à.

Best practice per Amazon SageMaker Debugger

Utilizza le seguenti linee guida quando esegui processi di addestramento con Debugger.

Scegli un framework di machine learning

Puoi scegliere un framework di apprendimento automatico e utilizzare contenitori di formazione SageMaker predefiniti o contenitori personalizzati. Usa Debugger per rilevare problemi di formazione e prestazioni e analizzare i progressi formativi del tuo processo di formazione in. SageMaker SageMaker ti offre la possibilità di utilizzare contenitori predefiniti preparati per una serie di ambienti framework di machine learning per addestrare il tuo modello su Amazon EC2. Qualsiasi processo di formazione può essere adattato per essere eseguito in AWS Deep Learning Containers, contenitori di SageMaker formazione e contenitori personalizzati.

Usa la dashboard di Studio Debugger Insights

Con la dashboard di Studio Debugger Insights, hai il controllo dei tuoi processo di addestramento. Usa le dashboard di Studio Debugger per tenere sotto controllo e ottimizzare le prestazioni del tuo modello sulle istanze Amazon EC2. Per qualsiasi processo di SageMaker formazione in esecuzione su un'istanza Amazon EC2, Debugger monitora l'utilizzo delle risorse e i dati di output del modello di base (valori di perdita e precisione). Tramite le dashboard di Studio Debugger, ottieni informazioni dettagliate sui tuoi processi di addestramento e migliori le prestazioni dell’addestramento dei modelli. Per ulteriori informazioni, consulta Esperimenti dell'interfaccia utente di Amazon SageMaker Debugger in Amazon Studio Classic SageMaker .

Scarica i report di Debugger e ottieni ulteriori informazioni

Puoi visualizzare i risultati aggregati e ottieni informazioni dettagliate nei report di Debugger. Debugger aggrega i risultati di addestramento e profilazione raccolti dall'analisi delle regole integrata in un report per processo di addestramento. Puoi trovare informazioni più dettagliate sui risultati dell’addestramento tramite i report di Debugger. Per ulteriori informazioni, consulta SageMaker Report interattivo del debugger.

Acquisisci dati dal tuo processo di addestramento e salva i dati su Amazon S3

Puoi usare un hook Debugger per salvare i tensori di output. Dopo aver scelto un container e un framework adatti al tuo script di addestramento, usa un hook Debugger per configurare i tensori da salvare e in quale directory salvarli, ad esempio un bucket Amazon S3. Un hook Debugger aiuta a creare la configurazione e a mantenerla nell'account da utilizzare nelle analisi successive, dove è protetta per l'utilizzo con le applicazioni più sensibili alla privacy. Per ulteriori informazioni, consulta Configura Debugger per salvare i SageMaker tensori.

Analizza i dati con un parco istanze di regole integrate in Debugger

Puoi utilizzare le regole integrate di Debugger per ispezionare i tensori in parallelo a un processo di addestramento. Per analizzare i dati sulle prestazioni dell’addestramento, Debugger fornisce regole integrate che controllano i comportamenti anomali del processo di addestramento. Ad esempio, una regola di Debugger rileva problemi quando il processo di addestramento presenta problemi di colli di bottiglia del sistema o di addestramento, gradienti scomparsi, tensori sovraccarichi, eccesso di adattamento o eccesso di addestramento. Se necessario, puoi anche creare regole personalizzate creando una definizione di regola con criteri personalizzati per definire un problema di addestramento. Per ulteriori informazioni sulle regole del Debugger, consulta Configurazione delle regole integrate di Debugger le istruzioni dettagliate sull'uso dell'SDK Amazon Python SageMaker . Per un elenco completo delle regole integrate di Debugger, consulta Elenco delle regole integrate di Debugger. Se vuoi creare una regola personalizzata, consulta Creazione di regole personalizzate di Debugger per l’analisi dei processi di addestramento.

Intraprendi azioni in base allo stato della regola integrata

Puoi usare Debugger con Amazon CloudWatch Events e. AWS Lambda Puoi automatizzare le azioni in base allo stato della regola, come interrompere anticipatamente i processi di addestramento e impostare notifiche tramite e-mail o SMS. Quando le regole del Debugger rilevano problemi e attivano uno stato di "IssuesFound" valutazione, CloudWatch Events rileva le modifiche allo stato della regola e richiama la funzione Lambda per intraprendere azioni. Per configurare azioni automatizzate in base ai problemi di addestramento, consulta Crea azioni sulle regole utilizzando Amazon CloudWatch e AWS Lambda.

Approfondisci i dati utilizzando la libreria client SMDebug

Puoi utilizzare gli strumenti SMDebug per accedere e analizzare i dati di addestramento raccolti da Debugger. Le classi TrainingJob e create_trial caricano i parametri e i tensori salvati da Debugger. Queste classi forniscono metodi di classe estesi per analizzare i dati in tempo reale o al termine dell’addestramento. La libreria SMDebug fornisce anche strumenti di visualizzazione: unisci le sequenze temporali dei parametri del framework per aggregare diversi profili, grafici a linee e heatmap per tracciare l'utilizzo del sistema e istogrammi per trovare valori anomali di durata delle fasi. Per ulteriori informazioni sugli strumenti della libreria SMDebug, consulta Analizza i dati utilizzando la libreria client Python di Debugger.

Monitoraggio e analisi dei parametri del processo di addestramento

Amazon CloudWatch supporta metriche personalizzate ad alta risoluzione e la sua risoluzione massima è di 1 secondo. Tuttavia, maggiore è la risoluzione, minore è la durata delle metriche. CloudWatch Per la risoluzione di frequenza di 1 secondo, le CloudWatch metriche sono disponibili per 3 ore. Per ulteriori informazioni sulla risoluzione e sulla durata delle CloudWatch metriche, consulta GetMetricStatistics in the Amazon CloudWatch API Reference.

Se desideri profilare il tuo lavoro di formazione con una risoluzione più precisa con una granularità fino a 100 millisecondi (0,1 secondi) e archiviare i parametri di formazione a tempo indeterminato in Amazon S3 per analisi personalizzate in qualsiasi momento, prendi in considerazione l'utilizzo di Amazon Debugger. SageMaker SageMaker Debugger fornisce regole integrate per rilevare automaticamente i problemi di formazione più comuni; rileva i problemi di utilizzo delle risorse hardware (come i colli di bottiglia di CPU, GPU e I/O) e i problemi non convergenti dei modelli (come sovradimensionamento, sbiadimento dei gradienti e tensori esplosivi).

SageMaker Debugger fornisce anche visualizzazioni tramite Studio Classic e il relativo rapporto di profilazione. A differenza delle CloudWatch metriche, che accumulano i tassi di utilizzo delle risorse dei core di CPU e GPU e li calcola in media su più istanze, Debugger tiene traccia del tasso di utilizzo di ciascun core. Ciò consente di identificare l'utilizzo sbilanciato delle risorse hardware durante la scalabilità verso cluster di elaborazione più grandi. Per esplorare le visualizzazioni del Debugger, consulta Debugger Insights Dashboard Walkthrough, Debugger Profiling Report Walkthrough e Analyze Data Using the SageMaker SMDebug Client Library.

Monitoraggio dell'utilizzo del sistema e rilevamento dei colli di bottiglia

Con il monitoraggio di Amazon SageMaker Debugger, puoi misurare l'utilizzo delle risorse del sistema hardware delle istanze Amazon EC2. Il monitoraggio è disponibile per qualsiasi processo di SageMaker formazione creato con gli estimatori del SageMaker framework (TensorFlow PyTorch, e MXNet) e lo estimatore SageMaker generico SageMaker (algoritmi integrati e contenitori personalizzati). Le regole integrate di Debugger per il monitoraggio rilevano i problemi di collo di bottiglia del sistema e avvisano l'utente quando rilevano tali problemi.

Per informazioni su come abilitare il monitoraggio del sistema Debugger, consulta Configura uno stimatore con parametri per la profilazione di base utilizzando i moduli Amazon SageMaker Debugger Python e poi Configurazione delle impostazioni per la profilazione di base dell'utilizzo delle risorse di sistema.

Per un elenco completo delle regole integrate di monitoraggio disponibili per il monitoraggio, consulta Regole integrate di Debugger per la profilazione dell'utilizzo delle risorse del sistema hardware (parametri di sistema).

Operazioni del framework di profilazione

Con la profilazione di Amazon SageMaker Debugger puoi profilare le operazioni dei framework di deep learning. Puoi profilare il tuo modello di formazione con i contenitori di SageMaker TensorFlow formazione, i contenitori del SageMaker PyTorch framework e i tuoi contenitori di formazione. Utilizzando la funzionalità di profilazione di Debugger, puoi approfondire gli operatori e le funzioni Python che vengono eseguiti per eseguire il processo di addestramento. Debugger supporta la profilazione dettagliata, la profilazione Python, la profilazione del caricatore di dati e la profilazione di addestramento distribuito Horovod. È possibile unire le sequenze temporali profilate per correlarle ai colli di bottiglia del sistema. Le regole integrate di Debugger per la profilazione dei problemi relativi al funzionamento di Watch Framework, tra cui l'eccessivo tempo di inizializzazione dell'addestramento dovuto allo scaricamento dei dati prima dell'inizio dell'addestramento e i valori anomali della durata delle fasi nei cicli di addestramento.

Per informazioni su come configurare Debugger per la profilazione del framework, vedi Configura uno stimatore con parametri per la profilazione di base utilizzando i moduli Amazon SageMaker Debugger Python e poi Configurazione per la profilazione del framework.

Per un elenco completo delle regole integrate disponibili per la profilazione, consulta Regole integrate di Debugger per la profilazione dei parametri del framework.

Debug dei tensori di output del modello

Il debugging è disponibile per i framework di deep learning che utilizzano AWS Deep Learning Containers e i contenitori di formazione. SageMaker Per le versioni del framework completamente supportate (vedi le versioni su Framework e algoritmi supportati), Debugger registra automaticamente gli hook per raccogliere i tensori di output ed è possibile eseguire direttamente lo script di addestramento. Per le versioni con un asterisco, è necessario registrare manualmente gli hook per raccogliere i tensori. Debugger fornisce raccolte di tensori preconfigurate con nomi generalizzati che è possibile utilizzare nei diversi framework. Se desideri personalizzare la configurazione del tensore di output, puoi anche utilizzare le operazioni CollectionConfig e DebuggerHookConfig API e l'SDK Amazon SageMaker Python per configurare le tue raccolte di tensori. Le regole integrate di Debugger per il debug analizzano i tensori di output e identificano i problemi di ottimizzazione del modello che impediscono al modello di ridurre al minimo la funzione di perdita. Ad esempio, le regole identificano l'eccesso di adattamento, l’eccesso di addestramento, le perdite non decrescenti, i tensori sovraccarichi e i gradienti scomparsi.

Per informazioni su come configurare Debugger per il debug dei tensori di output, vedi Fase 2: Avviare ed eseguire il debug dei lavori di formazione utilizzando SageMaker Python SDK e poi Configura Debugger per salvare i SageMaker tensori.

Per un elenco completo delle regole integrate di monitoraggio disponibili per il debugging, consulta Regole integrate di Debugger per il debug dei dati di addestramento del modello (tensori di output).