Création d’une référence
Les calculs de référence des statistiques et des contraintes sont nécessaires en tant que norme pour savoir quels problèmes d'écarts des données et autres problèmes de qualité peuvent être détectés. Model Monitor fournit un conteneur intégré capable de suggérer automatiquement les contraintes pour les entrées CSV et JSON plat. Ce conteneur sagemaker-model-monitor-analyzer propose également diverses capacités de surveillance de modèle, notamment la validation des contraintes par rapport à une référence et d’émission de métriques Amazon CloudWatch. Ce conteneur est basé sur Spark version 3.3.0 et est construit avec Deequ_ comme caractère spécial.
Le jeu de données d'entraînement utilisé pour entraîner le modèle est généralement un bon jeu de données de référence. Les schémas du jeu de données d’entraînement et du jeu de données d’inférence doivent correspondre exactement (nombre et ordre des fonctions). Les colonnes de prédiction/sortie sont censées être les premières colonnes du jeu de données d’entraînement. À partir du jeu de données d’entraînement, vous pouvez demander à SageMaker AI de suggérer un ensemble de contraintes de référence et de générer des statistiques descriptives permettant d’explorer les données. Pour cet exemple, chargez l’ensemble des données d’entraînement qui a servi à entraîner le modèle préentraîné inclus. Si vous avez déjà stocké le jeu de données d'entraînement dans Amazon S3, vous pouvez pointer directement dessus.
Pour créer une référence à partir d'un jeu de données d'entraînement
Lorsque vos données d'entraînement sont prêtes et stockées dans Amazon S3, démarrez une tâche de traitement de référence avec DefaultModelMonitor.suggest_baseline(..) à l'aide du kit SDK Python Amazon SageMakeroutput_s3_uri que vous spécifiez.
from sagemaker.model_monitor import DefaultModelMonitor from sagemaker.model_monitor.dataset_format import DatasetFormat my_default_monitor = DefaultModelMonitor( role=role, instance_count=1, instance_type='ml.m5.xlarge', volume_size_in_gb=20, max_runtime_in_seconds=3600, ) my_default_monitor.suggest_baseline( baseline_dataset=baseline_data_uri+'/training-dataset-with-header.csv', dataset_format=DatasetFormat.csv(header=True), output_s3_uri=baseline_results_uri, wait=True )
Note
Si vous indiquez les noms de caractéristique/colonne dans le jeu de données d’entraînement en tant que première ligne et que vous définissez l’option header=True comme dans l’exemple de code ci-dessus, SageMaker AI utilise le nom de la caractéristique dans les fichiers de contraintes et de statistiques.
Les statistiques de référence du jeu de données sont contenues dans le fichier statistics.json et les contraintes de référence suggérées sont contenues dans le fichier constraints.json à l’emplacement que vous spécifiez avec output_s3_uri.
Fichiers de sortie pour les statistiques et les contraintes du jeu de données tabulaires
| Nom de fichier | Description |
|---|---|
statistics.json |
Ce fichier doit comporter des statistiques en colonnes pour chaque fonction du jeu de données analysé. Pour plus d’informations sur le schéma de ce fichier, consultez Schéma des statistiques (fichier statistics.json). |
constraints.json |
Dans ce fichier, les contraintes sur les fonctions doivent être observées. Pour plus d’informations sur le schéma de ce fichier, consultez Schéma des contraintes (fichier constraints.json). |
Le kit SDK Python Amazon SageMakerEnvironment comme dans l’exemple ci-après :
"Environment": { "dataset_format": "{\"csv\”: { \”header\”: true}", "dataset_source": "/opt/ml/processing/sm_input", "output_path": "/opt/ml/processing/sm_output", "publish_cloudwatch_metrics": "Disabled", }