Kaelem

LLM 裁判为什么会不公平:偏见原来藏在一条几何方向里

·23 min read
LLM-as-JudgeMechanistic InterpretabilityAI EvaluationBiasarXiv

一个模型评审两段答案。两段答案的事实、推理、结论都一样,只是其中一段前面多了一个标签:"GPT-4:";另一段前面写着:"GPT-2:"。

如果评审是人,我们会立刻警惕:这不是在评答案,而是在评招牌。

但今天很多 AI 系统正在把这种评审交给另一个大模型。它给开放问答打分,给 agent 轨迹排序,给偏好学习提供 reward,甚至替我们判断哪个模型更好。于是问题就变得更危险:如果这个“裁判”会因为表面线索改分,我们看到的 benchmark、排行榜、RLHF 信号,可能都已经被污染了。

过去研究这件事,通常是黑箱做法。改一下输入,看分数掉多少;换一下顺序,看赢家变不变;加一句“多数评审认为这很好”,再看模型是否跟风。这当然有用,但它只告诉我们裁判最后说了什么。

这篇论文问的是更里面的问题:当裁判给出一个不公平分数时,模型内部发生了什么?

偏见不是分数噪声,而是一条位移

先不要急着说“偏见”,先看一个小实验

我们先把场景压到最干净。

有一个问题 q,有一个回答 a。裁判模型读完以后,在 1 到 10 分之间给一个分数。现在研究者不改答案内容,只改答案外面的“包装”:比如说这段答案来自高声誉模型,或者来自旧模型;说多数评审喜欢它,或者多数评审不喜欢它;加一点学术引用,或者插入 [citation needed];写一句“这份回答经过专业润色”,或者“这是未经审阅的原始 AI 输出”。

如果答案的事实和逻辑没变,一个理想裁判应该给出差不多的分数。分数系统性变化,就是 scoring bias。

这篇论文研究了七类这样的表面线索:Prestige、Verbosity、Bandwagon、Authority、Sentiment、Refinement、Diversity。它们分别对应来源声誉、长度、从众信号、权威标记、情绪语气、元认知式“我被润色过”、以及作者身份标签。

更关键的是,作者不是只测一两个模型。他们从九个 benchmark 里采样 4,500 个问题:GSM8K、MMLU、TruthfulQA、CommonsenseQA、PubMedQA、GPQA、ARC-Challenge、SocialMaze、BBQ。每个基础答案再生成七类正向扰动和七类负向扰动,于是正向扰动 31,500 条,负向扰动 31,500 条。评审模型则有七个:GPT-4.1、GPT-4o-Mini、Llama-3.1-8B、Llama-3.3-70B、Qwen3-14B、Gemma-3-12B、Deepseek-V3。

这给了论文一个很好的起点:它不是在讲一个 prompt trick,而是在看“裁判模型面对无关表面线索时,会不会形成稳定的评分偏移”。

第一个反直觉结果:模型更容易惩罚,而不是奖励

直觉上,我们可能以为偏见是对称的。好标签让分数升,坏标签让分数降;两边大小差不多,只是方向相反。

实验不是这样。

在严格、非 CoT 的默认设置下,七个 judge 全部表现出同一个模式:正向线索的平均增益很小,负向线索的扣分很明显。

Llama-3.1-8B 的基线均分是 5.71。正向偏见平均只把分数推高 +0.243,Cohen’s d 是 +0.162;负向偏见却把分数拉低 −0.853,Cohen’s d 是 −0.580。Qwen3-14B 更明显:正向 +0.175,负向 −0.935。Gemma-3-12B 是正向 +0.152,负向 −0.870。即便是 GPT-4.1,正向几乎没有显著变化(+0.020,p=0.838),负向仍有 −0.360 的下降。

也就是说,裁判像是有一种“默认扣分机制”:坏标签很容易触发惩罚,好标签却不一定触发奖励。

负面线索更容易拉低裁判

这个不对称还不是简单的天花板效应。论文专门换了 CoT / 非 CoT、strict / 非 strict 四种提示配置。strict scoring 会把 GPT-4.1 的基线均分从大约 8.5 压到 5.5 左右,给正向提升留下空间,但正向偏见仍然接近 0,负向偏见仍然显著。

