Création d'une référence - Amazon SageMaker

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 et est construit avec Deequ. Tous les noms de colonnes de votre jeu de données de référence doivent être conformes à Spark. Pour les noms de colonnes, utilisez uniquement des minuscules et _ comme caractère spécial.

L'ensemble de données d'entraînement utilisé pour entraîner le modèle est généralement un bon ensemble de données de référence. Les schémas de l'ensemble de données d'entraînement et de l'ensemble 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 de suggérer un ensemble de contraintes de référence et de générer des statistiques descriptives permettant d'étudier 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 SageMaker. Un Conteneur préconçu Amazon SageMaker Model Monitor est alors utilisé afin de générer des statistiques de référence et de suggérer des contraintes de référence pour l'ensemble de données, puis de les écrire à l'emplacement output_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 fonction/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 utilise le nom de la fonction dans les fichiers de contraintes et de statistiques.

Les statistiques de référence de l'ensemble 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 de l'ensemble de données analysé. Pour de plus amples informations sur le schéma de ce fichier, veuillez consulter Schéma des statistiques (fichier statistics.json).

constraints.json

Dans ce fichier, les contraintes sur les fonctions doivent être observées. Pour de plus amples informations sur le schéma de ce fichier, veuillez consulter Schéma des contraintes (fichier constraints.json).

Le kit SDK Python Amazon SageMaker fournit des fonctions pratiques pour générer les statistiques et les contraintes de référence. Si vous voulez toutefois appeler la tâche de traitement directement à cette fin, vous devez définir le mappage Environment 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", }