审视裁判: 贝叶斯统计如何修正 LLM 评估

如果你玩过 ChatGPT、Claude 或 Llama,你就会知道评估这些模型是很棘手的。与数学测试不同,写诗、总结新闻文章或聊哲学并没有唯一的“正确”答案。

很长一段时间以来,黄金标准是人工评估。你会生成两个回复,然后问人类: “哪一个更好?”但人工评估速度慢、成本高且难以扩展。这导致了 LLM 即裁判 (LLM-as-a-judge) 的兴起: 使用强大的模型 (如 GPT-4) 来评估较弱的模型。它速度快、成本低,且可以无限扩展。

但这有个陷阱。LLM 裁判并不完美。它们有偏见——它们可能偏爱较长的回答,可能存在“位置偏见” (偏爱显示的第一个回答) ,或者它们可能只是搞混了。

如果你的裁判有偏见,你的排行榜就是错的。

在一篇题为 “Bayesian Calibration of Win Rate Estimation with LLM Evaluators” 的精彩论文中,耶鲁大学的研究人员正面解决了这个问题。他们证明,简单地统计一个模型根据 LLM 裁判“获胜”的次数在统计上是有缺陷的。相反,他们提出了一个严谨的统计框架——利用贝叶斯推断——来“校准”这些裁判,让我们在不需要数千小时人工劳动的情况下更接近真相。

在这篇深度文章中,我们将拆解他们发现背后的数学原理,解释为什么“观测胜率”是一个谎言,并逐步介绍他们为修正这一问题而开发的贝叶斯方法。

问题所在: 胜率的假象

让我们设定一下场景。你正在比较两个 AI 模型: 模型 A模型 B 。 你想知道哪一个更擅长写故事。

你用模型 A 生成了 1,000 个故事,用模型 B 也生成了 1,000 个。你将这些故事成对地提供给评估者 (比如 GPT-4) ,并问: “哪个故事更好?”评估者在 70% 的时间里选择了模型 A。你得出结论: 模型 A 有 70% 的胜率。

这个数字——70%——就是研究人员所说的 观测胜率 (Observed Win Rate) 。 这看起来很直接,但往往具有误导性。只有当裁判 100% 完美时,观测胜率才等于 真实 胜率。如果裁判会犯错 (它确实会) ,那么这 70% 就是真实信号和裁判错误噪声的混合体。

研究人员提出了一种新的流程来纠正这一点。如下图所示,标准方法 (左) 只看表面上的观测胜率。他们提出的流程 (右) 则将 LLM 评估视为证据的一部分,结合可选的人类见解,并通过一个校准引擎进行处理。

图 1: 我们的流程与之前工作的示意图。我们流程中的“校准”部分指 BWRS 或 Bayesian Dawid-Skene 中的一种。

定义“真实”胜率

为了从数学上解决这个问题,我们首先需要严格定义我们的术语。我们要测量的到底是什么?

我们寻找的是 真实胜率 (True Win Rate) , 记为 \(p\)。这是平均人类专家相对于模型 B 更偏爱模型 A 的概率。

真实胜率 p 的公式

在这个公式中:

  • \(G_0\) 和 \(G_1\) 是两个模型 (生成器) 。
  • \(H\) 是人类决策函数 (如果模型 A 获胜,则返回 0) 。
  • \(p\) 是人类偏爱模型 A 的概率。

“观测”胜率

接下来,我们要定义 观测胜率 (Observed Win Rate) , 记为 \(k_e\)。这是你的 LLM 评估者 (\(e\)) 选择模型 A 的概率。

观测胜率 k_e 的公式

这里,\(T_e\) 是 LLM 裁判的决策。如果 LLM 裁判与人类裁判完全一致,那么 \(k_e\) 将等于 \(p\)。但它们并不一致。

差异

这篇论文的核心贡献始于一个统计现实检查。研究人员利用 全概率公式 (Law of Total Probability) 精确展示了观测胜率是如何构成的。

观测胜率 \(k_e\) 由两种情况组成:

  1. 真阳性 (True Positive): 人类认为模型 A 赢了,LLM 也同意。
  2. 假阳性 (False Positive): 人类认为模型 B 赢了,但 LLM 错误地选择了模型 A。

为了量化这一点,他们定义了裁判的两个准确率指标:

  • \(q_0^e\): 当模型 A 是真正赢家时,裁判判断正确的概率。
  • \(q_1^e\): 当模型 B 是真正赢家时,裁判判断正确的概率。

将观测胜率 k_e 与真实胜率 p 和准确率联系起来的公式

仔细看最后一行: \(k_e = p q_0^e + (1-p)(1-q_1^e)\)。

这个方程是“确凿证据”。它证明了观测胜率 \(k_e\) 是真实胜率 \(p\) 的扭曲版本。

  • 如果 \(p\) (真实质量) 上升,\(k_e\) (观测分数) 会改变。
  • 但如果 \(q_0\) 或 \(q_1\) (裁判的偏见) 改变,\(k_e\) 也会 改变。

