机器学习在发展中:聊聊偏见!

发布于2022年12月15日
在 GitHub 上更新

ML中的偏见无处不在,而且ML中的偏见非常复杂;复杂到任何单一的技术干预都不可能有意义地解决它所产生的问题。ML模型作为社会技术系统,会放大社会趋势,可能以依赖于部署上下文并不断演变的方式加剧不平等和有害偏见。

这意味着,精心开发ML系统需要保持警惕并响应来自这些部署上下文的反馈,而我们可以通过在不同上下文之间分享经验教训并开发工具来促进这一点,以便在ML开发的每个层面分析偏见的迹象。

这篇来自Ethics and Society regulars @🤗的博客文章分享了我们学到的一些经验教训,以及我们开发的一些工具,以支持我们自己和社区中其他人更好地解决机器学习中的偏见。第一部分是对偏见及其背景的更广泛的思考。如果你已经阅读过并专门回来寻找工具,请随时跳转到数据集模型部分!


HF团队成员开发的选择工具,以解决ML中的偏见 由🤗团队成员开发的选择工具,以解决ML中的偏见

目录

机器偏见:从ML系统到个人和社会风险

随着ML系统在更多领域和用例中部署,它们以前所未有的规模实现复杂任务的自动化。当技术发挥最佳作用时,它可以帮助理顺人与技术系统之间的交互,消除对高度重复性工作的需求,或解锁新的信息处理方式以支持研究。

这些系统也可能复制其训练数据中存在的歧视性和滥用行为,特别是当数据编码了人类行为时。这项技术就有可能使这些问题变得更加严重。自动化和大规模部署确实可以:

  1. 固化行为并阻碍社会进步在技术中得到体现
  2. 将有害行为传播到原始训练数据之外的上下文,
  3. 通过在预测时过度关注刻板印象关联放大不公平,
  4. 通过将偏见隐藏在“黑箱”系统内消除追索的可能性

为了更好地理解和解决这些风险,机器学习研究人员和开发者已经开始研究**机器学习偏见**或**算法偏见**,这些机制可能导致系统在其部署环境中,例如,编码**负面刻板印象或关联**,或对不同人群产生**不同性能**。

对于Hugging Face和更广泛的机器学习社区的许多机器学习研究人员和开发者来说,**这些问题是极其个人化的**。Hugging Face是一家国际公司,我们中的许多人生活在不同的国家和文化之间。当我们看到我们所从事的技术在开发时没有充分考虑保护像我们这样的人时,我们很难完全表达我们的紧迫感;特别是当这些系统导致歧视性的错误逮捕或不当的经济困境,并且正在被越来越多地出售给世界各地的移民和执法服务机构时。同样,看到我们的身份在训练数据集中经常被压制,或在“生成式AI”系统的输出中代表性不足,将这些担忧与我们日常的生活经历联系起来,这些经历既有启发性又令人疲惫

虽然我们自身的经历远不能涵盖机器学习介导的歧视可能对与我们经历不同的人造成不成比例伤害的无数方式,但它们提供了一个切入点,思考技术固有的权衡。我们致力于这些系统,因为我们**坚信机器学习的潜力——我们认为只要在开发时谨慎并听取部署环境中人员的意见,它就能成为一个有价值的工具**,而不是一劳永逸的万能药。特别是,实现这种谨慎需要更好地理解机器学习开发过程中机器偏见的机制,并开发工具,支持具备不同技术知识水平的人参与必要的对话,讨论如何分配其益处和危害。

本博客文章由 Hugging Face 道德与社会常客提供,概述了我们如何工作、正在工作或建议 HF 生态系统库的用户如何工作,以解决 ML 开发过程各个阶段的偏见,以及我们开发的支持此过程的工具。我们希望您会发现它是一个有用的资源,可用于指导您对工作社会影响的具体考量,并可利用此处引用的工具来帮助缓解这些问题。

将偏见置于语境中

在处理机器偏见时,第一个也是最重要的概念可能是**语境**。Su Lin Blodgett 等人在其关于NLP 中的偏见的基础性工作中指出:“[大多数关于机器偏见的学术著作]未能批判性地探讨‘偏见’究竟是什么”,包括通过建立在其“关于何种系统行为有害、以何种方式、对谁以及为什么有害的未说明的假设”之上。

