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à.
Elenco delle regole del profiler integrate di Debugger
Utilizza le regole di profilazione integrate di Debugger fornite da Amazon SageMaker Debugger e analizza le metriche raccolte durante l'addestramento dei tuoi modelli. Le regole integrate di Debugger monitorano varie condizioni comuni che sono fondamentali per il successo dell’esecuzione di un processo di addestramento. Puoi richiamare le regole di profilazione integrate utilizzando Amazon SageMaker SDK Python
Nota
Il numero massimo di regole di profilazione integrate che puoi allegare a un lavoro di formazione è 20. SageMaker Debugger gestisce completamente le regole integrate e analizza il processo di formazione in modo sincrono.
Importante
Per utilizzare le nuove funzionalità del Debugger, è necessario aggiornare SageMaker Python SDK e la libreria client. SMDebug Nel iPython kernel, nel notebook Jupyter o nell' JupyterLab ambiente, esegui il codice seguente per installare le versioni più recenti delle librerie e riavviare il kernel.
import sys import IPython !{sys.executable} -m pip install -U sagemaker smdebug IPython.Application.instance().kernel.do_shutdown(True)
Regole del profiler
Le seguenti regole sono le regole integrate di Debugger che possono essere richiamate utilizzando il metodo di classe ProfilerRule.sagemaker
.
Regola integrata di Debugger per la generazione del rapporto di profilazione
Ambito di validità | Regole integrate |
---|---|
Rapporto di profilazione per qualsiasi lavoro di formazione SageMaker |
Regole integrate di Debugger per la profilazione dell'utilizzo delle risorse del sistema hardware (parametri di sistema)
Ambito di validità | Regole integrate |
---|---|
Regole generiche di monitoraggio del sistema per qualsiasi SageMaker attività di formazione |
Regole integrate di Debugger per la profilazione dei parametri del framework
Ambito di validità | Regole integrate |
---|---|
Regole di profilazione per i framework di deep learning (e) TensorFlow PyTorch |
avvertimento
A favore di Amazon SageMaker Profiler, SageMaker Debugger depreca la funzionalità di profilazione del framework a partire dalla versione 2.11 e 2.0. TensorFlow PyTorch Puoi comunque utilizzare la funzionalità nelle versioni precedenti dei framework e come segue. SDKs
-
SageMaker Python <= v2.130.0 SDK
-
PyTorch >= v1.6.0, < v2.0
-
TensorFlow >= v2.3.1, < v2.1
Consulta anche 16 marzo 2023.
Per utilizzare le regole integrate con i valori dei parametri predefiniti, utilizza il seguente formato di configurazione:
from sagemaker.debugger import Rule, ProfilerRule, rule_configs rules = [ ProfilerRule.sagemaker(rule_configs.
BuiltInRuleName_1
()), ProfilerRule.sagemaker(rule_configs.BuiltInRuleName_2
()), ... ProfilerRule.sagemaker(rule_configs.BuiltInRuleName_n
()) ]
Per utilizzare le regole integrate con la configurazione dei parametri predefiniti, utilizza il seguente formato di configurazione:
from sagemaker.debugger import Rule, ProfilerRule, rule_configs rules = [ ProfilerRule.sagemaker( base_config=rule_configs.
BuiltInRuleName
(), rule_parameters={ "key
": "value
" } ) ]
Per trovare le chiavi disponibili per il parametro rule_parameters
, consulta le tabelle di descrizione dei parametri.
Vengono forniti esempi di codici di configurazione delle regole per ogni regola integrata sotto le tabelle di descrizione dei parametri.
-
Per istruzioni complete ed esempi di utilizzo delle regole integrate di Debugger, consulta Codice di esempio delle regole integrate del Debugger.
-
Per un'istruzione completa sull'uso delle regole integrate con le operazioni di basso livello, vedere. SageMaker API Configurare Debugger utilizzando SageMaker API
ProfilerReport
La ProfilerReport regola richiama tutte le regole integrate per il monitoraggio e la profilazione. Crea un rapporto di profilazione e si aggiorna quando vengono attivate le singole regole. È possibile scaricare un rapporto di profilazione completo mentre un processo di addestramento è in corso o dopo il completamento del processo di addestramento. È possibile regolare i valori dei parametri delle regole per personalizzare la sensibilità delle regole di monitoraggio e profilazione integrate. Il codice di esempio seguente mostra il formato di base per regolare i parametri della regola incorporata tramite la regola. ProfilerReport
rules=[ ProfilerRule.sagemaker( rule_configs.
ProfilerReport
(<BuiltInRuleName>
_<parameter_name>
=value
) ) ]
Se si attiva questa ProfilerReport regola senza alcun parametro personalizzato, come mostrato nel codice di esempio seguente, la ProfilerReport regola attiva tutte le regole integrate per il monitoraggio e la profilazione con i valori dei parametri predefiniti.
rules=[ProfilerRule.sagemaker(rule_configs.ProfilerReport())]
Il codice di esempio seguente mostra come specificare e modificare il cpu_threshold
parametro della CPUBottleneck regola e il parametro della IOBottleneck threshold
regola.
rules=[ ProfilerRule.sagemaker( rule_configs.ProfilerReport(
CPUBottleneck_cpu_threshold
=90
,IOBottleneck_threshold
=90
) ) ]
Per scoprire cosa contiene il rapporto del profiler, consulta SageMaker Debugger Profiling Report. Inoltre, poiché questa regola attiva tutte le regole di profilazione, puoi anche controllare lo stato dell'analisi delle regole utilizzando l'interfaccia utente di Debugger in Studio Experiments. SageMaker SageMaker
Descrizioni dei parametri per la regola OverallSystemUsage
Nome parametro | Descrizione |
---|---|
base_trial |
Il nome per il processo di addestramento di prova di base. Questo parametro viene impostato automaticamente sul processo di formazione corrente da Amazon SageMaker Debugger. Campo obbligatorio Valori validi: stringa |
<BuiltInRuleName>_<parameter_name> |
Parametro personalizzabile per regolare le soglie di altre regole di monitoraggio e profilazione integrate. Opzionale Valore predefinito: |
BatchSize
La BatchSize regola aiuta a rilevare se GPU è sottoutilizzata a causa di un batch di piccole dimensioni. Per rilevare questo problema, questa regola monitora l'CPUutilizzo medio, l'utilizzo e l'GPUutilizzo della memoria. GPU Se l'utilizzo è attivo CPU e la GPU memoria è mediamente bassa, ciò può indicare che il processo di formazione può essere eseguito su un tipo di istanza più piccolo o su un batch di dimensioni maggiori. GPU Questa analisi non funziona per i framework che sovraallocano pesantemente la memoria. Tuttavia, l'aumento delle dimensioni del batch può comportare rallentamenti nell'elaborazione o nel caricamento dei dati, poiché è necessario più tempo di preelaborazione dei dati in ogni iterazione.
Descrizioni dei parametri per la regola BatchSize
Nome parametro | Descrizione |
---|---|
base_trial |
Il nome per il processo di addestramento di prova di base. Questo parametro viene impostato automaticamente sul processo di formazione corrente da Amazon SageMaker Debugger. Campo obbligatorio Valori validi: stringa |
cpu_threshold_p95 |
Definisce la soglia per il 95° quantile di utilizzo in percentuale. CPU Opzionale Valori validi: numeri interi Valore predefinito: |
gpu_threshold_p95 |
Definisce la soglia per il 95° quantile di utilizzo in percentuale. GPU Opzionale Valori validi: numeri interi Valore predefinito: |
gpu_memory_threshold_p95 |
Definisce la soglia per il 95° quantile di utilizzo della GPU memoria in percentuale. Opzionale Valori validi: numeri interi Valori predefiniti: |
patience |
Definisce il numero di punti dati da saltare fino all'avvio della valutazione da parte della regola. Le prime fasi dei processi di addestramento in genere mostrano un elevato volume di processi di dati, quindi mantieni la regola paziente ed evita che venga richiamata troppo presto con un determinato numero di dati di profilazione specificato con questo parametro. Opzionale Valori validi: numeri interi Valori predefiniti: |
window |
Dimensioni della finestra per il calcolo dei quantili. Opzionale Valori validi: numeri interi Valori predefiniti: |
scan_interval_us |
Intervallo di tempo in cui i file della sequenza temporale vengono scansionati. Opzionale Valori validi: numeri interi Valori predefiniti: |
CPUBottleneck
La CPUBottleneck regola aiuta a rilevare se GPU è sottoutilizzata a causa di strozzature. CPU La regola restituisce True se il numero di CPU colli di bottiglia supera una soglia predefinita.
Descrizioni dei parametri per la regola CPUBottleneck
Nome parametro | Descrizione |
---|---|
base_trial |
Il nome per il processo di addestramento di prova di base. Questo parametro viene impostato automaticamente sul processo di formazione corrente da Amazon SageMaker Debugger. Campo obbligatorio Valori validi: stringa |
threshold |
Definisce la soglia per la proporzione tra il tempo di difficoltà e il tempo totale di addestramento. Se la proporzione supera la percentuale specificata nel parametro di soglia, la regola imposta lo stato della regola su True. Opzionale Valori validi: numeri interi Valore predefinito: |
gpu_threshold |
Una soglia che definisce un basso utilizzo. GPU Opzionale Valori validi: numeri interi Valore predefinito: |
cpu_threshold |
Una soglia che definisce un CPU utilizzo elevato. Opzionale Valori validi: numeri interi Valori predefiniti: |
patience |
Definisce il numero di punti dati da saltare fino all'avvio della valutazione da parte della regola. Le prime fasi dei processi di addestramento in genere mostrano un elevato volume di processi di dati, quindi mantieni la regola paziente ed evita che venga richiamata troppo presto con un determinato numero di dati di profilazione specificato con questo parametro. Opzionale Valori validi: numeri interi Valori predefiniti: |
scan_interval_us |
Intervallo di tempo in cui i file della sequenza temporale vengono scansionati. Opzionale Valori validi: numeri interi Valori predefiniti: |
GPUMemoryIncrease
La GPUMemoryIncrease regola consente di rilevare un notevole aumento dell'utilizzo della memoria suGPUs.
Descrizioni dei parametri per la GPUMemoryIncrease regola
Nome parametro | Descrizione |
---|---|
base_trial |
Il nome per il processo di addestramento di prova di base. Questo parametro viene impostato automaticamente sul processo di formazione corrente da Amazon SageMaker Debugger. Campo obbligatorio Valori validi: stringa |
increase |
Definisce la soglia per l'aumento assoluto della memoria. Opzionale Valori validi: numeri interi Valore predefinito: |
patience |
Definisce il numero di punti dati da saltare fino all'avvio della valutazione da parte della regola. Le prime fasi dei processi di addestramento in genere mostrano un elevato volume di processi di dati, quindi mantieni la regola paziente ed evita che venga richiamata troppo presto con un determinato numero di dati di profilazione specificato con questo parametro. Opzionale Valori validi: numeri interi Valori predefiniti: |
window |
Dimensioni della finestra per il calcolo dei quantili. Opzionale Valori validi: numeri interi Valori predefiniti: |
scan_interval_us |
Intervallo di tempo in cui i file della sequenza temporale vengono scansionati. Opzionale Valori validi: numeri interi Valori predefiniti: |
IOBottleneck
Questa regola aiuta a rilevare se GPU è sottoutilizzata a causa di problemi di I/O dei dati. La regola restituisce True se il numero di colli di bottiglia IO supera una soglia predefinita.
Descrizioni dei parametri per la regola IOBottleneck
Nome parametro | Descrizione |
---|---|
base_trial |
Il nome per il processo di addestramento di prova di base. Questo parametro viene impostato automaticamente sul processo di formazione corrente da Amazon SageMaker Debugger. Campo obbligatorio Valori validi: stringa |
threshold |
Definisce la soglia entro la quale la regola deve restituire True. Opzionale Valori validi: numeri interi Valore predefinito: |
gpu_threshold |
Una soglia che definisce quando GPU è considerata sottoutilizzata. Opzionale Valori validi: numeri interi Valore predefinito: |
io_threshold |
Una soglia che definisce un tempo di attesa IO elevato. Opzionale Valori validi: numeri interi Valori predefiniti: |
patience |
Definisce il numero di punti dati da saltare fino all'avvio della valutazione da parte della regola. Le prime fasi dei processi di addestramento in genere mostrano un elevato volume di processi di dati, quindi mantieni la regola paziente ed evita che venga richiamata troppo presto con un determinato numero di dati di profilazione specificato con questo parametro. Opzionale Valori validi: numeri interi Valori predefiniti: |
scan_interval_us |
Intervallo di tempo in cui i file della sequenza temporale vengono scansionati. Opzionale Valori validi: numeri interi Valori predefiniti: |
LoadBalancing
La LoadBalancing regola aiuta a rilevare problemi nel bilanciamento del carico di lavoro tra più utenti. GPUs
Descrizioni dei parametri per la regola LoadBalancing
Nome parametro | Descrizione |
---|---|
base_trial |
Il nome per il processo di addestramento di prova di base. Questo parametro viene impostato automaticamente sul processo di formazione corrente da Amazon SageMaker Debugger. Campo obbligatorio Valori validi: stringa |
threshold |
Definisce la percentuale del carico di lavoro. Opzionale Valori validi: numeri interi Valore predefinito: |
patience |
Definisce il numero di punti dati da saltare fino all'avvio della valutazione da parte della regola. Le prime fasi dei processi di addestramento in genere mostrano un elevato volume di processi di dati, quindi mantieni la regola paziente ed evita che venga richiamata troppo presto con un determinato numero di dati di profilazione specificato con questo parametro. Opzionale Valori validi: numeri interi Valori predefiniti: |
scan_interval_us |
Intervallo di tempo in cui i file della sequenza temporale vengono scansionati. Opzionale Valori validi: numeri interi Valori predefiniti: |
L owGPUUtilization
La owGPUUtilization regola L aiuta a rilevare se GPU l'utilizzo è basso o presenta fluttuazioni. Questo viene verificato per ogni GPU lavoratore. La regola restituisce True se il 95° quantile è inferiore a threshold_p95, il che indica un sottoutilizzo. La regola restituisce true se il 95° quantile è al di sopra della soglia p95 e il quinto quantile è inferiore alla soglia p5, il che indica le fluttuazioni.
Descrizioni dei parametri per la owGPUUtilization regola L
Nome parametro | Descrizione |
---|---|
base_trial |
Il nome per il processo di addestramento di prova di base. Questo parametro viene impostato automaticamente sul processo di formazione corrente da Amazon SageMaker Debugger. Campo obbligatorio Valori validi: stringa |
threshold_p95 |
Una soglia per il 95° quantile al di sotto della quale GPU è considerata sottoutilizzata. Opzionale Valori validi: numeri interi Valore predefinito: |
threshold_p5 |
Una soglia per il quinto quantile. Il valore predefinito è il 10 percento. Opzionale Valori validi: numeri interi Valori predefiniti: |
patience |
Definisce il numero di punti dati da saltare fino all'avvio della valutazione da parte della regola. Le prime fasi dei processi di addestramento in genere mostrano un elevato volume di processi di dati, quindi mantieni la regola paziente ed evita che venga richiamata troppo presto con un determinato numero di dati di profilazione specificato con questo parametro. Opzionale Valori validi: numeri interi Valori predefiniti: |
window |
Dimensioni della finestra per il calcolo dei quantili. Opzionale Valori validi: numeri interi Valori predefiniti: |
scan_interval_us |
Intervallo di tempo in cui i file della sequenza temporale vengono scansionati. Opzionale Valori validi: numeri interi Valori predefiniti: |
OverallSystemUsage
La OverallSystemUsage regola misura l'utilizzo complessivo del sistema per nodo di lavoro. Attualmente la regola aggrega solo i valori per nodo e ne calcola i percentili.
Descrizioni dei parametri per la OverallSystemUsage regola
Nome parametro | Descrizione |
---|---|
base_trial |
Il nome per il processo di addestramento di prova di base. Questo parametro viene impostato automaticamente sul processo di formazione corrente da Amazon SageMaker Debugger. Campo obbligatorio Valori validi: stringa |
scan_interval_us |
Intervallo di tempo per la scansione dei file della sequenza temporale. Opzionale Valori validi: numeri interi Valori predefiniti: |
MaxInitializationTime
La MaxInitializationTime regola aiuta a rilevare se l'inizializzazione della formazione richiede troppo tempo. La regola attende che la prima fase sia disponibile.
Descrizioni dei parametri per la regola MaxInitializationTime
Nome parametro | Descrizione |
---|---|
base_trial |
Il nome per il processo di addestramento di prova di base. Questo parametro viene impostato automaticamente sul processo di formazione corrente da Amazon SageMaker Debugger. Campo obbligatorio Valori validi: stringa |
threshold |
Definisce la soglia in minuti per attendere che la prima fase diventi disponibile. Opzionale Valori validi: numeri interi Valore predefinito: |
scan_interval_us |
Intervallo di tempo in cui i file della sequenza temporale vengono scansionati. Opzionale Valori validi: numeri interi Valori predefiniti: |
OverallFrameworkMetrics
La OverallFrameworkMetrics regola riassume il tempo impiegato per le metriche del framework, come il passaggio in avanti e all'indietro e il caricamento dei dati.
Descrizioni dei parametri per la regola OverallFrameworkMetrics
Nome parametro | Descrizione |
---|---|
base_trial |
Il nome per il processo di addestramento di prova di base. Questo parametro viene impostato automaticamente sul processo di formazione corrente da Amazon SageMaker Debugger. Campo obbligatorio Valori validi: stringa |
scan_interval_us |
Intervallo di tempo per la scansione dei file della sequenza temporale. Opzionale Valori validi: numeri interi Valori predefiniti: |
StepOutlier
La StepOutlier regola aiuta a rilevare i valori anomali nella durata dei passaggi. Questa regola restituisce True
se sono presenti valori anomali con durate delle fasi superiori ai sigma stddev
delle durate dell'intera fase in un intervallo di tempo.
Descrizioni dei parametri per la regola StepOutlier
Nome parametro | Descrizione |
---|---|
base_trial |
Il nome per il processo di addestramento di prova di base. Questo parametro viene impostato automaticamente sul processo di formazione corrente da Amazon SageMaker Debugger. Campo obbligatorio Valori validi: stringa |
stddev |
Definisce un fattore per il quale moltiplicare la deviazione standard. Ad esempio, la regola viene richiamata per impostazione predefinita quando la durata di una fase è maggiore o minore di 5 volte la deviazione standard. Opzionale Valori validi: numeri interi Valore predefinito: |
mode |
Modalità in base alla quale le fasi sono state salvate e su quale regola devono essere eseguite. Per impostazione predefinita, la regola verrà eseguita in fasi successive EVAL TRAIN Opzionale Valori validi: numeri interi Valore predefinito: |
n_outliers |
Quanti valori anomali ignorare prima che la regola restituisca True Opzionale Valori validi: numeri interi Valore predefinito: |
scan_interval_us |
Intervallo di tempo in cui i file della sequenza temporale vengono scansionati. Opzionale Valori validi: numeri interi Valori predefiniti: |