AI 基建
0%
第七部分 · 评测 · 第 50 章

评判与整体评测

作者Changkun Ou
阅读时长约 14 分钟

第 47 章 里的基准,给那些有可核验答案的东西打分。开放式的质量、有用性、语气、一个回复是否优于另一个,都没有标准答案。于是这个领域转而使用一个强模型作为评分器,再用人类偏好当真值。这个选择带来三个相互连接的问题:一个模型作为评判者(model-as-judge),也就是用模型当评分器,会产生偏差,必须校正;竞技场式的偏好排名会把一票票成对比较(pairwise comparison),也就是两两回答的偏好票,汇成单一数字;一个私有测试集也因此比公开排行榜更有价值。

人类偏好这一侧,已经在 第 49 章 中被当成一件需要设计的仪器来处理;本章看的是,当这套设计被压缩成一个可复用的模型评判者之后,会出现什么问题。

当标准答案用尽

一个已部署模型产出的内容,大多无法交给测试运行器去核验。一段摘要、一个解释、一次改写、一轮对话:每一个都有许多可接受的写法,没有一个参考字符串可供匹配。第 47 章 的两个主要工具,精确匹配评分器与执行评分器,到这里都会失效。早期的做法是借来机器翻译的参考重叠度量,按一份输出与一份人写参考的重合程度打分。但在开放式文本上,这种重合度与人的判断相关性很差,何况一开始往往就没有单一参考可供比对。剩下的是两件都很昂贵的仪器:让一个人逐份阅读输出,或让一个强模型替这个人出场。

两者都有偏差,而且这种偏差不是会被平均抹平的随机噪声。它有结构,又恰好与一次训练正要去优化的那些属性相关。于是若不加校正就按它评分,它就会写进模型行为里。给开放式输出评分的那件仪器,一旦被冻结、被反复使用,就成了训练模型的那件仪器,测量上的一个缺陷便变成行为上的一个缺陷。

