Definizione dei parametri di training - Amazon SageMaker AI

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à.

Definizione dei parametri di training

SageMaker AI analizza automaticamente i log dei job di addestramento e invia i parametri di addestramento a CloudWatch. Per impostazione predefinita, SageMaker AI invia le metriche di utilizzo delle risorse di sistema elencate in SageMaker AI Jobs and Endpoint Metrics. Se desideri che SageMaker AI analizzi i log e invii metriche personalizzate da un job di addestramento del tuo algoritmo a CloudWatch, devi specificare le definizioni delle metriche passando il nome delle metriche e delle espressioni regolari quando configuri una richiesta di job di addestramento SageMaker AI.

Puoi specificare le metriche che desideri monitorare utilizzando la console di SageMaker AI, SageMaker AI Python SDK o l’API SageMaker AI di basso livello.

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 esegue ricerche accurate nei log per acquisire i valori dei parametri che desideri inviare a 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 entrambi questi parametri in CloudWatch, il dizionario per le definizioni dei parametri 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 ;.

Definire metriche utilizzando SageMaker AI Python SDK

Definisci i parametri che desideri inviare a CloudWatch specificando un elenco di nomi di parametri e di espressioni regolari come l'argomento metric_definitions quando inizializzi un oggetto Estimator. Ad esempio, se desideri monitorare i parametri train:error e validation:error in CloudWatch, l'inizializzazione Estimator deve avere l'aspetto seguente:

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 sull’addestramento utilizzando gli strumenti di valutazione Amazon SageMaker Python SDK, consulta Sagemaker Python SDK su GitHub.

Definire metriche utilizzando la console di SageMaker AI

Se scegli l’opzione Container in ECR del tuo algoritmo come origine dell’algoritmo nella console di SageMaker AI quando crei un job di addestramento, 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.

Esempio di modulo delle opzioni dell’algoritmo nella console.

Definire metriche utilizzando l’API SageMaker AI di basso livello

Definisci i parametri che desideri inviare a CloudWatch specificando un elenco di nomi parametri e di espressioni regolari nel campo MetricDefinitions del parametro di input AlgorithmSpecification che passi all'operazione CreateTrainingJob. Ad esempio, se desideri monitorare i parametri train:error e validation:error in CloudWatch, AlgorithmSpecification deve avere l'aspetto 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 sull’esecuzione di un job di addestramento utilizzando l’API di SageMaker AI di basso livello, consulta CreateTrainingJob.