鉴于机器学习研究社区对“泛化”价值的关注——这是该领域工作中仅次于“性能”的最常被引用的动机,这可能并不令人惊讶。然而,虽然适用于广泛设置的偏见评估工具对于**更广泛地分析模型行为中的常见趋势**很有价值,但它们针对**具体用例**中导致歧视的机制的能力固有地受到限制。使用它们来指导机器学习开发周期中的特定决策通常需要额外的一两个步骤,以考虑系统的特定使用上下文和受影响的人群。


《模型卡片指南》中关于ML使用语境和人员的考量摘录 模型卡片指南》中关于ML使用语境和人员的考量摘录

现在,让我们深入探讨将独立/无上下文的机器学习制品中的偏见与具体危害联系起来的问题。将**机器偏见视为基于歧视的危害的风险因素**可能很有用。以一个文本到图像模型为例,当被提示在专业环境中创建人物图片时,该模型会过度呈现浅肤色,但当提示提及犯罪行为时,则会生成深肤色的图片。这些倾向就是我们所说的*模型层面的机器偏见*。现在让我们思考几个使用此类文本到图像模型的系统:

  1. 该模型已集成到网站创建服务中(例如 SquareSpace、Wix),以帮助用户为其页面生成背景。该模型明确禁用了生成背景中的人物图像。
    • 在这种情况下,“机器偏见”风险因素不会导致歧视危害,因为偏见的焦点(人物图像)在该用例中不存在。
    • 对于机器偏见,不需要进一步的风险缓解,尽管开发者应了解有关将基于抓取数据训练的系统集成到商业系统中的合法性的持续讨论。
  2. 该模型已集成到图片素材网站中,为用户提供人物合成图像(例如在专业环境中),他们可以使用这些图像,而无需担心隐私问题,例如,作为维基百科文章的插图。
    • 在这种情况下,机器偏见会**固化**和**放大**现有的社会偏见。它强化了关于人的刻板印象(“CEO都是白人男性”),然后反馈到复杂的社会系统中,导致偏见加剧,以多种不同方式加剧歧视(例如强化工作场所的内隐偏见)。
    • 缓解策略可能包括向图片素材用户宣传这些偏见,或者图片素材网站可能会策划生成的图像,以有意提供更多样化的表示。
  3. 该模型已集成到向警察部门销售的“虚拟素描艺术家”软件中,该软件将根据口头证词生成嫌疑人图片
    • 在这种情况下,机器偏见直接导致歧视,通过系统地将警察部门导向深色皮肤的人,使他们面临更高的伤害风险,包括人身伤害和非法监禁。
    • 在这种情况下,可能没有能够将风险降至可接受水平的偏见缓解措施。特别是,这种用例将与执法背景下的面部识别密切相关,其中类似的偏见问题已导致几家商业实体和立法机构全面暂停或禁止其使用。

那么,谁来承担机器学习中机器偏见的责任呢?这三个案例说明了关于机器学习开发者在解决偏见方面的责任为何如此复杂的原因之一:根据机器学习系统开发过程中其他人在其他环节做出的决策,机器学习数据集或模型中的偏见可能介于与应用设置无关和直接导致严重危害之间。然而,在所有这些案例中,**模型/数据集中更强的偏见会增加负面结果的风险**。欧盟已开始在最近的监管工作中解决这一现象:简而言之,部署基于可测量偏见模型的AI系统的公司对系统造成的损害负有责任。

将偏见概念化为风险因素,使我们能够更好地理解各个阶段的开发人员在机器偏见方面的**共同责任**。偏见永远无法完全消除,这不仅仅是因为社会偏见的定义以及将它们与歧视联系起来的权力动态在不同社会背景下差异巨大。然而

  1. 开发过程的每个阶段,从任务规范、数据集整理、模型训练,到模型集成和系统部署,都可以采取措施最大限度地减少**最直接依赖于其选择**和技术决策的**机器偏见**方面,以及
  2. 各ML开发阶段之间清晰的沟通和**信息流**可以决定是选择相互补充以减轻偏见的负面潜力(多管齐下的偏见缓解方法,如上述部署场景1)*还是*选择叠加这种负面潜力以加剧危害风险(如部署场景3)。

在下一节中,我们将回顾这些不同阶段以及可以帮助我们在每个阶段解决机器偏见的一些工具。

在整个ML开发周期中处理偏见

准备好实用建议了吗?我们开始吧🤗

开发ML系统没有唯一的方法;具体的步骤顺序取决于多种因素,包括开发环境(大学、大型公司、初创公司、基层组织等)、模态(文本、表格数据、图像等)以及公开可用ML资源的丰富或稀缺程度。然而,我们可以确定在处理偏见方面特别重要的三个常见阶段。它们是任务定义、数据整理和模型训练。让我们来看看在这些不同阶段,偏见处理可能如何不同。


