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

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

创建偏差漂移基线

在将应用程序配置为捕获实时推理数据之后,监控偏差偏移的第一个任务是创建基线。这涉及配置数据输入、哪些组敏感、如何捕获预测、模型及其训练后偏差指标。然后你需要开始基线工作。

模型偏差监视器可以定期检测机器学习模型的偏差漂移。与其他监测类型类似,创建模型偏差监视器的标准程序首先是确定基准,然后确定监测时间表。

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

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

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 截止时间是为了预计客户会经常转账。对于更复杂的输出,还有一些选项,例如 “label” 是索引、名称或 JSONPath,用于在端点响应负载中定位预测标签。

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}")

计划的监视器会自动获取基线作业名称,然后在监视开始之前等待。