如果你的 LLM 裁判偏向模型 A (高 \(q_0\),低 \(q_1\)) ,你的观测胜率就会虚高。计算观测胜率与真实胜率之间的差异,就得到了“估计误差”:

估计误差 |k_e - p| 的公式

这项研究的目标是求解 \(p\)。我们可以观测到 \(k_e\) (通过运行评估) ,但我们不知道 \(p\)、\(q_0\) 或 \(q_1\)。这是一个未知数太多的代数问题。

解决方案: 贝叶斯校准

既然在不知道裁判准确率的情况下无法直接解出这个方程,作者转向了 贝叶斯推断 (Bayesian Inference)

贝叶斯统计允许我们处理不确定性。我们不假设我们知道裁判的确切准确率,而是将准确率视为一个 概率分布。我们从一个“先验”信念开始 (例如,“裁判可能比随机猜测要好”) ,并随着看到数据而更新这一信念。

论文提出了两种不同的方法来恢复真实胜率 \(p\)。

方法 1: 贝叶斯胜率采样 (BWRS)

第一种方法是直接的代数逆运算加上采样。回顾连接 \(k_e\) 和 \(p\) 的方程,我们可以通过数学变换解出 \(p\):

解出 p 的重排方程

算法流程如下:

  1. 估计裁判的准确率 (\(q_0, q_1\)): 我们需要一小部分基准真值 (ground truth)——即同时拥有人类和 LLM 标签的案例。利用这个样本,我们不只是计算一个单一的准确率数值;我们生成一个分布 (具体来说是 Beta 分布) ,代表裁判准确率可能的范围。
  2. 估计观测胜率 (\(k_e\)): 我们也基于完整数据集为观测胜率生成一个分布。
  3. 蒙特卡洛采样: 我们从这些分布中抽取数千个随机样本。对于每一个 \(k_e, q_0, q_1\) 的样本,我们将它们代入上面的方程,计算出 \(p\) 的一个潜在值。
  4. 聚合: 在重复数千次后,我们得到了真实胜率 \(p\) 的可能值分布。然后我们可以取这个分布的均值或众数作为最终答案。

这种方法之所以强大,是因为它给出了置信区间。它承认我们在裁判准确率方面并非 100% 确定,并将这种不确定性传播到最终得分中。

方法 2: 贝叶斯 Dawid-Skene 模型

第二种方法改编自 1979 年的一个经典算法,称为 Dawid-Skene 模型 。 它最初设计用于聚合不可靠的众包工人 (如在 Amazon Mechanical Turk 上) 的答案,非常适合用于聚合不完美的 LLM 裁判的答案。

其直觉是这样的: 假设你有三个裁判。裁判 A 和 B 通常意见一致,但裁判 C 总是唱反调。模型会推断 A 和 B 可能正确,而 C 可能搞混了。它同时计算出:

  1. “真实”标签是什么 (胜或负) 。
  2. 每个裁判有多可靠。

研究人员通过将其 贝叶斯化 使其现代化。他们不再仅仅寻找最可能的值 (极大似然估计) ,而是从完整的后验分布中进行采样。

这个模型比 BWRS 更稳健,因为它可以处理多个 LLM 评估者查看同一数据的情况,汇集他们的洞察力以寻找真相。

先验的作用: “真相”从何而来?

如果我们可以对裁判的好坏有 一些 了解,这两种方法的效果最好。作者探讨了三种“先验知识”的设置:

  1. 无先验 (No Prior): 我们什么都不假设。我们基本上猜测裁判可能比抛硬币好 (\(>50\%\) 准确率) ,除此之外一无所知。即使在这种情况下,Dawid-Skene 模型在弄清真相方面也出奇地好。
  2. 分布内先验 (In-Distribution Prior): 我们有一个小的“验证集”,人类实际上已经在其中标记了数据。我们在运行完整评估之前,使用它来校准我们对裁判准确率的信念。
  3. 分布外 (OOD) 先验 (Out-of-Distribution Prior): 这是最实用的场景。假设你想评估一个新的故事生成模型。你没有针对 这个 模型的人类标签,但你有针对一个 故事生成模型的人类标签。你假设裁判在类似任务上的表现是相似的,并使用旧数据来校准新任务的裁判。

这些先验的数学初始化可能会很复杂。对于 OOD 设置,作者使用外部数据集中的一致和不一致计数来塑造新任务的 Beta 分布:

方程 12: OOD 设置的先验

这个公式本质上是在说: “把你对裁判准确率 (\(q_0\)) 的初始信念建立在他们在旧数据集上的表现 (\(n_0\) 次总判断中有 \(s_0\) 次正确判断) 之上。”

实验与结果

研究人员在涵盖故事生成 (HANNA, OpenMEVA) 、摘要 (SummEval) 和指令遵循 (LLMBar, MT-Bench, LLMEval) 的六个数据集上验证了这些方法。

