跳到主要内容

你的 LLM Judge 存在长度偏见、位置偏见和格式偏见 —— 且无人审计你的模型

· 阅读需 13 分钟
Tian Pan
Software Engineer

我上个季度合作的一个团队看着他们的 LLM-as-judge 分数在六周的提示词(prompt)迭代中从 78% 飙升至 91%。他们发布了产品。但用户却非常讨厌它。新的提示词产生了更长、格式更丰富、听起来更自信的回答 —— 而评委(judge)爱死了每一个回答。团队并没有构建出更智能的提示词。他们只是对评委的偏见进行了逆向工程。

这是团队中没人审计的失败模式。LLM-as-judge 有据可查的系统性偏见:无论质量如何,更长的回答得分更高;在两两比较中,第一个选项胜出的概率高于随机概率;且看起来像评委自身训练分布的输出得分高于不符的。如果你在十二个月前接入了一个 LLM 评委,且从未针对人类进行重新验证,那么你的分数就不是质量信号 —— 它们衡量的是你的提示词学会如何操纵其评估器的程度。

令人沮丧的是,捕捉这一点的审计方法很直接,防止它的校准纪律也很廉价,但几乎没有团队会执行其中任何一项。

生产环境评委中常见的三个偏见

关于 LLM 评估器的偏见文献现在已经多到令人尴尬的地步。一项 2024 年针对六个 LLM 评委和 22 个任务的位置偏见系统性研究发现,位置偏见并非随机噪声 —— 它在不同评委之间差异显著,并且在候选者之间的质量差距较小时最为明显,而这恰恰是你的评估系统要求评委进行辨别的场景。另一个对 LLM-as-judge 偏见进行编目的框架列举了十二个不同的类别。在生产环境中最致命的三个是长度、位置和格式。

长度(冗长)偏见(Length bias)。 LLM 评委更喜欢较长的回答。这种效应非常稳健,以至于 AlpacaEval 2.0 专门构建了一个基于回归的长度控制胜率来消除排行榜的偏见,而最初的 AlpacaEval 以偏向那些单纯生成更多 token 的模型而闻名。其机制部分源于训练分布 —— RLHF 往往会奖励看起来更详尽的回答 —— 部分源于表面暗示,如套话(hedging)和阐述,评委将其解读为“更严谨”。在生产环境中,这意味着一个增加了三句开场废话的提示词得分会比一个直奔主题的提示词更高。

位置偏见(Position bias)。 在两两比较(A vs. B)中,候选者在提示词中的位置会改变裁决结果。有些评委偏好第一个选项,有些偏好第二个,偏见强度取决于模型和任务。纯净的信号是顺序不对称性:运行 A-然后-B,再运行 B-然后-A,只计算两次排序结果一致的裁决。不一致率就是你的偏见底线。在势均力敌的一对比较中,你通常会看到当交换位置时,20–40% 的裁决会发生翻转,这意味着高达 40% 的“获胜”是排序产生的假象。

格式偏见(Format bias)(也称为熟悉度或自我偏好偏见)。当输出看起来像评委自己会产生的内容时,评委给出的分数更高。自我偏好偏见已被直接衡量:GPT-4 系统性地给 GPT-4 的输出打分高于人类的打分,且该效应与困惑度(perplexity)相关 —— 评委更喜欢统计学上对它们熟悉的文本。在实践中,这表现为 Markdown 偏见(格式化的列表得分高于同等的散文)、结构偏见(带编号的标题得分高于流动的论证)以及风格家族偏见(来自一个供应商的评委悄悄调低另一个供应商输出的分数,即使人类更喜欢后者)。

这些偏见单独看都很微小。但在六周的提示词迭代循环中组合起来,你就制造了一台古德哈特机器(Goodhart machine)。

一个下午就能捕捉到这些偏见的审计方法

只需运行一次三个对照实验,就足以了解你的评委是否可靠。

长度受控对(Length-controlled pairs)。 从现有的评估集中取样。对于评委选择了一个答案而非另一个答案的每一项,生成一个长度匹配的变体:将较长的回答截断到较短回答的 token 数量,或用中性填充词扩展较短的回答。重新运行评委。长度匹配后发生翻转的裁决比例就是你的长度偏见率。任何超过 10% 的结果都意味着长度是你评分中一个显著的混杂变量。解决方法不是禁止长篇回答 —— 而是让评委根据长度受控的准则进行评分,或者应用类似 AlpacaEval 的回归修正。

位置交换对照(Position-swapped controls)。 对于每个两两比较的提示词,运行两次:A-然后-B,以及 B-然后-A。丢弃两次排序不一致的裁决。丢弃的比例就是你的位置偏见率。保留的裁决才是真实的信号。这大约会使你的评委成本翻倍并减少样本量,但对于你重视的任何两两比较来说,这是不可逾越的底线。在生产级评估中,单向的两两比较评分是一个低级失误。

去格式化比较(Format-stripped comparisons)。 通过 Markdown 清除规范化器处理每个候选回答,移除标题、列表、加粗和表格,只保留纯文本散文。针对去格式化后的版本重新运行评委。格式化版本与去格式化版本之间的分值差就是你的格式偏见贡献度。如果分值差很大,说明你的评委在奖励形式而非实质,每当你的提示词迭代增加了更多的列表或标题时,你都会看到并不存在的“进步”。

这三项审计各需要数百次额外的评委调用和几个小时的工作。它们能告诉你评估器的噪声底线。没有它们,任何低于偏见底线的提示词迭代增量在统计学上都是毫无意义的。

保持诚实的校准纪律

设置时的一次性审计是不够的。有两件事会发生偏移。

第一是裁判本身。供应商端的模型更新会改变行为——在 gpt-4o-2024-08-06gpt-4o-2024-11-20 上针对同一评估集使用相同的裁判提示词,不会产生相同的分数。如果你固定裁判模型,你就要接受陈旧性。如果你让它浮动,你就要接受无声的偏移。无论哪种方式,你都需要定期的校准检查。

第二是任务。你在发布时编写的评估集反映了你当时知道的失败模式。随着产品的成熟,真实用户输入的分布会发生变化,失败模式也会随之改变。半年后,你的裁判可能针对一个不再代表工作负载的评估集进行了完美的校准。

处理这两者的纪律是建立一个预留的人类偏好小组(held-out human-preference panel),每季度刷新一次。结构很简单:

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