更有意思的是,不同偏见类型的方向也不镜像。

在 Llama-3.1-8B 上,Refinement+ 最能抬分,均分到 6.61;Sentiment+、Verbosity+ 也有小幅提升。但 Bandwagon+ 和 Diversity+ 反而降分。负向里最强的是 Bandwagon−,均分从 5.84 掉到 4.28;其次是 Diversity− 到 4.90,Authority− 到 5.05。Sentiment− 几乎没影响。

这说明模型不是简单地把“正面词”加分、“负面词”扣分。它对不同社会线索有不同内部处理方式。比如从众信号的负面版本——“87% 的评审认为这没用”——会强烈压低评分;但正面从众信号并不会等比例抬高评分。

只看分数还不够:偏见在隐藏状态里有没有形状?

到这里,我们仍然只是在输入输出层面说话。真正的问题是:这些扣分是不是只发生在最后的评分头上?还是模型在内部已经把“带偏见的评审输入”放到了另一个区域?

作者的做法很直接。

每次裁判读入一个 (问题, 答案) 后,他们记录每一层 decoder 的 final-token hidden state。对 baseline 输入得到一批隐藏状态,对正向、负向偏见输入也得到一批隐藏状态。然后问:这些点在激活空间里怎么分布?

论文的核心图像是这样的:在 Llama-3.1-8B 第 25 层,baseline 激活形成一个很紧的簇。带偏见线索的输入,不管是 Bandwagon−、Diversity−、Refinement+ 还是 Sentiment+,大多离开这个簇,落到远处。把同一张投影图按最终分数着色,或者按来源 benchmark 着色,都解释不了这个分离。也就是说,它不是“低分答案一团、高分答案一团”,也不是“GSM8K 一团、BBQ 一团”。分离对应的是偏见线索本身。

这就是论文所谓 baseline activation manifold:公平评审输入在隐藏空间里有一个相对稳定的基线流形;偏见输入会从这个流形上移开。

但“移开”还只是第一步。更重要的是移向哪里。

作者计算每个样本的激活差:带偏见输入的隐藏状态减去 baseline 隐藏状态。这就是一个 displacement vector。然后他们看不同偏见类型的 displacement vector 是否能分开。

结果是:浅层还混在一起,深层逐渐变清楚。第 5 层,Refinement+ 和 Diversity− 的偏移还不太容易分;第 15 层开始分开;第 25 层已经形成可区分的轨迹。Bandwagon− 和 Diversity− 这种同为负向的偏见,也在深层出现越来越清晰的分离。

偏见子空间在深层变清楚

这里有一个很重要的细节:偏见不是“激活范数变大”。附录里作者比较 baseline 和负向扰动在 32 层里的 L2 norm,除了最终 score-readout head 附近,几乎每层都统计上不可区分(p > 0.1)。偏见主要编码在方向里,而不是长度里。

这让“偏见方向”这个说法变得有意义。它不是一个比喻,而是一个几何对象。

这个方向不是随便拟合出来的吗?

到这里,读者应该保持怀疑。

高维空间里总能找到一个方向,把两类点分开。尤其是研究者已经知道哪些样本被扣分,当然可能训练出一个看起来漂亮的向量。它是不是只是相关性?是不是只是在读出文本里的表面标签?是不是跟最终评分没有因果关系?

论文为此做了几层防线。

第一,他们只在“真正造成评分变化”的样本上估计方向。很多扰动虽然加了表面线索,但并没有改变分数。作者把这些看作 null observations,而不是硬塞进负例。他们定义 effective bias substrate:分数朝预期方向移动至少 δ_s 个整数点的 paired samples。也就是说,偏见向量不是“这个文本有没有坏标签”,而是“这个标签是否真的把裁判带偏”。

第二,他们用了两类互相独立的估计器。一类看每个样本的激活差,比如平均向量、几何中位数、PCA 第一主成分;另一类做判别边界,比如 LDA、线性分类器、线性 SVM。两类方法的目标不同,但在后层会收敛到相近轴。论文报告,同一类内部的向量 cosine ≥ 0.91;跨 directional 和 discriminative 两个家族的 cosine 在 0.55 到 0.65 之间,远高于高维随机向量。

