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

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

创建偏置漂移基线

配置应用程序以捕获实时推理数据后,监视偏差漂移的第一个任务是创建基线。这包括配置数据输入、哪些组是敏感的、如何捕获预测,以及模型及其训练后偏差度量。然后你需要启动基线作业。

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

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

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