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

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

创建偏差偏移基准

将应用程序配置为捕获实时或批量转换推理数据后,监控偏差偏移的第一项任务就是创建基准。这包括配置数据输入、哪些组是敏感组、如何捕获预测结果,以及模型及其训练后偏差指标。然后,您需要启动设定基准作业。

模型偏差监控器可以定期检测机器学习模型的偏差偏移。与其他监控类型类似,创建模型偏差监控器的标准程序是先设定基准,然后制定监控计划。

model_bias_monitor = ModelBiasMonitor( role=role, sagemaker_session=sagemaker_session, max_runtime_in_seconds=1800, )

DataConfig存储有关要分析的数据集(例如数据集文件)、其格式(即CSV或JSON行)、标题(如果有)和标签的信息。

model_bias_baselining_job_result_uri = f"{baseline_results_uri}/model_bias" model_bias_data_config = DataConfig( s3_data_input_path=validation_dataset, s3_output_path=model_bias_baselining_job_result_uri, label=label_header, headers=all_headers, dataset_type=dataset_type, )

BiasConfig 是数据集中敏感组的配置。通常情况下,衡量偏差的方法是计算一个指标,并在不同组间进行比较。相关的组称为分面。对于训练后的偏差,还应考虑阳性标签。

model_bias_config = BiasConfig( label_values_or_threshold=[1], facet_name="Account Length", facet_values_or_threshold=[100], )

ModelPredictedLabelConfig 指定如何从模型输出提取预测标签。在本例中,之所以选择 0.8 的临界值,是因为预计客户会经常交货。对于更复杂的输出,还有其他一些选项,比如 “标签” 是索引、名称或JMESPath在端点响应负载中定位预测的标签。

model_predicted_label_config = ModelPredictedLabelConfig( probability_threshold=0.8, )

ModelConfig 是与用于推理的模型相关的配置。为了计算训练后偏差指标,计算需要获取所提供模型名称的推理。为此,处理作业使用模型创建临时端点(也称为影子端点)。计算完成后,处理作业会删除影子端点。可解释性监控器也使用此配置。

model_config = ModelConfig( model_name=model_name, instance_count=endpoint_instance_count, instance_type=endpoint_instance_type, content_type=dataset_type, accept_type=dataset_type, )

现在,您可以启动设定基准作业了。

model_bias_monitor.suggest_baseline( model_config=model_config, data_config=model_bias_data_config, bias_config=model_bias_config, model_predicted_label_config=model_predicted_label_config, ) print(f"ModelBiasMonitor baselining job: {model_bias_monitor.latest_baselining_job_name}")

计划的监控器会自动选取设定基准作业名称,并在监控开始之前等待该名称。