Programmer les tâches de surveillance de la dérive d'attribution des fonctions - Amazon SageMaker

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.

Programmer les tâches de surveillance de la dérive d'attribution des fonctions

Après avoir créé votre référence SHAP, vous pouvez appeler la méthode create_monitoring_schedule() de votre instance de classe ModelExplainabilityMonitor pour planifier une surveillance horaire de l'explicabilité des modèles. Les sections suivantes expliquent comment créer une surveillance de l'explicabilité des modèles pour un modèle déployé sur un point de terminaison en temps réel ainsi que pour une tâche de transformation par lots.

Important

Vous pouvez spécifier une entrée de transformation par lots ou une entrée de point de terminaison, mais pas les deux, lorsque vous créez votre planification de surveillance.

Si une tâche de baselining a été envoyée, le moniteur récupère automatiquement la configuration d'analyse à partir de la tâche de baselining. Toutefois, si vous ignorez l'étape de baselining ou si la nature du jeu de données de capture est différente de celle du jeu de données d'entraînement, vous devez fournir la configuration d'analyse. ExplainabilityAnalysisConfig a besoin de ModelConfig pour les mêmes raisons que la tâche de baselining. Comme le calcul de l'attribution de fonctions a seulement besoin de fonctions, vous devez exclure l'étiquetage Ground Truth.

Surveillance de la dérive d'attribution des fonctions pour les modèles déployés sur des points de terminaison en temps réel

Pour planifier une surveillance de l'explicabilité des modèles pour un point de terminaison en temps réel, transmettez votre instance EndpointInput à l'argument endpoint_input de votre instance ModelExplainabilityMonitor, comme indiqué dans l'exemple de code suivant :

from sagemaker.model_monitor import CronExpressionGenerator model_exp_model_monitor = ModelExplainabilityMonitor( role=sagemaker.get_execution_role(), ... ) schedule = model_exp_model_monitor.create_monitoring_schedule( monitor_schedule_name=schedule_name, post_analytics_processor_script=s3_code_postprocessor_uri, output_s3_uri=s3_report_path, statistics=model_exp_model_monitor.baseline_statistics(), constraints=model_exp_model_monitor.suggested_constraints(), schedule_cron_expression=CronExpressionGenerator.hourly(), enable_cloudwatch_metrics=True, endpoint_input=EndpointInput( endpoint_name=endpoint_name, destination="/opt/ml/processing/input/endpoint", ) )

Surveillance de la dérive d'attribution des fonctions pour les tâches de transformation par lots

Pour planifier une surveillance de l'explicabilité des modèles pour une tâche de transformation par lots, transmettez votre instance BatchTransformInput à l'argument batch_transform_input de votre instance ModelExplainabilityMonitor, comme indiqué dans l'exemple de code suivant :

from sagemaker.model_monitor import CronExpressionGenerator model_exp_model_monitor = ModelExplainabilityMonitor( role=sagemaker.get_execution_role(), ... ) schedule = model_exp_model_monitor.create_monitoring_schedule( monitor_schedule_name=schedule_name, post_analytics_processor_script=s3_code_postprocessor_uri, output_s3_uri=s3_report_path, statistics=model_exp_model_monitor.baseline_statistics(), constraints=model_exp_model_monitor.suggested_constraints(), schedule_cron_expression=CronExpressionGenerator.hourly(), enable_cloudwatch_metrics=True, batch_transform_input=BatchTransformInput( destination="opt/ml/processing/data", model_name="batch-fraud-detection-model", input_manifests_s3_uri="s3://my-bucket/batch-fraud-detection/on-schedule-monitoring/in/", excludeFeatures="0", ) )