超越手动词表: 利用连续提示消除 AI 偏见
BERT 和 RoBERTa 等预训练语言模型 (PLMs) 已经彻底改变了自然语言处理 (NLP) 领域。它们是情感分析、仇恨言论检测等各种应用的中坚力量。然而,这些模型背后隐藏着一个巨大的隐患: 它们继承了海量训练数据中存在的人类偏见。
当我们部署这些模型时,它们往往会表现出“外在社会偏见 (extrinsic social bias) ”——即在特定的下游任务中表现出不公平的行为。例如,一个模型可能会仅仅因为一条推文包含非裔美国人英语 (AAE) 就将其归类为“冒犯性”,或者将某些职业与特定性别强关联。
历史上,解决这一问题的标准方法依赖于手动词表 。 研究人员会创建敏感词列表 (例如“he”、“she”、“man”、“woman”) ,并试图清除模型对这些词的依赖。但这种方法非常脆弱。它受限于列表的长度和人类的直觉。对于那些微妙的、上下文相关的,或者像种族这样难以定义特定“触发词”的偏见,我们该怎么办?
在这篇文章中,我们将深入探讨一篇研究论文,该论文提出了一个更稳健的解决方案: 连续提示调整去偏 (Continuous Prompts Adjustment Debiasing,CPAD) 。 这种方法不再依赖手动列表,而是利用“连续提示”在推理阶段通过数学方法隔离并消除偏见。
背景: 离散修复方法的局限性
要理解 CPAD,我们需要先了解现有方法的局限性。
内在偏见 vs. 外在偏见:
- 内在偏见 (Intrinsic Bias) 指的是预训练模型内部存在的偏见 (例如嵌入关联) 。
- 外在偏见 (Extrinsic Bias) 是我们在应用中真正关心的: 模型在执行特定任务时表现出的偏见 (例如简历扫描程序拒绝女性候选人) 。
以往修复外在偏见的尝试通常使用离散提示 (discrete prompts) 或基于词表的数据增强。例如,将“he”替换为“she”来创建反事实数据。但语言是复杂的。例如,关于种族的偏见不仅仅关乎几个单词;它通常交织在名字、方言和句子结构中。手动列表根本无法涵盖敏感群体的整个词汇空间。
CPAD 背后的研究人员认为,我们需要一种方法,能够从整个词汇空间生成“连续词元列表 (continuous token lists) ”,以弥合模型输出与公平性目标之间的差距。
CPAD 框架: 概览
CPAD 将去偏视为一个提示微调 (prompt-tuning) 问题。
在提示微调中,我们不再微调整个庞大的语言模型 (这非常昂贵) ,而是冻结模型,并训练一小段向量序列 (即“提示”) ,将其预置在输入之前。这些提示引导模型执行特定任务。
CPAD 更进一步,训练了两种类型的提示:
- 特定任务提示 (Task-Specific Prompts) : 引导模型解决问题 (例如,“这是仇恨言论吗?”) 。
- 去偏提示 (Debiasing Prompts) : 捕获我们希望避免的受保护属性信息 (偏见) 。
通过分别学习这些提示,系统可以在运行时通过数学方法从预测中“减去”偏见。

如图 1 所示,该架构分三个不同阶段运行:
- 特定任务学习阶段: 训练模型以胜任工作。
- 去偏学习阶段: 训练模型识别敏感属性 (如种族或年龄) ,以便我们知道要移除什么。
- 去偏阶段 (推理) : 结合上述两者以做出公平的预测。
让我们详细分解这些阶段。
第一阶段: 特定任务学习
首先,我们需要一个基线。我们需要一个在下游任务 (如情感分析) 上表现良好的模型。
作者使用了一种基于模板的方法。他们将输入文本 \(x_i\) 包裹在伪 token (可学习向量) \([P^t]\) 和离散 token \([D^t]\) 中,并以 [MASK] token 结尾。

伪 token 通过特定任务提示编码器 (TPE) 生成连续提示 \(h^t\)。

模型的输入变成了原始文本嵌入和这些学习到的提示嵌入的组合:

