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à.
Monitora e analizza i lavori di formazione utilizzando Amazon CloudWatch Metrics
Un lavoro di SageMaker formazione su Amazon è un processo iterativo che insegna a un modello a fare previsioni presentando esempi tratti da un set di dati di formazione. In genere, un algoritmo di addestramento calcola diversi parametri, ad esempio errore di addestramento e accuratezza della previsione. Questi parametri consentono di stabilire la capacità di apprendimento e di generalizzazione del modello per fare previsioni su dati non visualizzati. L'algoritmo di addestramento scrive i valori di queste metriche nei log, che li SageMaker monitorano e li inviano ad Amazon CloudWatch in tempo reale. Per analizzare le prestazioni del tuo lavoro di formazione, puoi visualizzare i grafici di queste metriche in. CloudWatch Al termine di un processo di addestramento, puoi anche ottenere un elenco dei valori dei parametri che vengono calcolati nell'iterazione finale chiamando l'operazione DescribeTrainingJob
.
Nota
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 Amazon GetMetricStatisticsReference. CloudWatch API
Suggerimento
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 (ad esempio CPUGPU, e i colli di bottiglia di I/O) e i problemi non convergenti dei modelli (come sovradimensionamento, gradienti spariti e tensori esplosivi). SageMaker Debugger fornisce anche visualizzazioni tramite Studio Classic e il relativo rapporto di profilazione. Per esplorare le visualizzazioni del Debugger, consulta Debugger Insights Dashboard Walkthrough, SageMaker Debugger Profiling Report Walkthrough e Analyze Data Using the Client Library. SMDebug
Argomenti
Definizione dei parametri di addestramento
SageMaker analizza automaticamente i registri dei lavori di CloudWatch formazione e invia le metriche di formazione a. Per impostazione predefinita, SageMaker invia le metriche di utilizzo delle risorse di sistema elencate in SageMaker Jobs ed Endpoint Metrics. Se desideri SageMaker analizzare i log e inviare metriche personalizzate da un processo di formazione del tuo algoritmo CloudWatch, devi specificare le definizioni delle metriche passando il nome delle metriche e delle espressioni regolari quando configuri una richiesta di lavoro di formazione. SageMaker
Puoi specificare le metriche che desideri monitorare utilizzando la SageMaker console, SageMaker SDKPython
Se utilizzi il tuo algoritmo, procedi come riportato di seguito:
-
Assicurati che l'algoritmo scriva i parametri che devono essere acquisiti nei log.
-
Definisci un'espressione regolare che cerchi accuratamente nei log per acquisire i valori delle metriche a cui desideri inviare. CloudWatch
Ad esempio, supponi che l'algoritmo emetta i seguenti parametri per errore di addestramento ed errore di convalida:
Train_error=0.138318; Valid_error=0.324557;
Se desideri monitorare entrambe queste metriche CloudWatch, il dizionario per le definizioni delle metriche dovrebbe essere simile al seguente esempio:
[ { "Name": "train:error", "Regex": "Train_error=(.*?);" }, { "Name": "validation:error", "Regex": "Valid_error=(.*?);" } ]
Nell'espressione regolare per il parametro train:error
definita in precedenza, la prima parte dell'espressione regolare trova il testo esatto "Train_error= " e l'espressione (.*?);
acquisisce qualsiasi carattere fino al primo carattere punto e virgola. In questa espressione, la parentesi indicano alla regex di acquisire il loro contenuto, .
significa qualsiasi carattere, *
significa zero o più caratteri e ?
significa acquisire solo fino alla prima istanza del carattere ;
.
Definisci le metriche usando Python SageMaker SDK
Definisci le metriche a cui desideri inviare CloudWatch specificando un elenco di nomi di metriche ed espressioni regolari come metric_definitions
argomento quando inizializzi un oggetto. Estimator
Ad esempio, se desideri monitorare sia le validation:error
metriche che in CloudWatch, l'train:error
Estimator
inizializzazione sarà simile al seguente esempio:
import sagemaker from sagemaker.estimator import Estimator estimator = Estimator( image_uri="
your-own-image-uri
", role=sagemaker.get_execution_role(), sagemaker_session=sagemaker.Session(), instance_count=1
, instance_type='ml.c4.xlarge
', metric_definitions=[ {'Name': 'train:error', 'Regex': 'Train_error=(.*?);'}, {'Name': 'validation:error', 'Regex': 'Valid_error=(.*?);'} ] )
Per ulteriori informazioni sulla formazione utilizzando gli SDK estimatori di Amazon SageMaker Python
Definisci le metriche utilizzando la console SageMaker
Se scegli l'ECRopzione Il tuo contenitore di algoritmi come fonte dell'algoritmo nella SageMaker console quando crei un processo di formazione, aggiungi le definizioni delle metriche nella sezione Metriche. La schermata seguente mostra come dovrebbe funzionare dopo aver aggiunto i nomi dei parametri di esempio e le espressioni regolari corrispondenti.
![Modulo di esempio per le opzioni dell'algoritmo nella console.](images/training-metrics-using-smconsole.png)
Definisci le metriche utilizzando il livello basso SageMaker API
Definisci le metriche a cui desideri inviare CloudWatch specificando un elenco di nomi di metriche ed espressioni regolari nel MetricDefinitions
campo del parametro di AlgorithmSpecification
input che passi all'operazione. CreateTrainingJob
Ad esempio, se desideri monitorare sia le train:error
validation:error
metriche che in CloudWatch, AlgorithmSpecification
avresti un aspetto simile al seguente:
"AlgorithmSpecification": { "TrainingImage":
your-own-image-uri
, "TrainingInputMode": "File", "MetricDefinitions" : [ { "Name": "train:error", "Regex": "Train_error=(.*?);" }, { "Name": "validation:error", "Regex": "Valid_error=(.*?);" } ] }
Per ulteriori informazioni sulla definizione e l'esecuzione di un processo di formazione utilizzando il livello basso SageMaker API, consulta. CreateTrainingJob
Monitoraggio delle metriche relative ai lavori di formazione (CloudWatch console)
Puoi monitorare le metriche emesse da un processo di formazione in tempo reale nella console. CloudWatch
Per monitorare le metriche relative ai lavori di formazione (console) CloudWatch
-
Apri la CloudWatch console all'indirizzo https://console.aws.amazon.com/cloudwatch
. -
Scegli Metriche, quindi scegli /aws/sagemaker/ TrainingJobs.
-
Scegli. TrainingJobName
-
Nella scheda Tutti i parametri, scegli i nomi dei parametri di addestramento da monitorare.
-
Nella scheda Parametri definiti, configura le opzioni del grafico. Per ulteriori informazioni sull'uso dei CloudWatch grafici, consulta Graph Metrics nella Amazon CloudWatch User Guide.
Monitoraggio dei parametri del processo di training (console SageMaker)
Puoi monitorare le metriche emesse da un processo di formazione in tempo reale utilizzando la console. SageMaker
Per monitorare le metriche relative ai lavori di formazione (console) SageMaker
-
Apri la SageMaker console all'indirizzo https://console.aws.amazon.com/sagemaker
. -
Scegli Processi di addestramento, quindi selezionare il processo di addestramento di cui visualizzare i parametri.
-
Scegliete TrainingJobName.
-
Nella sezione Monitoraggio, puoi rivedere i grafici dei parametri relativi ad algoritmo e utilizzo dell'istanza.
Esempio: visualizzazione di una curva di addestramento e di convalida
In genere, i dati utilizzati per l’addestramento del modello vengono suddivisi in set di dati di addestramento e di convalida. Utilizza il set di addestramento per l’addestramento dei parametri del modello che vengono utilizzati per fare previsioni sul set di dati di addestramento. Quindi verifica la bontà delle previsioni effettuate dal modello calcolando le previsioni per il set di convalida. Per analizzare le prestazioni di un processo di addestramento, viene comunemente tracciata una curva di addestramento rispetto a una curva di convalida.
La visualizzazione di un grafico che mostra la precisione dei set di addestramento e di convalida nel tempo consente di migliorare le prestazioni del modello. Ad esempio, se la precisione dell’addestramento continua ad aumentare nel tempo, ma a un certo punto, la precisione di convalida inizia a diminuire, è probabile che si stia verificando l'overfitting del modello. Per risolvere questo problema, puoi apportare regolazioni al modello, ad esempio incrementando la regolarizzazione.
Per questo esempio, puoi usare l'esempio I mage-classification-full-training nella sezione Notebooks di esempio dell'istanza del tuo notebook. SageMaker Se non disponi di un'istanza di SageMaker notebook, creane una seguendo le istruzioni riportate all'indirizzo. Passaggio 1: crea un'istanza Amazon SageMaker Notebook per il tutorial Se preferisci, puoi seguire l'esempio di classificazione end-to-end delle immagini multiclasse riportato nell'esempio notebook
Per visualizzare curve di errore di addestramento e di convalida
-
Scegli Notebook, quindi seleziona Istanze del notebook.
-
Scegli l'istanza del notebook da utilizzare e quindi seleziona Apri.
-
Nella dashboard dell'istanza del notebook, scegli SageMakerEsempi.
-
Espandi la sezione Introduzione ad Amazon Algorithms, quindi scegli Usa accanto a I mage-classification-fulltraining .ipynb.
-
Scegli Crea copia. SageMaker crea una copia modificabile del notebook I mage-classification-fulltraining .ipynb nell'istanza del notebook.
-
Esegui tutte le celle nel notebook fino alla sezione Inferenza. Non è necessario distribuire un endpoint o ottenere inferenza per questo esempio.
-
Scegli Metriche, quindi scegli /aws/sagemaker/ TrainingJobs.
-
Scegli. TrainingJobName
-
Nella scheda Tutti i parametri, scegli i parametri train:accuracy e validation:accuracy per il processo di addestramento creato nel notebook.
-
Nel grafico, scegli un'area dei valori del parametro da ingrandire. L'output visualizzato sarà simile al seguente esempio.