Meg的偏见ML管道 Meg的偏见ML管道

我正在定义我的ML系统任务,我该如何处理偏见?

系统中的偏见是否以及在何种程度上具体影响人们,最终取决于系统的用途。因此,开发者可以着手缓解偏见的第一个地方是决定如何将机器学习融入他们的系统,例如,通过决定它将使用什么优化目标。

例如,让我们回到最早被高度宣传的在生产中用于算法内容推荐的机器学习系统案例之一。从2006年到2009年,Netflix举办了Netflix大奖赛,这是一项奖金100万美元的竞赛,挑战世界各地的团队开发机器学习系统,根据用户过去的评分准确预测用户对新电影的评分。获奖作品在未见过的用户-电影对的预测中,RMSE(均方根误差)比Netflix自己的CineMatch算法提高了10%以上,这意味着它在根据用户历史预测新电影评分方面表现得更好。这种方法将机器学习在推荐系统中建模用户偏好方面的作用带入公众视野,为许多现代算法内容推荐打开了大门。

那这与偏见有什么关系呢?向人们展示他们可能喜欢的内容,听起来不像是内容平台提供的好服务吗?结果是,向人们展示更多**他们过去喜欢的内容**最终会降低他们消费媒体的多样性。这不仅会导致用户长期满意度下降,还意味着如果模型在正在进行的机器学习介导的用户交互中进一步训练,初始模型捕获的任何偏见或刻板印象——例如在建模美国黑人用户偏好系统性地使某些艺术家处于不利地位的动态时——很可能会被强化。这反映了我们上面提到的两种与偏见相关的担忧:训练目标作为偏见相关危害的**风险因素**,因为它使得预先存在的偏见更有可能出现在预测中,而任务框架具有**固化**和加剧过去偏见的作用。

在此阶段,一种有前景的偏见缓解策略是重新定义任务,以便在将机器学习应用于算法内容推荐时明确同时建模参与度和多样性。用户可能会获得更长期的满意度,并且如上所述加剧偏见的风险也会降低!

这个例子说明了机器学习在产品中的影响不仅取决于我们决定在哪里利用机器学习,还取决于机器学习技术如何融入更广泛的技术系统以及其目标。当首次研究机器学习如何适应你感兴趣的产品或用例时,我们首先建议从偏见的角度寻找系统的故障模式,甚至在深入研究可用模型或数据集之前——如果偏见被机器学习预测加剧,现有系统在该空间中的哪些行为会特别有害或更有可能发生?

我们构建了一个工具,用于在另一种算法内容管理案例中引导用户回答这些问题:自动内容审核中的仇恨言论检测。我们发现,例如,查阅那些不特别关注机器学习部分技术的新闻和科学文章,已经是了解偏见在何处发挥作用的绝佳方式。一定要去看看模型和数据集如何与部署环境相匹配,以及它们如何与已知偏见相关的危害相关联的示例!


HF团队成员开发的选择工具,以解决ML中的偏见 Angie、Amandalynne和Yacine的ACM任务探索工具

任务定义:建议

机器学习任务定义和部署影响偏见相关危害风险的方式与机器学习系统的应用场景一样多。如上例所示,一些有助于决定是否以及如何应用机器学习以最大限度地降低偏见相关风险的常见步骤包括:

  • 调查
    • 机器学习之前该领域的偏见报告
    • 您特定用例中的高风险人口类别
  • 检查
    • 您的优化目标对强化偏见的影响
    • 有利于多样性和积极长期影响的替代目标

我正在为我的ML系统整理/选择数据集,我该如何处理偏见?

虽然训练数据集并非机器学习开发周期中偏见的唯一来源,但它们确实扮演着重要角色。你的数据集是否不成比例地将女性传记与生活事件相关联,而将男性传记与成就相关联?这些**刻板印象**很可能会出现在你的整个机器学习系统中!你的语音识别数据集是否只包含特定口音?这对于你用它构建的技术包容性来说不是一个好兆头,因为它可能导致**性能差异**!无论是为机器学习应用整理数据集,还是选择数据集来训练机器学习模型,发现、缓解和沟通数据表现出这些现象的程度都是降低偏见相关风险的必要步骤。

