

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Amazon CloudWatch Metrics pour le suivi et l'analyse des offres de formation
<a name="training-metrics"></a>

Une tâche de SageMaker formation Amazon est un processus itératif qui apprend à un modèle à faire des prédictions en présentant des exemples issus d'un ensemble de données de formation. En règle générale, un algorithme d’entraînement calcule plusieurs métriques, telles que les erreurs d’entraînement et la précision des prédictions. Ces métriques permettent de diagnostiquer si le modèle apprend bien et généralisera pour effectuer des prédictions sur des données inconnues. L'algorithme d'entraînement écrit les valeurs de ces métriques dans des journaux, que l' SageMaker IA surveille et envoie à Amazon CloudWatch en temps réel. Pour analyser les performances de votre tâche d'entraînement, vous pouvez afficher des graphiques de ces métriques dans CloudWatch. Lorsqu’une tâche d’entraînement est terminée, vous pouvez également obtenir une liste des valeurs de métriques qu’elle calcule dans son itération finale en appelant l’opération [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTrainingJob.html).

**Note**  
Amazon CloudWatch prend en charge les [métriques personnalisées en haute résolution](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html), et la résolution maximale est d'une seconde. Cependant, plus la résolution est fine, plus la durée de vie des CloudWatch métriques est courte. Pour la résolution de fréquence d'une seconde, les CloudWatch métriques sont disponibles pendant 3 heures. Pour plus d'informations sur la résolution et la durée de vie des CloudWatch métriques, consultez [GetMetricStatistics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricStatistics.html)le *Amazon CloudWatch API Reference*. 

