LLM 的性别偏见藏在哪些神经元里?我用对比 prompt 对把它定位出来了

想让 LLM 少带点偏见,大多数团队的做法是过滤训练数据、或者后训练对齐。但这些方法有一个共同问题:不知道动的是哪块神经,一刀切下去,偏见可能降了,模型能力也跟着受损。

最近一篇论文提出了一个更精准的路子——Fairness Pruning。核心思路是:先用「最小对比 prompt 对」,就是在 prompt 里只改人口统计学变量(比如性别、年龄),其他部分完全一样,然后抓模型推理时神经元的激活值差异。这样就能定位出哪些神经元对「这个人是男是女」特别敏感。

具体做法是这样的:拿一对 prompt——「The doctor walked into the 」和「The nurse walked into the 」——输入模型,在 GLU 架构的 down_proj 输入层抓激活差值。差值大的神经元,就是「职业性别偏见」所在的位置。

实验结果很有冲击力:在 Llama-3.2-1B 里,只需要动不超过 40 个神经元(占 MLP 宽度的不到 0.031%),就能显著影响模型对性别变量的响应,同时保留 99.49% 的推理和常识能力。这说明偏见和能力确实是走不同神经回路的,不是绑在一起拆不开。

但这里有个反直觉的细节:单纯把找到的神经元置零,效果不是单向的。因为 BiasScore 是无符号的,找出来的候选神经元同时包含「推向刻板印象」和「推向反刻板印象」的两类,置零之后净效果取决于哪类占多数。这个发现意味着「发现偏见神经元 → 置零 → 消除偏见」这个简单路径是走不通的,得做方向性筛选才行。

这个研究对 prompt 工程师有什么直接用处?

第一,它证明了「对比 prompt」不只能用来评估模型输出,还能用来探查模型内部。用一对最小差异 prompt 抓激活差值,是目前成本最低的模型可解释性探测手段。

第二,它给了一个量化指标:以前说「这个模型有性别偏见」是模糊的,现在可以具体到「这 40 个神经元的激活值差异在 down_proj 层超过 X」。这个思路可以用来给不同版本的模型打偏见分数。

第三,它指向一个方向:与其在 prompt 里加一堆「请勿产生性别偏见」的约束,不如直接定位并调节相关神经回路。论文本身做的是神经层面干预,但工程层面完全可以把这个思路迁移到 prompt 约束设计里——找到触发偏见的最小 prompt 模式,然后在应用层做定向拦截。

当然,这个方法目前还是研究阶段,局限在于只测了 Llama-3.2 家族和 Salamandra-2B(最大 3B 参数),对更大规模的模型效果未知;另外它用的是 GLU 架构的 down_proj 层,不一定适用于所有模型结构。但「偏见和能力的解耦」这个发现,给了在生产环境里做精细化 AI 安全干预提供了一块落脚石。

下一步可以试:如果你在用 API 调 LLM,试着设计一组最小对比 prompt(比如改性别、改国籍、改种族),输入同一个问题,看输出差异大不大。差异越大,说明模型对这些变量的敏感度越高,你的 prompt 里可能需要加更明确的约束。这个测试成本接近零,但能给你一个量化的感知。

评论区

0 条评论

登录后可评论。

Prompt 工程 360 阅读