通过反思数据集的来源、数据中代表的人群以及整理过程,通常可以很好地了解数据中可能存在的偏见。为此,已经提出了几种反思和文档框架,例如NLP 数据声明数据集数据表。Hugging Face Hub 包含一个受这些工作启发的数据集卡片模板指南;如果您正在浏览数据集,数据使用注意事项部分通常是查找有关显著偏见信息的好地方,如果您正在分享新数据集,也可以在此处撰写一段分享您对此主题见解的文字。如果您正在寻找更多撰写灵感,请查看 Hub 用户在 BigLAM 组织中为法律程序图像分类报纸等历史数据集撰写的这些部分。


用于社会影响和偏见部分的HF数据集卡片指南 HF数据集卡片指南,用于社会影响和偏见部分

虽然描述数据集的来源和上下文始终是理解其中存在的偏见的良好起点,但定量测量编码这些偏见的现象也同样有帮助。如果您正在为给定任务选择两个不同的数据集,或在不同数据集上训练的两个机器学习模型之间进行选择,了解哪个数据集能更好地代表您的机器学习系统用户群的人口构成,可以帮助您做出明智的决策,以最大限度地降低偏见相关风险。如果您通过过滤源数据点或选择新的数据源来迭代整理数据集,测量这些选择如何影响整个数据集中的多样性和偏见,可以使其使用起来更安全。

我们最近发布了两个工具,您可以利用它们从偏见角度衡量数据。disaggregators🤗 库提供了量化数据集组成的实用程序,可以使用元数据或利用模型推断数据点的属性。这对于最小化与偏见相关的**表示损害**或训练模型**不同性能**的风险特别有用。查看演示,了解其在 LAION、MedMCQA 和 The Stack 数据集上的应用!


Nima的拆分器工具 拆分器工具,由Nima开发

一旦你有了关于数据集组成的一些有用的统计数据,你还会想查看数据项中特征之间的关联,特别是那些可能编码贬损或其他负面刻板印象的关联。我们去年最初引入的数据测量工具允许你通过查看文本数据集中术语之间的归一化点互信息 (nPMI) 来做到这一点;特别是可能表示性别刻板印象的性别代词之间的关联。自己运行它在这里尝试它,对一些预计算的数据集进行测试!


Meg、Sasha、Bibi和Gradio团队的数据测量工具 数据测量工具,由MegSashaBibiGradio团队开发

数据集选择/整理:建议

这些工具本身并不是完整的解决方案,而是旨在通过多种视角,包括偏见和偏见相关风险的视角,支持对数据集进行批判性审查和改进。总的来说,我们鼓励您在利用这些工具和其他工具来缓解数据集整理/选择阶段的偏见风险时,牢记以下步骤:

  • 识别
    • 可能加剧特定偏见的数据集创建方面
    • 对数据集任务和领域特别重要的人口类别和社会变量
  • 测量
    • 数据集中人口分布
    • 已识别的负面刻板印象
  • 文档
    • 在您的数据集卡片中分享您已识别和测量到的信息,以便其他用户、开发者和受影响的人受益
  • 调整
    • 通过选择最不可能导致偏见相关危害的数据集
    • 通过迭代改进数据集以降低偏见风险

我正在训练/选择模型用于我的ML系统,我该如何处理偏见?

与数据集整理/选择步骤类似,记录和测量模型中与偏见相关的现象可以帮助那些选择直接使用或微调模型的机器学习开发者,以及那些希望训练自己模型的机器学习开发者。对于后者,模型中与偏见相关的现象的测量可以帮助他们从其他模型的成功或失败经验中学习,并作为指导他们自己开发选择的信号。

模型卡片最初由(Mitchell 等人,2019)提出,它提供了一个模型报告框架,展示与偏见风险相关的信息,包括广泛的伦理考量、分层评估和用例建议。Hugging Face Hub 为模型文档提供了更多工具,在 Hub 文档中提供了模型卡片指南,还有一个应用程序可以让你轻松为新模型创建详细的模型卡片


Ezi、Marissa和Meg的模型卡片编写工具 模型卡片编写工具,由EziMarissaMeg开发

文档是分享模型行为一般性见解的良好第一步,但它通常是静态的,并向所有用户呈现相同的信息。在许多情况下,特别是对于可以生成近似其训练数据分布的生成模型,我们可以通过可视化和对比模型输出,获得对偏见相关现象和**负面刻板印象**更具上下文的理解。访问模型生成可以帮助用户引入与他们生活经验相对应的模型行为中的交叉问题,并评估模型在多大程度上再现了不同形容词的性别刻板印象。为了促进这个过程,我们构建了一个工具,不仅可以让你比较一组形容词和职业的生成结果,还可以比较不同模型之间的生成结果!去试试吧,了解哪个模型在你的用例中可能携带最少的偏见风险。