LLM 裁判真的有偏见吗?

首先,他们检查了标准裁判 (如 GPT-3.5 和 Gemini) 的原始准确率。 表 1 中的结果证实了为什么校准是必要的。

表 1: 相对于人类偏好的 LLM 评估者准确率

注意 \(q_0 - q_1\) 这一列。理想情况下,这应该是零——无论哪个模型更好,裁判识别获胜者的能力应该是一样的。然而,对于使用 “Analyze-rate” 提示词的 Gemini-1.0-Pro,存在 0.374 (37.4%) 的差异 ! 这个评估者受基准真值的影响存在巨大的偏见。如果你在没有校准的情况下使用这个裁判,你的胜率将会是歪曲的。

校准能减少误差吗?

衡量成功的主要指标是 估计误差 (Estimation Error) : 估计胜率与实际人类胜率之间的差异 (\(|\hat{p} - p|\))。数值越低越好。

表 2 显示了故事和摘要数据集的结果。

表 2: 无先验和 OOD 先验下的胜率估计结果

结果的关键要点:

  • 基线 (观测胜率) : 误差率相当高 (例如,SummEval 上为 0.167) 。
  • 贝叶斯 Dawid-Skene (OOD 先验): 这是赢家。通过使用来自不同数据集的先验知识,误差显著下降 (例如,SummEval 上从 0.167 降至 0.110) 。
  • 即使“无先验”也有帮助: 即使你没有人类数据,应用贝叶斯 Dawid-Skene 模型通常也能产生比原始胜率更好的估计,因为该模型有效地让多个评估者相互“投票”以抵消噪声。

指令遵循数据集

他们还在流行的基准测试 (如 MT-Bench 和 LLMBar) 上进行了测试。在这里,由于没有合适的外部数据集,他们使用了“无先验”设置。

表 3: 指令遵循数据集上无先验的胜率估计结果

  • (注: 虽然讨论的是表 3,但我们在下面的表 5 中展示了用于这些数据集的评估者模式。) *

表 5: 实验中用于指令遵循数据集的 LLM 评估者模式

在这些数据集上,改进虽然存在但较小。这表明,当裁判充满噪声或任务具有主观性 (如写故事) 时,校准最为关键;而在更清晰的任务上使用非常强大的裁判 (如 GPT-4) 时,校准的重要性略低 (但仍然有用) 。

人类数据的影响

最后,研究人员问: “我们到底需要多少人类数据?”

他们通过增加“分布内”人类数据的数量 (从 10% 到 100%) 进行实验,以观察误差率如何变化。

图 2: 使用不同比例的原始数据作为分布内先验时的胜率估计误差。

图 2 中的图表讲述了一个清晰的故事:

  • 绿线 (\(k\)) 是基线观测胜率。它是一条直线,因为它不使用人类数据。
  • 蓝线和橙线 (贝叶斯估计器) 向下倾斜。
  • 关键洞察: 你不需要 100% 的人类标签。只要有大约 20-30% 的数据有人类标签,贝叶斯模型就能学习裁判的偏见并大幅减少误差。与全人工评估相比,这大大节省了成本。

结论与启示

我们正在进入一个 AI 发展受限于评估的时代。我们训练模型的速度比给它们评分的速度还快。行业已经将“LLM 即裁判”标准化,因为这很方便,但这篇论文敲响了必要的警钟: 便利不等于准确。

天真的方法——统计 GPT-4 偏爱模型 A 的次数——在数学上注定是错误的,除非 GPT-4 是完美的。然而,这篇论文提供了一条前进的道路。通过将评估视为统计推断问题而不是简单的计数任务,我们可以校准我们的结果。

给学生和从业者的关键要点:

  1. 不轻信原始胜率: 永远记住 \(观测值 \neq 真实值\)。
  2. 准确率是不对称的: 裁判可能善于发现好的答案,但不善于发现坏的答案 (\(q_0 \neq q_1\)) 。
  3. 贝叶斯方法具有鲁棒性: 即使没有人类数据,像 Dawid-Skene 这样的统计模型也能提高可靠性。
  4. 使用先验: 如果你有类似任务的标记数据,用它来校准你的裁判。

这项研究推动我们走向这样一个未来: 我们可以两全其美——既有 AI 评估的速度,又有严谨科学的统计可靠性。


局限性

值得注意的是,这些方法也有其边界。BWRS 方法中的数学逆运算 (方程 11) 只有在裁判本质上“比随机猜测好”时才是稳定的。

方程 14: p 的稳定性条件

正如该条件所示,如果裁判极度偏颇或具有对抗性 (在特定方面表现得比随机几率还差) ,数学模型就会崩溃,估计的概率 \(p\) 可能会落在 0 到 1 的范围之外。在这种情况下,贝叶斯 Dawid-Skene 模型通常更安全,但归根结底,一开始就拥有一个至少 像样 的评估者是无可替代的。