第三,他们检查这个结构是不是低维。第 25 层上,每类偏见的第一主成分解释 39% 到 47% 的 displacement variance;前 3 到 5 个主成分已经解释 83% 到 89%;前 10 个都超过 92%。所以严格说,“偏见方向”是简写:更准确地说是一个 3 到 5 维的低维偏见子空间,其中第一方向最容易拿来做干预。

这三步把故事从“我们找到了一条线”推进到“这里确实有一个稳定、低维、深层变清晰的偏见几何结构”。

真正关键的一步:沿这条方向推,分数会变吗?

可解释性研究最容易卡在这里:probe 能读出来,不代表它真的在因果链上。

这篇论文最强的地方,是它做了双向 activation steering。

如果偏见向量真的有因果作用,那么我们应该能做两件事。

第一,在干净的 baseline 输入上,把隐藏状态沿偏见方向加一点。输入文本没有坏标签,但模型内部像是被推向“坏标签区域”。如果分数真的被拉偏,这叫 attack。

第二,在已经带负向偏见的输入上,把隐藏状态沿同一条方向减一点。文本仍然带着坏标签,但内部状态被拉回基线流形。如果分数回到更公平的位置,这叫 defense。

论文在单层上做干预:h'_l = h_l + α · v_bias。干预层由开发集选择,通常落在中后层,大约第 15 到 31 层。α 不是随便调到把模型弄坏为止,而是在两个约束下选:输出必须仍然是合法 1 到 10 分,validity ≥ 0.93;同时 Spearman rank preservation 不能比同等语义强度的文本扰动更差,避免只是把评分秩序搅乱。

结果很清楚:沿偏见向量加,会在干净输入上复现偏见评分;沿同一向量减,会在带偏见输入上恢复接近 baseline 的评分。输出 validity 仍然高于 0.93。随机同范数方向的效果至少小一个数量级。

同一条方向,可以攻击也可以修复

作者还做了 bias-type-swap control:用另一类偏见的向量来干预同一个偏见类型。结果 swap 的 W1 介于 within-type 和 random 之间:比同类型弱 2 到 2.5 倍,比随机强 2.8 到 4.5 倍。这很漂亮,因为它同时排除了两个过度解释。偏见向量不是一个完全共享的“低分按钮”;但不同偏见也不是完全正交、互不相干。它们像是在同一个偏见区域里有类型化方向。

防御实验里,activation defense 相比 text rewrite baseline 也明显更强。对 Authority−、Bandwagon−、Refinement− 三类,主设置下 activation-based defense 的 W1-reduction 比文本重写强 3 到 5 倍;在更严格的绝对 Spearman floor ρ_S ≥ 0.85 下,activation defense 仍有 38% 到 45% 的 W1-reduction,文本重写只有 6% 到 10%,差距 4.5 到 6.3 倍。

不过这里要小心:论文没有说这是一个马上可部署的通用 debiasing 方法。它明确说 steering 是 causal probe,是为了证明几何方向有干预效力。真正部署还要解决何时干预、干预哪类偏见、如何保证不伤害正常评分。

从解释到预警:能不能提前知道裁判要错?

如果偏见几何只适合事后解释,它已经很有意思。但论文还往前走了一步:用激活特征预测 judge degradation。

任务不是“这个输入有没有表面扰动”。那太简单。附录里 Target A,也就是 baseline vs negatively perturbed 的风格检测,AUC 能到 0.972。但这不是部署者真正关心的事,因为不是每个表面扰动都会导致扣分。

真正有用的是 Target B:预测裁判分数是否会相对 baseline 下降至少 1 个整数点。也就是说,模型内部有没有显示“这次裁判真的会被带偏”。

作者用每层的 bias-direction projection、Mahalanobis distance、PCA/intrinsic statistics 等特征训练检测器。训练和开发只用六个 benchmark,SocialMaze、BBQ、GPQA 三个 benchmark 整体留出,测试跨域泛化。

结果里最值得看的是简单线性投影。只用 bias-direction features,在未见 benchmark 上 AUC 达到 0.821;主文概括为跨域 AUC 0.82。文本版 GPT-4o-Mini detector 只有约 0.63。更复杂的 GBDT 在 in-domain dev 上更强,AUC 0.926,但到未见 benchmark 掉到 0.751;简单线性投影反而更稳。