第二个问题叠加在第一个之上。任何公开基准,从它发布的那一刻起,就开始泄漏进训练语料,并成为一个被调优瞄准的目标 (Shi et al. 2023)。一个人人可见的数字,就是一个人人都去优化的数字,接下来古德哈特定律(Goodhart's law)便开始起作用:这个度量不再稳定地度量原来的东西。所以问题不只是怎么给开放式输出评分,还在于怎样持有一个测量,让它在整个领域见过它之后仍然可信。

答案由三件层层叠放的仪器组成:一个评分的模型、一个把许多评分汇总成排名的机制,以及一个让整套装置保持可信的留出集。HELM(Holistic Evaluation of Language Models) 意义上的整体评测(holistic evaluation),即同时在许多场景、许多指标上为模型打分,而不去追逐单一的头条数字,正是这三者所处的框架 (Liang et al. 2022)。

评分器即被评分之物

核心思路是使用一个强语言模型当评分器,即模型作为评判者,并把它的输出视为一个代理,对照人类或可执行真值来验证,绝不当作真值本身。这个评判者成本低、速度快、可扩展,是人类评审团做不到的,这正是它能放进训练回路的原因。它要到前沿模型强到偏好紧贴人类偏好时,才变得可行。Zheng et al. 直接给出了论据:一个强评判者与人类评分者的一致率,大致等同于两个人类彼此之间的一致率,而这正是让评判者足以充当替身的门槛 (Zheng et al. 2023)。

这个一致率是较乐观的一半。另一半是,评判者是一件有偏差的仪器,而整个设计都在围绕如何刻画并校正这种偏差。更糟的是,这种偏差并不止步于测量。后面的下层约束框会说明原因:给排行榜打分的那套成对协议,同时也在采集 第 19 章 里训练奖励模型所用的偏好数据,而一个奖励模型就是一个被冻结的模型作为评判者。一个推高排行榜、带冗长偏差的评判者,一旦蒸馏进奖励模型,就成了一份塑造行为、带冗长偏差的奖励。同一件仪器既评分又训练,所以把它的偏差校正好,其重要性是双重的。

四种偏差及其对策

四种偏差反复出现,每一种都对应一个模型可以学会去利用的属性 (Zheng et al. 2023):

  • 冗长偏差。 越长的答案得分越高,无论多出来的那段长度有没有带来信息。一个被天真地优化的评判者会奖励冗余内容。图 50.1 把这个陷阱画得很具体:在内容质量保持固定的前提下,一个公正的评判者本应报告一条平直的、各占一半的胜率,可有偏差的评判者的胜率却随长度攀升,而整段差距都是偏差,不是实质。Length-Controlled AlpacaEval 把这个偏差变成可操作的测量:如果模型答案与基线答案长度相同,偏好会是什么 (Dubois et al. 2024)?竞技场排行榜如今自带同一种校正:风格控制把长度与 Markdown 特征作为回归项加进 Bradley-Terry 拟合,开启之后排名随之移动 (Li et al. 2024)。
  • 位置偏差。 当评判者比较标为 A 和 B 的两个答案时,顺序会改变裁定。同一对答案,交换之后,胜者可能翻转 (Wang et al. 2023)。
  • 自我偏好偏差。 评判者偏袒来自自己模型家族的输出,于是用一个同门评判者去评分,会推高这个模型的分数。
  • 格式敏感性。 Markdown、标题、一句自信的收尾:表层形式会让分数偏离实质。

缓解手段各自直击一种偏差。对位置偏差,交换顺序、对两次裁定取平均,或者要求两种顺序都判一致才算分出胜者;Wang et al. 量化了一次交换能让裁定移动多少,这正是交换取平均成为标准协议的原因 (Wang et al. 2023)。对冗长偏差,对长度做归一化,或指示评判者把它打个折扣。对自我偏好偏差,用一个与受测模型不同家族的评判者,或者一个集成。在所有这些之上,优先用成对比较,而不是一个 1 到 10 的绝对打分:人类和评判者都更可靠地排得出两者孰优,而不是把一者放在一条抽象量表上,成对协议也就绕开了「7 分」到底意味着什么这个问题。用一份明确的评分准则(rubric)来锚定评判者,而不是含糊地问「哪个更好」,并在一个样本上对照人工标注,校准整套装置。图 50.2 把每一种偏差、一个模型可利用的属性、以及封住它的缓解手段一一对齐。

长度这个例子值得单独记住,因为它说明「去偏」到底该是什么意思。只在提示词里告诉评判者「不要偏好长答案」是不够的;度量必须估计一个受控条件下的裁定,至少也要报告裁定对长度的剩余依赖。这个逻辑同样适用于其他偏差:一个被校正的评判者,不是提示词里宣称自己公正的评判者,而是其裁定对位置、模型家族和表层格式的依赖已经被量过的评判者。

2026-06-21T23:29:57.344039 image/svg+xml Matplotlib v3.11.0, https://matplotlib.org/ 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 答案长度(相对固定质量基线) 0.5 0.6 0.7 0.8 0.9 1.0 评判者选择长答案的胜率 公正评判者(质量固定) 纯粹偏置
图 50.1. 冗长偏差的示意图:在内容质量固定的情况下,评判者给出的胜率随答案长度上升,仿照 Zheng et al. (2023)。虚线是质量不变时一个公正评判者本应报告的、各占一半的平直胜率,因此整段阴影差距都是偏差而非实质。
judge_bias b1 冗长偏差 e1 奖励冗余 b1->e1 b2 位置偏差 e2 奖励标签顺序 b2->e2 b3 自我偏好偏差 e3 奖励同门输出 b3->e3 b4 格式敏感性 e4 奖励表层形式 b4->e4 m1 归一化长度并打折扣 e1->m1 m2 交换顺序,对裁定取平均 e2->m2 m3 跨家族评判者或集成 e3->m3 m4 准则锚定,成对比较 e4->m4
图 50.2. 每一种评判者偏差都对应一个模型可学会利用的属性,以及封住它的缓解手段。格式偏差在这里没有专门的对策,准则锚定与成对比较是贯穿各处的通用防线。

还有两条实践细节值得单独列出 (Anthropic 2026)。给评判者一个退出选项(escape hatch):在证据不足以判断时,让它返回「未知」,而不是迫使它给出一个本来就没有的理由。再就是孤立地为每个准则维度打分,每个维度用各自独立的一次评判调用,而不是让一次调用同时给正确性、语气、完整性打分,因为一次调用会让某一轴上的强烈印象渗进其他轴。

从单次裁定到一个排名

单次成对裁定只能说明,在某个提示上两份回复谁赢了。竞技场式偏好排名把这件事扩展到对许多模型的全局排序。收集大量成对比较,每一个都是一张「在同一提示上回复 A 胜过回复 B」的投票,然后拟合一个能解释这些投票的评分。所用的拟合模型正是国际象棋用的那个,即每个模型一个 Elo 或 Bradley-Terry 潜在强度(从每个模型的胜负记录里推断出的一个隐藏实力数值)(Elo 1978; Bradley and Terry 1952),于是模型 ii 胜过模型 jj 的概率为

P(ij)=11+10(rjri)/400P(i \succ j) = \frac{1}{1 + 10^{(r_j - r_i)/400}}

其中 rir_i 是潜在评分。图 50.3 画出了这条曲线,它呈 S 形,因为两个评分接近时摆动最快,而随着差距拉大趋于一次几乎确定的胜利:评分相等的一对是一次抛硬币,而 400 分的刻度固定了斜率,于是一个 400 分的差距预示着大约 91% 的胜率。在所有记录在案的成对结果上做极大似然拟合,也就是挑出最能解释观测到的投票的那组评分,就能从一组稀疏、带噪的两两对决投票里复原出单一排名。

2026-06-21T23:29:56.302475 image/svg+xml Matplotlib v3.11.0, https://matplotlib.org/ -800 -600 -400 -200 0 200 400 600 800 评分差 r_i - r_j 0.0 0.2 0.4 0.6 0.8 1.0 模型 i 战胜模型 j 的概率 评分相同, 硬币正反面 400 分差距, 约 0.91
图 50.3. Bradley-Terry/Elo 胜率曲线的示意图,仿照 Elo (1978) 与 Bradley-Terry (1952)。模型 i 胜过模型 j 的概率是评分差距的一个逻辑斯蒂函数,由 400 分的 Elo 刻度设定斜率。
图 50.4. 胜率是评分差距的逻辑斯蒂函数。刻度设定斜率,于是 400 分的差距大约是 91% 的胜率。

投票既可来自人类,也可来自一个模型作为评判者,同一套机制服务两者。Chatbot Arena 把这种机制扩展到开放规模:一个公开平台,在真实场景中收集人类的成对投票,并发布一个实时 Elo 排行榜。它成了这个领域对「人们究竟更偏好哪个模型」的默认答案,因为输入不断更新,能抵抗标准答案式的污染 (Chiang et al. 2024)。MT-Bench 则相反,它用一个模型作为评判者取代人群,不过其标准协议是让评判者给每份回答打一个 1 到 10 的绝对分,而不是从成对投票里拟合排名 (Zheng et al. 2023)。

P 提示 A 模型 A 回复 P->A B 模型 B 回复 P->B J 评判者:交换顺序,取平均 A->J B->J V 成对投票 J->V E Bradley-Terry / Elo 拟合 V->E R 排名 E->R
图 50.5. 竞技场式排名:每个提示产出两份回复,一个位置交换的评判者投出一张成对票,对大量投票做 Bradley-Terry 或 Elo 拟合便复原出单一排名。

私有留出集的价值

第三件仪器,让另外两件保持可信。一个**私有测试集(private test set)**是一个自有的留出集:它从未出现在任何训练配比里、版本固定、访问受控、一旦泄露立刻轮换,并且规模大到足以给出可用信号。一个公开基准,则必须假定它随时间被污染,而事后检测这种污染的工具之所以存在,恰恰因为污染太常见 (Shi et al. 2023)。一个私有留出集只在它的完整性还成立时才可信,而这种完整性是持续维护出来的一个运维层面的属性,不是一次性的保证。

历史的走向,是逐渐离公开排行榜更远,哪怕这与领域内追逐公开数字的激励相反。随着已发布的基准不断饱和、被污染,从业者逐渐明白:能长期支持决策的数字,往往来自团队之外没人见过的集合。这个教训把留出原则从单一的训练/测试划分,推广成一种纪律:可信的测量,需要新鲜、自有、可轮换。

几组取舍

这三件仪器留下了几条团队必须取舍的轴,每个选择都要拿某样具体的东西去换:

  • 评判者成本与可靠性。 更强的评判者每个样本更可靠,也每个样本更贵;更便宜的评判者需要更多样本、更激进的偏差校正。成对比较加上位置交换,大致会让评判调用翻倍,但能实质性地提升可靠性。根据裁定会影响什么来选择这条曲线上的位置:一个发布决策值得用昂贵的协议,一次快速迭代则未必。
  • 评判者与人工。 评判者可扩展、可复现;人工是评判者据以验证的真值,但慢、贵,而且本身带噪到两个标注者也会有分歧 (Zheng et al. 2023)。可行的折中,是持续地用评判者把关,并周期性地对照一个人工样本校准它,绝不让评判者脱锚漂移。
  • 成对与绝对。 成对比较更可靠,也绕开了绝对分数的含义问题,但它给出的是一个排名而非一个校准过的数字,且比较次数随模型数目增长。绝对打分汇总起来更便宜,却更暴露于上面那每一种偏差。
  • 公开集与私有集。 公开基准便宜、可跨实验室比较、可复现,但会饱和、被污染。私有集能抵抗操弄、保持可信,但搭建和维护都需要投入,无法用于跨实验室比较的引用,而且在泄露的那一刻就衰减。
争议所在

模型作为评判者究竟算不算一件可靠的仪器,是真正悬而未决的。乐观一方立足于 Zheng et al. 测得的人类一致率,认为一个经过良好校准、带交换取平均与准则锚定的评判者,已足以为真实决策把关 (Zheng et al. 2023)。怀疑一方则认为,自我偏好与冗长偏差无法被完全校正,一个与受测模型共享预训练数据的评判者无法中立,而对着一个评判者去优化,等于把评判者的盲点写进模型里。这条分歧也贯穿竞技场排名:人类投票的竞技场能抵抗污染,却混入了答案长度、风格之类的混杂因子,由此得到的 Elo 究竟在度量能力,还是在度量一种呈现上的受欢迎程度,存在争议 (Chiang et al. 2024)。The Leaderboard Illusion 用一条有据可查的操弄路径,把这场争论推得更尖锐,而这条路径不需要任何固定答案集:未披露的多变体私测、只保留最好成绩(Meta 在 Llama-4 前后测了 27 个私有变体)、对投票数据的不对称获取,以及模型的静默下架,每一项都会使 Bradley-Terry 拟合产生偏差 (Singh et al. 2025)。平台运营方对其中的量级提出异议 (LMArena 2025),而这场争执本身就说明了问题:动态评估拿掉了可背诵的目标,采样与撤回政策就成了新的攻击面。稳妥的立场是:评判者是一个有用的代理,但它与人类的一致性必须按任务去测量,而不能假定。

PROT 成对、交换取平均、准则锚定的协议 J 模型作为评判者 PROT->J LB 排行榜分数 J->LB RM 奖励模型 J->RM 蒸馏,冻结 TRAIN 在 RLHF 中塑造模型行为 LB->TRAIN 同一偏差 RM->TRAIN
图 50.6. 一件有偏的仪器有两个输出。同一套成对、交换取平均、准则锚定的评判协议既给排行榜打分,又在被蒸馏进奖励模型后塑造模型行为,于是评判者的盲点同时成为一个测量误差与一个训练信号。
下层约束

后训练阶段会向上约束评判者的工作。在 第 19 章 里训练奖励模型所用的偏好数据,正是用这里所述的那套成对、位置交换、准则锚定的协议采集来的,而一个奖励模型本身就是一个被冻结的模型作为评判者。所以这里罗列的偏差不只是一个评估层面的关切:一个给排行榜打分、带冗长偏差的评判者,一旦蒸馏进一个奖励模型,就是一份塑造模型行为、带冗长偏差的奖励。同一件仪器既评分又训练,这正是校正偏差更重要的原因,正如 图 50.6 所勾画的。

搭建评判者

一次评判调用,是一个带评分契约的提示工程问题。成对模板给出提示和两份回复,固定评分准则,要一个分维度的裁定加一个胜者,并在交换回复后跑两次;一个包装器对两次取平均,并把两次原始裁定都记下来以备审计。让评分准则明确、维度彼此分离,并固定评判者的模型版本,因为一次评判者升级会悄无声息地把每个分数重新设定基线,破坏与过往运行的可比性,方式和一次基准版本变更如出一辙。

排名拟合很小。给定一张成对结果表,用极大似然拟合一个 Bradley-Terry 模型,也就是挑出最能解释观测到的投票的那组评分,那不过是在胜负指示变量上做几行逻辑回归 (Bradley and Terry 1952),再用对投票重采样得到的自助置信区间(把记录在案的投票反复重采样多次,看评分会抖动多少)来报告评分。一个没有区间的评分不足为信:在一个稀疏的投票矩阵下,单个模型排名的不确定性可以跨好几个位次,而两个落在彼此区间之内的模型,数据并没有把它们分开。第 48 章 里讲的统计纪律在这里同样成立,只不过样本从精确匹配题变成了一张张偏好票。

运行这段代码,看拟合如何仅凭模拟的两两对决投票就复原出四个隐藏的评分,并确认一个 400 分的差距给出曲线所承诺的大约 91% 的胜率。

import numpy as np
import matplotlib.pyplot as plt
rng = np.random.default_rng(0)
true_r = np.array([1500., 1400., 1300., 1200.])    # 隐藏的潜在评分
p_win = lambda a, b: 1/(1 + 10**((b - a)/400))     # Bradley-Terry / Elo 曲线
n, games = len(true_r), 300
wins = np.array([[0 if i == j else rng.binomial(games, p_win(true_r[i], true_r[j]))
                  for j in range(n)] for i in range(n)], float)
r, s = np.zeros(n), 400/np.log(10)                 # 极大似然:最能解释投票的那组评分
for _ in range(500):
    P = 1/(1 + np.exp(np.clip((r[None, :] - r[:, None])/s, -30, 30)))
    r += 0.5*((wins*(1 - P)).sum(1) - (wins.T*P).sum(1)); r -= r.mean()
r += true_r.mean()
print("400 分差距的胜率:", round(p_win(400, 0), 3))
print("恢复值:", np.round(r).astype(int), " 真实值:", true_r.astype(int))
plt.bar(np.arange(n) - .2, true_r, .4, label="真实")
plt.bar(np.arange(n) + .2, r, .4, label="从投票恢复")
plt.ylim(1100, 1560); plt.ylabel("评分"); plt.xlabel("模型"); plt.legend(); plt.show()

私有集是一项带运维契约的资产。它绝不能进入一个训练配比,所以它携带金丝雀字符串,以便日后检测它有没有泄露过 (Shi et al. 2023),它版本固定、访问受控,并在发现泄露时轮换。尽早搭建它,而且从真实失败里取材,也就是缺陷追踪系统和支持工单队列,因为从模型实际出错的地方挖出来的二十到五十个任务,胜过数百个合成任务,何况评估拖得越久才写,就越难被逆向工程 (Anthropic 2026)。无论分数如何,在有人复核记录之前,都别按表面价值采信它:一个悄悄拒掉合理答案的评判者,或一个被污染的数字,能被当成真实信号发布出去,只因为没有人做过复核。

延伸阅读

  • Zheng et al., “Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena,” 2023. arXiv:2306.05685
    本文提出 MT-bench 和 Chatbot Arena 两个基准,验证大语言模型作为评判者的方法,证明 GPT-4 与人类偏好的一致率超过 80
  • Wang et al., “Large Language Models are not Fair Evaluators,” 2023. arXiv:2305.17926
    本文揭示大语言模型作为评判者(LLM-as-judge)时存在严重的位置偏差,交换候选回复顺序会导致 GPT-4 和 ChatGPT 翻转评判结果,并提出三种校准策略加以缓解。
  • Dubois et al., “Length-Controlled AlpacaEval: A Simple Way to Debias Automatic Evaluators,” 2024. arXiv:2404.04475
    Length-Controlled AlpacaEval 在长度差为零的反事实条件下估计评判偏好,从而降低冗长偏差,并提升与 Chatbot Arena 排名的相关性。
  • Chiang et al., “Chatbot Arena: An Open Platform for Evaluating LLMs by Human Preference,” 2024. arXiv:2403.04132
  • Singh et al., “The Leaderboard Illusion,” 2025. arXiv:2504.20879
    记录了 Chatbot Arena 排名的系统性失真:未披露的多变体私测与选择性撤回分数、偏向大厂的数据获取不对称,以及模型的静默下架,每一项都会使 Bradley-Terry 拟合产生偏差。
  • Liang et al., “Holistic Evaluation of Language Models” (HELM), 2022. arXiv:2211.09110
    HELM 在标准化条件下,对 30 个大语言模型(LLM)在 42 个场景和 7 项指标(准确率、校准度、鲁棒性、公平性、偏见、毒性、效率)上进行整体评测,以提升评估透明度。
  • Shi et al., “Detecting Pretraining Data from Large Language Models,” 2023. arXiv:2310.16789
  • Anthropic, “Demystifying Evals for AI Agents,” 2026. anthropic.com

评论

登录后评论