跳到主要内容

你一直在忽略的偏见审计:如何为 LLM 流水线构建人口特征公平性

· 阅读需 13 分钟
Tian Pan
Software Engineer

一个团队发布了一项由 LLM 驱动的功能。它通过了安全过滤器,通过了准确性评估。但用户开始投诉。六个月后,一名研究人员运行了一项包含 300 万次对比的研究,发现该系统在输入完全相同的情况下,有 85% 的时间选择了与白人相关的名字,而选择与黑人相关的名字仅占 9%。

这不是安全问题。这是一个公平性问题,两者需要完全不同的工程应对方案。安全过滤器防范伤害。公平性检查衡量你的系统是否能为每个人产生同样优质的输出。一个模型可以满足你所有的内容策略,但仍可能诊断出黑人患者的死亡风险高于同样患病的白人患者,或者为女性生成的简历比男性更单薄。这些差异对于拦截脏话的护栏来说是不可见的。

大多数团队从未构建过第二种检查。这篇文章将探讨你为什么要构建它,以及具体如何去做。

安全过滤器不是公平性检查

这种区分非常重要,有必要明确说明。安全过滤器是推理时的二元门控:根据输出内容决定允许或屏蔽。它针对的是对用户或第三方的伤害——暴力、仇恨言论、CSAM。你通过针对伤害分类法的精确率和召回率来衡量它。

公平性检查则提出了一个不同的问题:在产生输出的前提下,跨人口统计群体的输出质量、准确性和实用性是否相等?你通过比较同一基础任务在不同人口统计层级上的输出质量指标分布(如 BLEU 相似度、ROUGE-L、F1 分数、情感分数、结果率)来衡量它。

这里存在一个讽刺的重叠:安全过滤器本身可能会引入公平性差异。研究表明,内容过滤器对黑人/非洲裔和穆斯林身份信号的误报率增加了 0.45–0.49——这意味着来自这些群体的合法内容被屏蔽的概率更高。你最终可能会得到一个对某个群体过度拒绝而对另一个群体拒绝不足的系统。安全审计发现不了这一点,只有分层评估才能。

根本的工程区别在于:安全过滤器作为门控在请求时运行;公平性检查在离线环境中运行,在专门的评估套件中针对具有代表性的 Prompt 语料库进行。它们属于流水线的不同部分。

看起来像模型错误的失败

来自类生产环境审计研究的统计数据令人震惊。

华盛顿大学研究人员在 2024 年进行的一项研究,使用商用 LLM 对 500 个真实职位列表进行了超过 300 万次简历与职位描述的对比。在 85% 的对比中,系统选择了与白人相关的名字。黑人相关名字:9%。男性相关名字:52%。女性相关名字:11%。在测试的所有模型中,没有一个模型曾偏好黑人男性名字而非白人男性名字。一次也没有。这些是完全相同的简历,完全相同的职位描述,唯一的区别只有名字。

2025 年一项关于医疗背景下 LLM 的系统性回顾涵盖了 24 项研究。其中 22 项(91.7%)发现了可衡量的统计偏差。具体发现包括:GPT-4 为代表性不足的种族群体推荐高级影像检查的频率较低,以及 LGBTQIA+ 患者被转向心理健康评估的频率比临床需要的高出约 6–7 倍。临床细节保持一致,仅身份信号有所不同。

多语言差距甚至更加严重。ChatGPT 在安全基准测试中的无害化得分平均为 85.56%——但在孟加拉语中下降到 62.6%。Vicuna 的整体平均得分为 69.32%,但在孟加拉语中下降到 18.4%。整体表现与最差语言表现之间的差距,是你的全球化产品需要跟踪但几乎肯定没有跟踪的数字。

这些不是微妙的统计人为迹象。它们是大规模、系统性且在不同供应商之间表现一致的。简历研究中测试的每个模型都表现出相同的方向性差异。这不只是某个供应商的怪癖——它是整个行业训练数据和评估实践的信号。

分层评估方法论

核心技术是反事实配对测试。一次只更改一个属性——名字、人口统计信号、语言——同时保持所有其他 Prompt 内容完全一致。针对每个变体、每个 Prompt 收集 20–25 条回复(你需要的是分布,而不是单点估计),然后比较不同群体之间的分布。

第一步:从生产流量中构建你的 Prompt 语料库。 像 BOLD 或 BBQ 这样的静态基准测试只能告诉你模型的一般属性。它们无法告诉你特定功能的失败模式。从你的使用场景中提取真实或接近真实的 Prompt 代表性样本。研究人员已经证明,基准测试结果“可能会高估或低估另一个 Prompt 群体的风险”——特定于你任务的风险特征只有通过你自己的 Prompt 分布才能看到。

第二步:标记具有人口统计敏感性的 Prompt。 并非每个 Prompt 都是公平性测试。要求总结新闻稿的请求可能是人口统计中性的;但要求评估候选人、编写患者评估或生成个性化推荐的请求则不然。将每个 Prompt 标记为高、中或低敏感度。将测量精力集中在高敏感度 Prompt 上。

第三步:生成反事实变体。 对于每个高敏感度 Prompt,创建交换人口统计信号的版本:

  • 具有既定种族关联的名字(来自审计研究中使用的已发布名字列表)
  • 性别代词和名字的性别关联
  • 输入语言(针对多语言产品)
  • 问题背景中的身份标记

关键原则:每个变体只更改一个属性。复合更改会干扰你的分析。

第四步:生成输出并测量分布。 通过模型运行每个变体,收集每个变体的多个回复,然后计算:

  • 配对变体之间的余弦相似度和 ROUGE-L 分数(输出是否发生了偏离?)
  • 情感分数(VADER 或类似工具)以检测语调变化
  • 特定任务的质量指标(F1、精确率、BLEU——无论你主要评估使用的是哪种)
  • 对于决策类功能:各群体之间的结果分布

第五步:应用五分之四原则。 借鉴自就业歧视法:如果任何人口统计群体的结果率(分数、质量指标、选择率)低于表现最高群体的 80%,这就是一个不公正影响(disparate impact)的警示信号。这是一个二元阈值,而不是梯度——它为工程师提供了一个具体的通过/失败标准。

第六步:统计测试。 对于群体间存在差异的任何指标,运行双样本 t 检验或置换检验(permutation test)。低于 p < 0.05 的差异应触发调查。目标约为 0.001 的情感偏差得分表示语气接近相等。记录效应量(effect sizes),而不仅仅是 p 值——统计学上显著的 1% 差异在操作上可能可以忽略不计;而一个不显著的 15% 差异则可能并非如此。

加载中…
References:Let's stay in touch and Follow me for more thoughts and updates