几何特征能提前预警裁判失误

这组数字的含义很重要:泛化出去的不是复杂模型学到的 domain pattern,而是低维偏见方向本身。论文还报告,GBDT 的 feature importance 里 bias-direction projections 占 62.3%,Mahalanobis distance 占 18.7%,PCA / intrinsic features 占 19.0%。换句话说,真正有用的信号仍然来自那条几何轴。

这篇论文证明了什么,没证明什么

这篇论文证明得比较扎实的是三件事。

第一,LLM-as-judge 的偏见不只是输出层面的随机分数波动。七个 judge、七类偏见、九个 benchmark 上,负向表面线索普遍造成更强扣分;不同偏见类型和不同领域之间还有清晰交互。Bandwagon− 在推理类任务上尤其强,Diversity− 在 SocialMaze 和 BBQ 上最强,Authority− 更集中在知识密集任务上。

第二,在有白盒激活的 judge 上,这种偏见对应一个稳定的内部几何结构。baseline 评审输入形成紧簇;偏见输入沿类型化、低维、深层更清晰的子空间离开。这个结构被不同估计器恢复,并且不是简单的激活范数变化。

第三,这个结构不只是相关性。沿偏见方向做双向 steering,可以攻击也可以防御;随机同范数方向效果小一个数量级;换用其他偏见类型向量的效果介于两者之间。再往外,它还能支持未见 benchmark 上的 judge-degradation 预测,线性投影 AUC 约 0.82,明显高于文本基线。

但论文没有证明几件事。

它没有证明这条偏见方向是唯一自然通路。作者自己说,这是 interventional sufficiency:沿这条方向足以控制偏见评分;但要证明模型天然就是通过这条路径实现偏见,还需要 path patching 或 causal tracing。

它也没有证明对闭源 API judge 可以直接修复。activation steering 需要白盒访问隐藏状态。七个 judge 都做了行为测量,但真正的激活几何和干预只在 Llama-3.1-8B、Qwen3-14B、Gemma-3-12B 三个中等规模开源模型上做。跨架构 cosine 有 0.47 到 0.62 的相似性,这支持“结构可部分迁移”,但不是闭源模型也同样可控的证明。

它还没有和所有 input-level debiasing 方法做 head-to-head。论文明确说,不声称比 calibration、position-invariant inference、jury/ensemble 等方法更适合作为最终 mitigation。它的贡献是几何和因果刻画,而不是一个完整部署方案。

最后,偏见定义依赖表面线索操作化。论文选择的七类 cue 符合 LLM-as-judge bias 文献的常规做法,并用人类评估确认 Verbosity、Sentiment 等改写没有显著降低质量。但现实世界里的偏见可能更隐蔽、更组合化,也可能不以这种模板形式出现。

为什么这件事值得关注

LLM-as-judge 最大的危险,不是它偶尔错判。人类评审也会错判。

更危险的是,它正在成为 AI 系统里的基础设施。我们用它评 benchmark,用它过滤训练数据,用它做 preference label,用它给 agent 轨迹打分。如果裁判会被“谁写的”“别人怎么看”“有没有引用”“作者身份如何”这些表面线索稳定带偏,那么偏见不是停留在一次评分里。它会被写进排行榜、训练目标、模型选择和系统优化。

这篇论文的重要性在于,它把“裁判不公平”从一个行为现象变成了一个可操作的内部对象。

过去我们说,模型因为从众线索扣分。这句话听起来像心理学描述。现在可以更具体地说:带负面从众线索的输入把第 25 层附近的 final-token activation 从 baseline manifold 推向一个低维偏见子空间;这个方向在深层变清楚;沿它加会复现扣分,沿它减会恢复分数;它还能预测未见领域里的裁判退化。

这并不意味着我们已经“解决”了 LLM 裁判偏见。相反,它让问题变得更精确:我们知道应该监控什么、干预什么、以及哪些结论还不能越界。

真正的启发是:评审模型也需要被解释。因为一旦模型开始评判其他模型,它就不再只是一个回答者,而是 AI 生态里的制度节点。制度节点的偏见如果只在输出上被看见,修复永远慢半拍。能在内部几何上提前看见它,才可能让自动评审从“方便的黑箱”走向“可审计的工具”。