然后训练模型以预测 [MASK] token 的正确标签 \(y_i\)。这是标准的提示微调。目标函数 \(\mathcal{L}_{task}\) 是标准的交叉熵损失,以确保模型准确。

在这个阶段,我们拥有了一个准确的模型,但它很可能带有偏见。
第二阶段: 去偏学习
这是 CPAD 创新的地方。要消除偏见,我们首先需要捕捉它。这里的目标是训练去偏提示 (\(h^0, h^1, ...\)) ,专门编码有关受保护属性 (如年龄或种族) 的信息。
作者没有使用手动单词列表来定义“种族”,而是生成了原型 (Prototypes) 。
原型生成
模型遍历训练数据。对于特定的受保护属性 (比如种族) ,系统收集属于“A 组” (例如白人相关英语) 和“B 组” (例如 AAE) 的所有示例的模型输出分布。
然后,它聚合这些输出以为每个组创建一个“中心”或原型。这有效地创建了该群体在整个词汇表中的语言模式的连续表示,而不仅仅是几个关键词。

这里,\(C_j^k\) 是属性 \(j\) 下敏感群体 \(k\) 的原型。它是该群体输出 \(O_i\) 的平均值。
对比目标
现在,我们训练去偏提示编码器 。 我们希望这些提示能帮助模型区分敏感群体。如果提示成功捕捉到了特定人口统计特征的“本质”,那么对于输入文本,模型的输出应该非常接近该人口统计特征的原型。
训练使用对比损失函数:

这个公式看起来可能很吓人,但直觉很简单:
- 最小化 输入的输出与其正确的人口统计原型 (\(c_+\),正原型) 之间的距离。
- 最大化 输入的输出与其错误的人口统计原型 (\(c_-\),负原型) 之间的距离。
通过这样做,去偏提示成为了提取人口统计信号的专家——这正是我们稍后想要中和的信号。
第三阶段: 去偏阶段 (推理)
现在我们有了任务提示 (知道如何做工作) 和去偏提示 (知道人口统计信息) 。为了做出公平的预测,我们通过结合这些提示来调整输入。
作者提出了两种方法: 细粒度 (Fine-grained) 和粗粒度 (Coarse-grained) 调整。
细粒度调整
在这种方法中,调整发生在提示编码器内部深处。我们定义超参数 \(\alpha\) 和 \(\beta\),用于控制我们想要在多大程度上惩罚偏见。
我们通过减去敏感群体的影响来调整伪 token (\(P_u\)) 和编码器参数 (\(\tau\)) 。

注意这里的逻辑: 我们获取任务参数,并将其与由 \(\alpha\) 和 \(\beta\) 加权的偏见参数混合。等等,为什么我们要加上它们?
实际上,仔细观察论文逻辑上下文中的用法 (如下面的公式 1) ,目标通常是找到一种平衡。该公式暗示了一种线性插值,我们构建一个新的提示,在我们明确建模的偏见知识与任务知识之间取得平衡。
粗粒度调整
这种方法更简单,通常也更有效。它直接作用于提示编码器的输出嵌入 (\(h_u\)) 。

我们将任务提示嵌入 \(h^t\) 与人口统计提示嵌入 \(h^0\) 和 \(h^1\) 结合起来。
最后,使用这个调整后的输入进行预测。分类器 \(\mathcal{F}\) 的通用公式变为:

这里,\(\Omega\) 表示调整操作 (结合提示) ,\(\mathbf{H}\) 表示去偏提示集。
实验结果
研究人员在三个自然语言理解 (NLU) 任务上测试了 CPAD:
- 仇恨言论检测 (种族偏见)
- 情感分析 (种族偏见 - AAE vs. 白人相关英语)
- 心理维度预测 (种族和年龄偏见)
他们将 CPAD 与多个基线模型进行了比较,包括标准的微调 (Fine-tuning) 、Adapter、P-tuning,以及其他去偏方法如 Auto-Debias 和 Causal-Debias。
指标 1: 群体公平性 (Group Fairness)
群体公平性检查模型是否平等对待不同群体。理想情况下,不同群体之间的真阳性率 (TPR) 和真阴性率 (TNR) 的“差距 (Gap) ”应为零。
整体公平性得分计算如下:

