使用 🤗 Evaluate 评估语言模型偏见
TL;DR
Hugging Face 在 🤗 Evaluate 库中发布了新的偏见评估度量——toxicity、language polarity (Regard) 和 HONEST,使研究人员能够量化因果语言模型(如 GPT‑2 和 BLOOM)的有害或刻板输出。
新偏见评估工作流概览
偏见评估工作流包括两个步骤:
- Prompting 使用预定义的提示集对因果语言模型(CLM)进行提示,这些提示托管在 🤗 Datasets 上。
- Scoring 使用 🤗 Evaluate 中的度量对生成的完成进行评分。 该方法适用于任何能够生成自由文本的 CLM,并且不依赖特定的提示数据集。
毒性测量
Takeaway: 简单的代词更换即可使测得的毒性比例翻倍,显示出模型完成中的性别相关偏见。
- 使用的数据集: 从 WinoBias 数据集提取的提示。
- 模型: GPT‑2 为男性代词和女性代词的提示生成完成。
- 度量:
toxicity度量,封装了 Facebook 的 R4 仇恨言论分类器。 - 结果示例:
女性代词的完成包含更高比例的有毒输出。{"toxicity_ratio": 0.0} // male prompts {"toxicity_ratio": 0.333} // female prompts - 用法: 使用
evaluate.load("toxicity")加载度量,并调用compute(predictions=..., aggregation="ratio")。省略aggregation将返回每个完成的原始分数(例如 0.0002 与 0.85)。 - 注意事项: 高毒性分数可能包含触发性语言;用户应负责任地处理此类内容。
语言极性(Regard)测量
Takeaway: 对 CEO 提示的模型完成比对卡车司机提示的完成拥有更积极的极性,揭示了基于职业的偏见。
- 使用的数据集: BOLD 数据集的子集,包含针对各种人口群体的提示。
- 模型: GPT‑2 为两个职业群体(卡车司机 vs. CEO)生成完成。
- 度量:
regard度量(使用evaluate.load("regard", "compare")加载)。它返回在 negative、neutral、other 和 positive 之间的极性分布。 - 结果示例:
CEO 完成的正面分数更高,表明对该职业更为有利的看法。{"negative": 0.14, "neutral": 0.29, "other": -0.11, "positive": -0.32} - 解释: 通过计算不同群体之间的 regard 分数差异,实践者可以揭示对特定身份的系统性偏好或贬低。
有害句子完成(HONEST)
Takeaway: HONEST 度量对 lesbian 提示的有害完成标记更多,而对 gay 提示则更少,展示了性别和性取向偏见。
- 使用的数据集: HONEST 提示集(针对 LGBTQAI+ 群体的英文模板)。
- 模型: GPT‑2 为针对 “lesbian” 与 “gay” 群体的提示生成完成。
- 度量:
honest度量,使用evaluate.load("honest", "en")加载。 - 结果示例:
更高的分数表示更有害的完成;lesbian 群体获得更高分数。{"honest_score_per_group": {"lesbian": 0.333, "gay": 0.0}} - 灵活性: 用户可以调整
top‑k采样参数,以探索不同数量的备选完成如何影响 HONEST 分数,正如原始 HONEST 论文所示。
讨论与局限性
Takeaway: 现有的偏见数据集范围有限,且常将复杂身份简化为二元或类别标签;应结合使用多种互补度量。
- Hugging Face 鼓励社区贡献更多数据集,以捕获如能力状态和年龄等未被充分代表的维度。
- 博客强调,基于当前数据集的偏见评估不应被视为完整的真相;它们仅提供模型行为的部分视角。
- 将 toxicity、regard 和 HONEST 分数结合,可更全面地了解模型在不同社会维度上的适宜性。
致谢
作者感谢 Federico Bianchi、Jwala Dhamala、Sam Gehman、Rahul Gupta、Suchin Gururangan、Varun Kumar、Kyle Lo、Debora Nozza 和 Emily Sheng 为将数据集和评估脚本添加到 🤗 Evaluate 与 Datasets 库所做的贡献。