本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建基准
统计数据和约束的基准计算需作为检测数据漂移和其他数据质量问题的标准。Model Monitor 提供了一个内置容器,该容器能够自动为CSV扁平JSON输入建议约束条件。此sagemaker-model-monitor-analyzer容器还为您提供了一系列模型监控功能,包括根据基准进行约束验证和发出 Amazon CloudWatch 指标。此容器基于 Spark 版本 3.3.0,并通过 Deequ_
是唯一的特殊字符。
用来训练模型的训练数据集通常是一个很好的基准数据集。训练数据集数据架构和推理数据集架构应完全匹配(特征的数量和顺序)。请注意,将预测/输出列假定为训练数据集中的前几列。在训练数据集中,您可以要求 SageMaker 建议一组基线约束条件并生成描述性统计数据以探索数据。对于此示例,上传已用于训练本示例中包含的预训练模型的训练数据集。如果您已将训练数据集存储在 Amazon S3 中,则可以直接指向该数据集。
从训练数据集创建基准
将训练数据准备就绪并存储在 Amazon S3 中后,DefaultModelMonitor.suggest_baseline(..)
使用 A maz SageMaker on Pythonoutput_s3_uri
位置。
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 )
注意
如果您将训练数据集中的特征/列名称作为第一行,并按照上一个代码示例所示设置header=True
选项,则 SageMaker 使用约束和统计文件中的特征名称。
数据集的基准统计数据包含在 statistics.json 文件中,建议的基准约束包含在 constraints.json 文件中,这两个文件位于您使用 output_s3_uri
指定的位置。
表格数据集统计数据和约束的输出文件
文件名称 | 描述 |
---|---|
statistics.json |
此文件应具有所分析数据集中每个特征的列式统计数据。有关此文件的架构的更多信息,请参阅统计数据的架构(statistics.json 文件)。 |
constraints.json |
此文件应对观察到的特征有约束。有关此文件的架构的更多信息,请参阅约束的架构(constraints.json 文件)。 |
Amaz SageMaker on Python SDKEnvironment
映射,如以下示例中所示:
"Environment": { "dataset_format": "{\"csv\”: { \”header\”: true}", "dataset_source": "/opt/ml/processing/sm_input", "output_path": "/opt/ml/processing/sm_output", "publish_cloudwatch_metrics": "Disabled", }