结果:

观察 表 1 (上图中的上表) :
- 仇恨言论: CPAD 取得了最低的“Overall”得分 (10.23%) ,这意味着它在各组之间的差距最小。它明显优于标准微调 (14.50%) 。
- 情感分析: CPAD 取得了 41.29% 的 Overall 得分,大幅优于 P-tuning (56.03%) 。
在 表 2 中,我们看到了涉及种族和年龄的心理预测结果。与基线相比,CPAD 始终能实现更低的差距 (更好的公平性) 。
指标 2: 无意识公平性 (Fairness through Unawareness)
群体公平性衡量的是结果,而“无意识公平性”衡量的是信息泄漏。我们能仅仅通过观察模型的输出概率分布就猜出受保护属性 (如种族) 吗?如果模型是真正公平/无意识的,我们应该无法做到。
研究人员提出了一种指标,试图根据输出与原型之间的距离来预测敏感群体。

理想的“泄漏率 (Leakage) ”是 50% (对于二元组) ——这意味着输出在揭示人口统计信息方面就像抛硬币一样随机。

在 表 3 中,与有偏见的模型相比,CPAD 将泄漏率降至接近 50%。例如,在情感分析中,泄漏率从 82.78% 降至 73.89%。

表 4 证实了心理测量学的这一趋势,将种族泄漏率从 63.05% 降低到 61.21%。
权衡: 准确性 vs. 公平性
凡事总有代价。通常,让模型更公平会降低其准确性,因为模型不能再依赖“廉价”的刻板印象来进行预测。
作者通过改变超参数 \(\alpha\) (控制去偏强度) 分析了这种权衡。

在 图 3 (仇恨言论) 中:
- 红色柱状图 (准确性) : 在 \(\alpha\) 变得非常高 (0.9) 之前保持相对稳定。
- 橙色折线 (泄漏率) : 随着 \(\alpha\) 增加显著下降。
- 紫色/绿色柱状图 (差距) : 总体呈下降趋势。
这表明,只要 \(\alpha\) 设置得不太高,CPAD 可以在仅轻微影响准确性的情况下显著提高公平性。

图 4 (情感分析) 显示了更陡峭的权衡。当我们追求更低的泄漏率 (橙色线) 时,准确性 (红色柱) 受到了打击。这凸显了任务的难度——Twitter 上的情感分析与方言高度相关,使得在不丢失语义意义的情况下去除偏见变得更加困难。
交叉偏见
CPAD 的优势之一是它能够同时处理多个属性 (例如,黑人女性 vs. 白人男性) 。这就是“交叉偏见”。

图 6 中的热图可视化了当我们调整种族 (\(\alpha\)) 和年龄 (\(\beta\)) 的权重时,整体公平性得分 (越低越好,以浅色/黄色表示) 的变化。
- 左下角 (0,0) 代表有偏见的模型 (深色/红色) 。
- 当我们向中心移动 (增加 \(\alpha\) 和 \(\beta\)) 时,颜色变为黄色/浅绿色,表明在两个维度上的公平性同时得到了改善。
结论
CPAD 方法代表了使 NLP 模型更公平的重要一步。通过摆脱手动词表并拥抱连续提示 , 作者创建了一个具有以下特点的系统:
- 全面性: 它使用整个词汇空间来定义偏见,而不仅仅是几个关键词。
- 灵活性: 它允许使用 \(\alpha\) 和 \(\beta\) 参数在公平性和准确性之间进行微调权衡。
- 可扩展性: 它可以同时处理多个受保护属性 (种族、年龄) 。
对于学生和从业者来说,CPAD 展示了提示微调 (Prompt Tuning) 的力量,不仅在于使模型适应新任务,还在于从根本上改变模型处理信息的方式以符合道德准则。随着我们继续在招聘和内容审核等敏感领域部署大型语言模型,像 CPAD 这样的技术对于确保这些强大的工具公平地服务于每个人将至关重要。
](https://deep-paper.org/en/paper/file-3380/images/cover.png)