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

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

创建偏差基准

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

模型偏移监视器可以定期检测 ML 模型的偏差偏差。与其他监控类型类似,创建模型偏移监视器的标准过程首先是建立基准,然后建立监控计划。

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

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

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

计划的监视器将自动选取基准作业名称,并在监控开始之前等待它。