**Astuce**  
[Si vous souhaitez établir le profil de votre poste de formation avec une résolution plus fine, jusqu'à une granularité de 100 millisecondes (0,1 seconde) et stocker les indicateurs de formation indéfiniment dans Amazon S3 pour une analyse personnalisée à tout moment, pensez à utiliser Amazon Debugger. SageMaker ](https://docs.aws.amazon.com/sagemaker/latest/dg/train-debugger.html) SageMaker Debugger fournit des règles intégrées pour détecter automatiquement les problèmes d'entraînement courants ; il détecte les problèmes d'utilisation des ressources matérielles (tels que les blocages du processeur, du GPU et les goulots d' I/O étranglement) et les problèmes de modèle non convergents (tels que le surajustement, la disparition des dégradés et l'explosion des tenseurs). SageMaker Debugger fournit également des visualisations via Studio Classic et son rapport de profilage. [Pour explorer les visualisations du Debugger, consultez les rubriques Procédure pas à pas du tableau de [bord SageMaker Debugger Insights, Procédure pas à pas](https://docs.aws.amazon.com/sagemaker/latest/dg/debugger-on-studio-insights-walkthrough.htm) du [rapport de profilage du Debugger et Analyser les données à l'aide de la bibliothèque](https://docs.aws.amazon.com/sagemaker/latest/dg/debugger-profiling-report.html#debugger-profiling-report-walkthrough) cliente. SMDebug ](https://docs.aws.amazon.com/sagemaker/latest/dg/debugger-analyze-data.html)

**Topics**
+ [Définition de métriques de formation](define-train-metrics.md)
+ [Affichage des statistiques relatives aux tâches d’entraînement](view-train-metrics.md)
+ [Exemple : Affichage d’une courbe d’entraînement et de validation](train-valid-curve.md)

# Définition de métriques de formation
<a name="define-train-metrics"></a>

SageMaker L'IA analyse automatiquement les journaux des tâches de formation et envoie les indicateurs de formation à CloudWatch. Par défaut, l' SageMaker IA envoie les mesures d'utilisation des ressources du système répertoriées dans [SageMaker AI Jobs et Endpoint Metrics](https://docs.aws.amazon.com/sagemaker/latest/dg/monitoring-cloudwatch.html#cloudwatch-metrics-jobs). Si vous souhaitez que l' SageMaker IA analyse les journaux et envoie des métriques personnalisées à partir d'une tâche de formation créée par votre propre algorithme CloudWatch, vous devez spécifier les définitions des métriques en transmettant le nom des métriques et des expressions régulières lorsque vous configurez une demande de formation SageMaker AI.

Vous pouvez spécifier les métriques que vous souhaitez suivre à l'aide de la console SageMaker AI, du [SDK SageMaker AI Python](https://github.com/aws/sagemaker-python-sdk) ou de l'API SageMaker AI de bas niveau.

Si vous utilisez votre propre algorithme, procédez comme suit :
+ Assurez-vous que l’algorithme émet les métriques que vous souhaitez collecter pour les journaux.
+ Définissez une expression régulière qui effectue des recherches précises dans les journaux pour capturer les valeurs des métriques auxquelles vous souhaitez envoyer CloudWatch.

Par exemple, supposons que votre algorithme émette les métriques suivantes pour les erreurs d’entraînement et de validation :

```
Train_error=0.138318;  Valid_error=0.324557;
```

Si vous souhaitez surveiller ces deux métriques dans CloudWatch, le dictionnaire des définitions de métriques doit ressembler à l'exemple suivant :

```
[
    {
        "Name": "train:error",
        "Regex": "Train_error=(.*?);"
    },
    {
        "Name": "validation:error",
        "Regex": "Valid_error=(.*?);"
    }    
]
```

Dans l’expression régulière pour la métrique `train:error` définie dans l’exemple précédent, la première partie de l’expression régulière trouve le texte exact « Train\$1error= » et l’expression `(.*?);` capture tous les caractères jusqu’à ce que le premier caractère point-virgule apparaisse. Dans cette expression, la parenthèse indiquent au regex de capturer ce qui est à l’intérieur de celle-ci, `.` signifie n’importe quel caractère, `*` signifie aucun ou plusieurs caractères et `?` signifie capturer uniquement jusqu’à ce que la première instance du caractère `;`.

## Définissez des métriques à l'aide du SDK SageMaker AI Python
<a name="define-train-metrics-sdk"></a>

Définissez les métriques auxquelles vous souhaitez envoyer CloudWatch en spécifiant une liste de noms de métriques et d'expressions régulières comme `metric_definitions` argument lorsque vous initialisez un `Estimator` objet. Par exemple, si vous souhaitez surveiller à la fois les `validation:error` métriques `train:error` et dans CloudWatch, votre `Estimator` initialisation ressemblera à l'exemple suivant :

```
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=(.*?);'}
    ]
)
```

Pour plus d'informations sur la formation à l'aide des estimateurs du [SDK Amazon SageMaker Python](https://sagemaker.readthedocs.io/en/stable), consultez Sagemaker [Python](https://github.com/aws/sagemaker-python-sdk#sagemaker-python-sdk-overview) SDK on. GitHub 

## Définissez des métriques à l'aide de la console SageMaker AI
<a name="define-train-metrics-console"></a>

Si vous choisissez l'option **Votre propre conteneur d'algorithmes dans ECR** comme source d'algorithme dans la console SageMaker AI lorsque vous créez une tâche de formation, ajoutez les définitions des métriques dans la section **Mesures**. La capture d’écran suivante montre à quoi cela devrait ressembler après avoir ajouté les exemples de noms de métriques et les expressions régulières correspondantes.

![\[Exemple de formulaire d’options d’algorithme dans la console.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/training-metrics-using-smconsole.png)


## Définissez des métriques à l'aide de l'API d' SageMaker IA de bas niveau
<a name="define-train-metrics-api"></a>

Définissez les métriques auxquelles vous souhaitez envoyer CloudWatch en spécifiant une liste de noms de métriques et d'expressions régulières dans le `MetricDefinitions` champ du paramètre [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AlgorithmSpecification.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AlgorithmSpecification.html)d'entrée que vous transmettez à l'[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html)opération. Par exemple, si vous souhaitez surveiller à la fois les `validation:error` métriques `train:error` et dans CloudWatch, vous `AlgorithmSpecification` ressemblerez à l'exemple suivant :

```
"AlgorithmSpecification": {
    "TrainingImage": your-own-image-uri,
    "TrainingInputMode": "File",
    "MetricDefinitions" : [
        {
            "Name": "train:error",
            "Regex": "Train_error=(.*?);"
        },
        {
            "Name": "validation:error",
            "Regex": "Valid_error=(.*?);"
        }
    ]
}
```

Pour plus d'informations sur la définition et l'exécution d'une tâche de formation à l'aide de l'API d' SageMaker IA de bas niveau, consultez [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html).

# Affichage des statistiques relatives aux tâches d’entraînement
<a name="view-train-metrics"></a>

Vous pouvez consulter les statistiques émises par vos jobs de SageMaker formation Amazon dans la console Amazon CloudWatch ou SageMaker AI.

## Surveiller les indicateurs relatifs aux tâches de formation (CloudWatch console)
<a name="view-train-metrics-cw"></a>

Vous pouvez surveiller les métriques qu'une tâche d'entraînement émet en temps réel dans la console CloudWatch.

**Pour surveiller les indicateurs des tâches de formation (CloudWatch console)**

1. Ouvrez la CloudWatch console à l'adresse [https://console.aws.amazon.com/cloudwatch.](https://console.aws.amazon.com/cloudwatch)

1. Choisissez **Metrics**, puis choisissez**/aws/sagemaker/TrainingJobs**.

1. Sélectionnez **TrainingJobName**.

1. Sous l’onglet **Toutes les métriques**, choisissez les noms des métriques d’entraînement que vous souhaitez contrôler.

1. Sous l’onglet **Graphique des métriques**, configurez les options du graphique. Pour plus d'informations sur l'utilisation CloudWatch des graphiques, consultez [Graph Metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph_metrics.html) dans le *guide de CloudWatch l'utilisateur Amazon*.

## Surveillez les indicateurs des tâches de formation (console SageMaker AI)
<a name="view-train-metrics-sm"></a>

Vous pouvez surveiller les indicateurs émis par une tâche de formation en temps réel à l'aide de la console SageMaker AI.

**Pour surveiller les indicateurs des tâches de formation (console SageMaker AI)**

1. Ouvrez la console SageMaker AI à l'adresse [https://console.aws.amazon.com/sagemaker](https://console.aws.amazon.com/sagemaker).

1. Sélectionnez **Training jobs (Tâches d’entraînement)**, puis choisissez la tâche d’entraînement dont vous souhaitez consulter les métriques.

1. Sélectionnez **TrainingJobName**.

1. Dans la section **Surveiller**, vous pouvez consulter les graphiques d’utilisation des instances et les métriques des algorithmes.  
![\[Exemples de graphiques dans la section Surveiller de la console.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/console-metrics.png)

# Exemple : Affichage d’une courbe d’entraînement et de validation
<a name="train-valid-curve"></a>

En règle générale, vous divisez les données sur lesquelles vous entraînez votre modèle en jeux de données d’entraînement et de validation. Vous utilisez le jeu de données d’entraînement pour entraîner les paramètres du modèle qui sont utilisés pour effectuer des prédictions sur le jeu de données d’entraînement. Puis, vous testez la qualité des prédictions du modèle en calculant les prédictions pour le jeu de données de validation. Pour analyser les performances d’une tâche d’entraînement, vous tracez habituellement une courbe d’entraînement et une courbe de validation. 

L’affichage d’un graphique qui illustre la précision des jeux de données d’entraînement et de validation au fil du temps peut vous aider à améliorer la performance de votre modèle. Par exemple, si la précision du jeu de données d’entraînement continue d’augmenter au fil du temps, mais qu’à un moment donné, la précision du jeu de données de validation commence à diminuer, il est probable que votre modèle soit surajusté. Pour résoudre ce problème, vous pouvez ajuster votre modèle (par exemple, augmentation de la [régularisation](https://docs.aws.amazon.com/glossary/latest/reference/glos-chap.html#regularization)).

Pour cet exemple, vous pouvez utiliser l'mage-classification-full-trainingexemple **I** dans la section Exemples de **blocs-notes** de votre instance de bloc-notes SageMaker AI. Si vous ne possédez pas d'instance de SageMaker bloc-notes, créez-en une en suivant les instructions de[Création d'une instance Amazon SageMaker Notebook pour le didacticiel](gs-setup-working-env.md). Si vous préférez, vous pouvez suivre l'[exemple de classification d'images End-to-End multiclasses](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/imageclassification_caltech/Image-classification-fulltraining.html) dans le bloc-notes d'exemple ci-dessous. GitHub Vous avez également besoin d’un compartiment Amazon S3 pour stocker les données d’entraînement et pour la sortie du modèle.

**Pour consulter une courbe d’entraînement et une courbe de validation**

1. Ouvrez la console SageMaker AI à l'adresse [https://console.aws.amazon.com/sagemaker](https://console.aws.amazon.com/sagemaker).

1. Choisissez **Blocs-notes**, puis **Instances de blocs-notes**.

1. Choisissez l’instance de bloc-notes que vous souhaitez utiliser, puis choisissez **Ouvrir**.

1. Sur le tableau de bord de votre instance de bloc-notes, sélectionnez **SageMaker AI Examples**.

1. Développez la section **Introduction aux algorithmes Amazon**, puis choisissez **Utiliser** à côté de **I mage-classification-fulltraining .ipynb**.

1. Choisissez **Créer une copie**. SageMaker AI crée une copie modifiable du bloc-notes **I mage-classification-fulltraining .ipynb** dans votre instance de bloc-notes.

1. Exécutez toutes les cellules du bloc-notes jusqu’à la section **Inference (Inférence)**. Vous n’avez pas besoin de déployer un point de terminaison ou d’obtenir une inférence pour cet exemple.

1. Une fois le travail de formation démarré, ouvrez la CloudWatch console à l'adresse [https://console.aws.amazon.com/cloudwatch.](https://console.aws.amazon.com/cloudwatch)

1. Choisissez **Metrics**, puis choisissez**/aws/sagemaker/TrainingJobs**.

1. Sélectionnez **TrainingJobName**.

1. Sous l’onglet **Toutes les métriques**, sélectionnez les métriques **train:accuracy** et **validation:accuracy** pour la tâche d’entraînement que vous avez créée dans le bloc-notes.

1. Sur le graphique, sélectionnez une zone avec une valeur de métrique sur laquelle zoomer. Vous devriez voir un résultat similaire à l’exemple suivant.  
![\[Zone zoomée sur le graphique.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/train-valid-acc.png)