Visualize Adjective and Occupation Biases in Image Generation by Sasha
可视化图像生成中的形容词和职业偏见,由Sasha

然而,模型输出的可视化不仅仅适用于生成模型!对于分类模型,我们还需要注意模型在不同人群上**性能差异**导致的偏见相关危害。如果您知道哪些受保护类别最容易受到歧视,并且这些类别已在评估集中标注,那么您可以如上所述在模型卡片中报告不同类别的分层性能,以便用户可以做出明智的决策。但是,如果您担心尚未识别出所有面临偏见相关危害风险的人群,或者如果您无法访问带标注的测试示例来衡量您怀疑的偏见,那么交互式可视化模型在哪里以及如何失败的工具就派上用场了!为了帮助您解决这个问题,SEAL 应用程序会将模型中相似的错误分组,并向您展示每个集群中的一些常见特征。如果您想进一步探索,甚至可以将其与我们在数据集部分介绍的拆分器库结合使用,以找到指示偏见相关故障模式的集群!


Nazneen的系统误差分析与标注(SEAL) 系统误差分析与标注 (SEAL),由Nazneen开发

最后,存在一些可以衡量模型中偏见相关现象的基准。对于语言模型,诸如BOLDHONESTWinoBias等基准提供了对模型中偏见迹象的定量评估。虽然这些基准有其局限性,但它们确实提供了对一些预先识别的偏见风险的有限视角,可以帮助描述模型的功能或在不同模型之间进行选择。您可以在这个探索空间中找到这些对一系列常见语言模型预先计算的评估,以初步了解它们的比较情况!


Sasha的语言模型偏见检测 语言模型偏见检测,由Sasha开发

即使您可以使用针对您正在考虑的模型而设的基准,您可能也会发现,运行您正在考虑的更大型语言模型的评估可能过于昂贵,或者由于您自身的计算资源而无法实现。我们今年发布的Hub 评估工具可以帮助解决这个问题:它不仅可以为您运行评估,还可以帮助将评估结果与模型文档关联起来,以便结果一劳永逸地可用——因此每个人都可以看到,例如,模型大小明显增加了 OPT 等模型的偏见风险


Helen、Tristan、Abhishek、Lewis和Douwe通过Hub评估工具计算的大型模型WinoBias得分 Helen、Tristan、Abhishek、Lewis和Douwe通过Hub评估工具计算的大型模型WinoBias得分

模型选择/开发:建议

对于模型,就像对于数据集一样,不同的文档和评估工具将提供模型中偏见风险的不同视图,所有这些视图都在帮助开发人员选择、开发或理解机器学习系统中发挥作用。

  • 可视化
    • 生成模型:可视化模型输出如何反映刻板印象
    • 分类模型:可视化模型错误以识别可能导致性能差异的故障模式
  • 评估
    • 尽可能在相关基准上评估模型
  • 文档
    • 分享您从可视化和定性评估中获得的经验
    • 报告您模型的分层性能和在适用公平性基准上的结果

结论与🤗偏见分析和文档工具概述

随着我们学会将机器学习系统应用于越来越多的场景,公平地利用其优势将取决于我们主动减轻与该技术相关的偏见风险的能力。虽然在任何可能的设置中,如何最好地做到这一点没有单一的答案,但我们可以通过分享经验教训、工具和方法来减轻和记录这些风险,从而相互支持。本博客文章概述了 Hugging Face 团队成员如何解决偏见问题以及支持工具,我们希望您会发现它们有帮助,并鼓励您开发和分享自己的工具!

关联工具总结

感谢阅读! 🤗

~ Yacine,代表伦理与社会常客

如果您想引用这篇博客文章,请使用以下内容:

@inproceedings{hf_ethics_soc_blog_2,
  author    = {Yacine Jernite and
               Alexandra Sasha Luccioni and
               Irene Solaiman and
               Giada Pistilli and
               Nathan Lambert and
               Ezi Ozoani and
               Brigitte Toussignant and
               Margaret Mitchell},
  title     = {Hugging Face Ethics and Society Newsletter 2: Let's Talk about Bias!},
  booktitle = {Hugging Face Blog},
  year      = {2022},
  url       = {https://doi.org/10.57967/hf/0214},
  doi       = {10.57967/hf/0214}
}

社区

注册登录以评论