本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Clarify 进行公平性、模型可解释性和偏见检测 SageMaker
您可以使用 Amazon SageMaker Clarify 来了解公平性和模型的可解释性,并解释和检测模型中的偏差。您可以配置 Clari SageMaker fy 处理作业来计算偏差指标和特征归因,并生成模型可解释性报告。 SageMaker Claride 处理任务是使用专门的 Clarif SageMaker y 容器镜像实现的。下一页介绍了 Cl SageMaker arify 的工作原理以及如何开始分析。
机器学习预测的公平性和模型可解释性是什么?
机器学习 (ML) 模型正在帮助金融服务、医疗保健、教育和人力资源等领域做出决策。决策者、监管机构和倡导者提高了人们对机器学习和数据驱动系统带来的道德和政策挑战的认识。Ama SageMaker zon Clarify 可以帮助您了解您的机器学习模型做出特定预测的原因,以及这种偏见是否会影响训练或推理期间的预测。 SageMaker Clarify 还提供了可以帮助您构建偏见更少、更易于理解的机器学习模型的工具。 SageMaker Clarify 还可以生成模型治理报告,您可以将其提供给风险和合规团队以及外部监管机构。使用 C SageMaker larify,您可以执行以下操作:
-
检测偏差并帮助解释您的模型预测。
-
确定训练前数据中的偏差类型。
-
确定训练后数据中可能在训练期间或模型投入生产时出现的偏差类型。
SageMaker Clarify 有助于解释您的模型如何使用特征归因进行预测。它还可以监控正在制作的推理模型,以了解偏差和特征归因漂移。这些信息可以在以下方面为您提供帮助:
-
监管 — 政策制定者和其他监管机构可能会担心使用机器学习模型输出的决策会产生歧视性影响。例如,机器学习模型可能会编码偏差并影响自动决策。
-
业务 — 受监管的域名可能需要可靠的解释来解释机器学习模型是如何进行预测的。对于依赖可靠性、安全性和合规性的行业来说,模型的可解释性可能尤其重要。这些可能包括金融服务、人力资源、医疗保健和自动运输。例如,贷款申请可能需要解释机器学习模型是如何向贷款官员、预测员和客户做出某些预测的。
-
数据科学 — 当数据科学家和机器学习工程师能够确定模型是否基于噪音或不相关的特征进行推断时,他们就可以调试和改进机器学习模型。他们还可以了解模型的局限性以及模型可能遇到的失效模式。
有关展示如何为欺诈性汽车索赔设计和构建完整的机器学习模型(将 Clarify 集成 SageMaker 到 SageMaker 管道中)的博客文章,请参阅架构师并使用 Amazon: end-to-endAmazon SageMaker 演示来构建完整的机器学习生命周期
评估机器学习生命周期公平性和可解释性的最佳实践
公平作为一个过程 — 偏见和公平的概念取决于其应用。偏见的衡量和偏见指标的选择可能以社会、法律和其他非技术因素为指导。成功采用具有公平意识的机器学习方法包括在关键利益相关者之间建立共识和实现协作。这些可能包括产品、政策、法律、工程、人工智能/机器学习团队、最终用户和社区。
机器学习生命周期@@ 中设计的公平性和可解释性 — 在机器学习生命周期的每个阶段都要考虑公平性和可解释性。这些阶段包括问题形成、数据集构建、算法选择、模型训练过程、测试过程、部署以及监控和反馈。重要的是要有正确的工具来进行这种分析。我们建议在机器学习生命周期中询问以下问题:
-
该模型是否鼓励反馈循环,从而产生越来越不公平的结果?
-
算法是问题的合乎道德的解决方案吗?
-
训练数据是否代表不同的群体?
-
标签或功能中是否存在偏差?
-
是否需要修改数据以减轻偏见?
-
目标函数中是否需要包含公平约束?
-
是否使用相关的公平性指标对模型进行了评估?
-
不同用户的影响是否不平等?
-
模型是否部署在未对其进行训练或评估的人群上?
SageMaker 解释和偏见文档指南
在训练模型之前和之后,都可能发生偏差,也可以在数据中进行测量。 SageMaker Clarify 可以为训练后的模型预测以及部署到生产环境的模型提供解释。 SageMaker Clarify 还可以监控生产中的模型的基线解释性归因是否存在任何偏差,并在需要时计算基线。使用 SageMaker Clarify 解释和检测偏见的文档结构如下:
-
有关为偏见和可解释性设置处理作业的信息,请参阅。配置 Clari SageMaker fy 处理 Job
-
有关在使用预处理数据训练模型之前检测其中的偏差的信息,请参阅训练前的数据偏差。
-
有关检测训练后数据和模型偏差的信息,请参见训练后数据和模型偏差。
-
有关使用与模型无关的特征归因方法来解释训练后的模型预测的信息,请参阅。模型可解释性
-
有关监控特征贡献偏离模型训练期间建立的基线的信息,请参阅生产中模型的特征归因漂移。
-
有关监控生产中模型的基线偏差的信息,请参见量产模型的偏差漂移。
-
有关从 SageMaker终端节点实时获取解释的信息,请参阅使用 Clarify 进行在线解释 SageMaker 。
SageMaker 澄清处理任务的工作原理
您可以使用 Cl SageMaker arify 来分析数据集和模型的可解释性和偏差。Cl SageMaker arify 处理任务使用 Cl SageMaker arify 处理容器与包含您的输入数据集的 Amazon S3 存储桶进行交互。您还可以使用 Cl SageMaker arify 来分析部署到 SageMaker 推理端点的客户模型。
下图显示了 Clari SageMaker fy 处理任务如何与您的输入数据交互,也可以与客户模型进行交互。这种交互取决于所执行的特定分析类型。Cl SageMaker arify 处理容器从 S3 存储桶获取用于分析的输入数据集和配置。对于某些分析类型,包括特征分析,Clar SageMaker ify 处理容器必须向模型容器发送请求。然后,它从模型容器发送的响应中检索模型预测。之后,Clari SageMaker fy 处理容器进行计算并将分析结果保存到 S3 存储桶中。
您可以在机器学习工作流程生命周期的多个阶段运行 Clarify 处理作业。 SageMaker SageMaker Clarify 可以帮助您计算以下分析类型:
-
训练前的偏见指标。这些指标可以帮助您了解数据中的偏差,以便您可以解决偏差,并在更公平的数据集上训练模型。训练前偏差指标有关训练前偏差指标的信息,请参阅。要运行分析训练前偏差指标的作业,必须向提供数据集和JSON分析配置文件。分析配置文件
-
训练后的偏见指标。这些指标可以帮助您了解算法引入的任何偏差、超参数选择或流程早期不明显的任何偏见。有关训练后偏差指标的更多信息,请参阅训练后数据和模型偏差指标。 SageMaker 除了数据和标签之外,Clarify 还使用模型预测来识别偏差。要运行分析训练后偏差指标的作业,必须提供数据集和JSON分析配置文件。配置应包括模型或端点名称。
-
Shapley 值,它可以帮助您了解您的特征会对模型预测产生什么影响。有关 Shapley 值的更多信息,请参阅。使用 Shapley 值的特征归因此特征需要经过训练的模型。
-
部分依赖图 (PDPs),它可以帮助您了解如果改变一个特征的值,预测的目标变量将发生多大变化。有关更多信息PDPs,请参阅部分依赖图 (PDPs) 分析此功能需要经过训练的模型。
SageMaker Clarify 需要模型预测来计算训练后的偏差指标和特征归因。您可以提供端点,否则 C SageMaker larify 将使用您的模型名称(也称为影子端点)创建一个临时端点。计算完成后, SageMaker Clarify 容器会删除影子端点。简而言之,Clari SageMaker fy 容器完成了以下步骤:
-
验证输入和参数。
-
创建影子端点(如果提供了模型名称)。
-
将输入数据集加载到数据框中。
-
如有必要,从端点获取模型预测。
-
计算偏差指标和特征归因。
-
删除影子端点。
-
生成分析结果。
Cl SageMaker arify 处理作业完成后,分析结果将保存在您在作业的处理输出参数中指定的输出位置。这些结果包括包含偏差指标和全局特征归因的JSON文件、可视化报告以及用于本地特征归因的其他文件。您可以从输出位置下载结果并进行查看。
有关偏见指标、可解释性以及如何解释这些指标的更多信息,请参阅了解 Ama SageMaker zon Clarify 如何帮助检测偏见
示例笔记本
以下各节包含笔记本,可帮助您开始使用 C SageMaker larify,将其用于特殊任务(包括分布式作业中的任务)以及计算机视觉。
开始使用
以下示例笔记本展示了如何使用 Clar SageMaker ify 开始执行可解释性和模型偏差任务。这些任务包括创建处理作业、训练机器学习 (ML) 模型和监控模型预测:
-
使用 Ama SageMaker zon Clarify 进行可解释性和偏见检测
— 使用 SageMaker Clarify 创建处理任务来检测偏见并解释模型预测。 -
监控偏见漂移和特征归因偏差 Amazon C SageMaker larif
y — 使用 Amazon SageMaker 模型监视器监控偏差和特征归因随时间推移而发生的偏差漂移。 -
如何将JSON行格式的数据集读入 Cl
arif SageMaker y 处理作业。 -
缓解偏差,训练另一个无偏模型,然后将其放入模型注册表中
— 使用合成少数过度采样技术 (SMOTE) 和 SageMaker Clarify 来缓解偏差,训练另一个模型,然后将新模型放入模型注册表中。本示例笔记本还展示了如何将新模型工件(包括数据、代码和模型元数据)放入模型注册表中。本笔记本是该系列文章的一部分,该系列展示了如何将 Clarify 集成 SageMaker 到 A rchitect 中描述的 SageMaker 管道中,并通过 Amazon博客文章构建完整的机器学习生命周期 。
特殊情况
以下笔记本向您展示了如何使用 Clari SageMaker fy 来处理特殊情况,包括在您自己的容器内以及执行自然语言处理任务:
-
使用 SageMaker Clarify(自带容器)实现公平性和可解释性 — 构建自己的模型和容器
,这些模型和容器可以与 SageMaker Clarify 集成,以衡量偏差并生成可解释性分析报告。本示例笔记本还介绍了关键术语,并向您展示了如何通过 SageMaker Studio Classic 访问报告。 -
Clarify Spark 分布式处理的公平性和可解释性
— 使用分布式处理来运行 Clarify 作业,该作业可测量数据集的训练前偏差和模型的训练后偏差。 SageMaker SageMaker 本示例笔记本还向您展示了如何获取模型输出中输入特征重要性的解释,以及如何通过 SageMaker Studio Classic 访问可解释性分析报告。 -
使用 Clar@@ ify SageMaker 进行可解释性——部分依赖图 (PDP)
— 使用 Cl SageMaker arify 生成PDPs和访问模型可解释性报告。 -
使用 Cl SageMaker arify 自然语言处理 (NLP) 可解释性解释文本情感分析
— 使用 Clarify SageMaker 进行文本情感分析。
这些笔记本电脑已经过验证,可以在亚马逊 SageMaker Studio Classic 中运行。如果您需要有关如何在 Studio Classic 中打开笔记本的说明,请参阅创建或打开 Amazon SageMaker Studio 经典笔记本电脑。如果系统提示您选择内核,请选择 Python 3 (Data Science)。