创建基准 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

创建基准

统计数据和约束的基准计算需作为检测数据漂移和其他数据质量问题的标准。模型监控器提供了一个内置容器,该容器能够自动建议针对 CSV 和平面 JSON 输入的约束。该sagemaker 模型监视器分析器容器还为您提供了一系列的模型监控功能,包括针对基准的约束验证和发出亚马逊。 CloudWatch 指标。此容器基于 Spark,并通过 Deequ 构建。基线数据集中的所有列名必须符合 Spark。对于列名,请仅使用小写字符,以及_作为唯一的特殊字符。

用来训练模型的训练数据集通常是一个很好的基准数据集。训练数据集数据架构和推理数据集架构应完全匹配(特征的数量和顺序)。请注意,将预测/输出列假定为训练数据集中的第一列。从训练数据集中,你可以询问 SageMaker 建议一组基准约束,并生成描述性统计数据来探究数据。对于此示例,上传已用于训练本示例中包含的预训练模型的训练数据集。如果您已将训练数据集存储在 Amazon S3 中,则可直接指向它。

要根据训练数据集创建基线

如果您已准备好训练数据并将其存储在 Amazon S3 中,请使用通过启动基准处理作业。DefaultModelMonitor.suggest_baseline(..)使用亚马逊 SageMaker Python 开发工具包. 这将使用亚马逊 SageMaker 模型监控器预构建容器,它会生成基准统计数据,建议数据集的基准约束并将其写入您指定的 output_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 文件).

这些区域有:亚马逊 SageMaker Python 开发工具包为生成基准统计数据和约束提供了易于使用的函数。但是,如果要改为直接调用处理作业来达到此目的,则需要设置Environmentmap,如以下示例所示:

"Environment": { "dataset_format": "{\"csv\”: { \”header\”: true}", "dataset_source": "/opt/ml/processing/sm_input", "output_path": "/opt/ml/processing/sm_output", "publish_cloudwatch_metrics": "Disabled", }