评估是任何严谨机器学习流水线的支柱,但它或许是大语言模型开发中最被低估的组成部分。与经典监督学习不同——在那里,带有真实标签的留出测试集能提供干净的信号——评估 LLM 需要应对开放式生成、主观质量判断、多步推理链,以及无处不在的基准污染风险。本节系统性地梳理评估领域的全景:从评估类型的分类法、人工标注的机制,到排序指标的数学原理与 LLM-as-judge 的实操要点,再到那些悄无声息地腐蚀评估流水线的陷阱。

评估方案设计

在收集任何一个数据点之前,从业者必须先决定要测量什么以及如何测量。一套有原则的分类法能避免一个常见错误:仅凭便利性而非与部署目标的对齐性来选择指标。

评估类型分类法

内在(Intrinsic)评估孤立地度量模型输出的性质,不参照下游应用。留出语料上的困惑度、相对参考译文的 BLEU 分数、编码基准上的 pass@k,都属于内在评估。外在(Extrinsic)评估则度量模型对真实任务或系统的影响:将 LLM 接入客服流水线后,工单升级率是否下降?编码助手是否提升了开发者的开发速度?

自动评估使用确定性函数(BLEU、精确匹配)或学习得到的模型(BERTScore、LLM-as-judge),无需人工参与即可对输出打分。人工评估则由标注者对模型输出进行打分或排序。表 表 14.1 总结了二者的权衡。

类型成本速度可复现性效度
自动(基于规则)极低极快完美低–中
自动(基于模型)低快高中–高
众包人工中数天中中
专家人工高数周低–中高
外在 / A/B 测试极高数月低极高

表 14.1:评估方法分类法及其关键权衡。

基于参考的指标(BLEU、ROUGE、BERTScore)将模型输出与一个或多个金标准参考进行比较。无参考指标(困惑度、LLM-as-judge、人类偏好)则无需参考即可评估质量。当输出空间过大、无法穷尽收集参考时(例如开放式对话),无参考方法是必不可少的。

何时使用何种方法

一个实用的决策框架:

  • 若任务有明确正确答案(数学、代码、事实型问答):使用精确匹配或基于执行的指标。
  • 若任务是开放式的但存在参考输出:使用基于参考的指标作为下界,并辅以 LLM-as-judge。
  • 若任务是主观的(有用性、语气、创造性):使用人工评估或经过良好校准的 LLM 评判者。
  • 若任务涉及多步 Agent 行为:使用任务成功率与轨迹效率(第 14.6 Agent 任务的指标 节)。

评估数据采集

高质量的评估数据是可信基准的基础。本节涵盖人工标注流水线的设计、标注质量的统计度量,以及在众包与专家标注之间如何取舍。

人工标注流水线

一条健壮的标注流水线包含五个阶段:

  1. 任务定义。精确说明标注任务:评分对象是什么、采用何种量表、依据哪些标准。此阶段的歧义会传导为带噪标签。
  2. 规范编写。撰写标注规范,并配以覆盖边界情形的详细示例。在全面部署前先用小规模试点组反复打磨。
  3. 标注者招募与培训。选择具备相应背景知识的标注者。组织一次校准会议,让标注者标注相同样本并讨论分歧。
  4. 质量控制。在标注队列中嵌入带已知标签的金标样本。对在金标样本上准确率低于阈值的标注者进行标记。
  5. 聚合。使用多数投票、平均,或概率模型(如 Dawid–Skene)来合并每条样本的多次标注。

标注者间一致性

原始一致率(所有标注者达成一致的样本比例)是一个不充分的度量,因为它没有考虑偶然一致。两个标准的偶然性修正度量是 Cohen’s κ[60](两位标注者)和 Fleiss’ κ[92](多位标注者)。

给定两位标注者将 N 个样本标注为 k 个类别,令 po 为观察到的一致率,pe 为独立性假设下的期望一致率:

κ=po−pe1−pe(14.1)

其中

po=1N​∑i=1N𝟏​[annotator 1 agrees with annotator 2 on item ​i](14.2)

以及

pe=∑c=1kp1​c⋅p2​c(14.3)

其中 pj​c 是标注者 j 将样本判为类别 c 的比例。Cohen’s κ 的取值从 −1(完全不一致)经 0(偶然一致)到 1(完全一致)。一般认为 0.6 以上可以接受;0.8 以上为强一致。

对于 n 位标注者将 N 个样本标注为 k 个类别,令 ni​j 为将样本 i 标注为类别 j 的标注者人数。定义:

P¯i=1n⁡(n−1)​∑j=1kni​j​(ni​j−1),P¯=1N​∑i=1NP¯i(14.4)
P¯je=1N​n​∑i=1Nni​j,Pe=∑j=1k(P¯je)2(14.5)
κF=P¯−Pe1−Pe(14.6)

标注规范设计

有效的标注规范共享若干特征:

  • 可操作的标准。用具体、可观察的行为替换诸如“有帮助”之类的模糊措辞:“回答直接回应用户的问题,并提供完成所述任务所需的全部信息。”
  • 详细示例。每个评分等级至少提供两个示例,其中包括边界情形。
  • 决策树。对于复杂任务,用一张引导标注者依次作出二元判断的流程图可降低认知负荷并提升一致性。
  • 明确范围。说明标注者不应考虑的因素(例如:“不要因风格偏好而扣分;只关注事实准确性”)。

众包标注与专家标注

维度众包专家标注
每条样本成本低(0.01−−0.10)高(1−−50)
吞吐量极高低
领域知识低高
一致性可变高
适用任务简单偏好、流畅度技术准确性、安全性
平台MTurk、Prolific、Scale AI领域专家、内部团队
质量控制金标样本、注意力检查校准会议、同行评审

表 14.2:LLM 评估中众包标注与专家标注的比较。

对于安全关键型评估(例如检测有害输出、评估医疗建议),专家标注不可替代。对于大规模偏好收集(例如构建奖励模型训练集),带严格质量控制的众包往往是唯一可行的选择。

评估用合成数据生成

人工标注昂贵且缓慢。合成数据生成利用 LLM 自身大规模产出评估数据。本节涵盖主要的范式。

用于校准的 LLM-as-Judge

使用 LLM 生成评估标签时,校准至关重要:评判者的分数必须与人类判断对齐。令 hi∈[0,1] 为样本 i 的人类偏好分数,h^i 为评判者的预测分数。校准误差由期望校准误差(ECE)[124] 度量:

ECE=∑b=1B|Bb|n​|acc​(Bb)−conf​(Bb)|(14.7)

其中 Bb 是第 b 个置信度分箱,acc​(Bb) 是该分箱中评判者与人类一致样本所占的比例,conf​(Bb) 是该分箱中评判者置信度的均值。

一个校准良好的评判者对任意 p∈[0,1] 都满足 𝔼⁡[h^i∣h^i=p]=p。校准可以通过温度缩放改善:将评判者的原始 logit z 替换为 z/T,其中 T 在留出校准集上调优,以最小化负对数似然。

Self-Instruct

Self-Instruct [371] 从一小批人工编写的种子任务中自举出指令遵循数据。算法如下:

  1. 维护一个初始包含 175 个种子任务的任务池。
  2. 从任务池中采样 8 个任务;将它们作为 few-shot 示例提示 LLM 生成新任务。
  3. 过滤生成的任务:去除近似重复项(与任何已有任务的 ROUGE-L 相似度 >0.7),将其分类为分类任务或非分类任务,并生成输入—输出实例。
  4. 将接受的任务加入任务池。
  5. 重复直至达到期望的任务池规模。

Evol-Instruct

Evol-Instruct [398] 通过迭代改写指令使其更复杂或更多样,从而演化种子指令集。它应用两种演化算子:

  • 深度演化:增加约束、增加推理步数、把抽象具体化、加深领域知识要求。
  • 广度演化:围绕相关但不同的主题生成新指令,提升主题多样性。

指令只有在通过淘汰过滤器后才会被接受:演化后的指令不能是简单的复制,不能包含“I’m sorry”或类似的拒绝措辞,且不能比原指令更短。

Constitutional AI 数据生成

Constitutional AI(CAI)[16] 通过让模型依据一组原则(即“宪法”)批判并修订自身输出,来生成偏好数据。流水线如下:

  1. 监督学习阶段:采样一个有害 Prompt,生成初始回答,然后提示模型依据一条宪法原则批判该回答并加以修订。将修订后的回答用作监督微调的目标。
  2. RL 阶段:生成成对的回答(原始 vs. 修订后),用模型标注哪一条更符合宪法,并在这些标注上训练偏好模型。将该偏好模型用作 RLHF 的奖励信号。

该方法无需人工标注有害内容即可生成偏好数据,减少了标注者接触令人痛苦材料的风险。

评估数据的蒸馏

一个强大的教师模型(如 GPT-4)可以为训练更小的评判模型生成高质量评估数据。蒸馏流水线如下:

  1. 收集一组多样化的 Prompt 与模型回答。
  2. 用教师生成详尽的判断(分数 + 理由)。
  3. 在(prompt, response, judgment)三元组上微调一个更小的模型。
  4. 用留出的人工标注验证学生评判者。

Arena 风格的成对生成

Chatbot Arena [433] 通过一个众包对战平台生成评估数据:用户提交 Prompt,并对两个匿名模型回答中自己更偏好哪一个进行投票。由此产生大规模、自然多样化的成对偏好数据集。关键设计选择包括:

  • 匿名化:隐藏模型身份以防止品牌偏差。
  • 用户提交的 Prompt:确保 Prompt 的多样性与真实世界相关性。
  • 平局处理:用户可以判定平局,或表示两个回答都不好。
  • 去重:过滤近似重复的 Prompt,以防常见查询被过度代表。

排序任务的指标

当目标是对模型按质量排序时,成对比较数据比绝对分数更可靠。本节推导 LLM 评估中使用的主要排序系统。

ELO 评分系统

ELO 系统 [84] 最初为国际象棋开发,它为每位选手(模型)赋予一个标量评分 R,使得选手 A 对选手 B 的期望得分为:

EA=11+10(RB−RA)/400(14.8)

ELO 模型假设每位选手在某局比赛中的表现是一个服从逻辑斯谛分布(logistic distribution)、中心位于其评分的随机变量。A 击败 B 的概率为:

P⁡(A≻B)=σ⁡(RA−RBs)=11+e−(RA−RB)/s(14.9)

其中 s=400/ln⁡(10)≈173.7 是尺度参数,其取值使得 400 分的分差对应 10:1 的胜算比(odds ratio)。每局比赛结束后,依据结果 SA∈{0,0.5,1}(负、平、胜)更新评分:

RA←RA+K⁡(SA−EA),RB←RB+K⁡(SB−EB)(14.10)

其中 K 是控制学习率的 K 因子。在 Chatbot Arena 中,K=4 被采用。

由于 ELO 评分依赖于比赛的处理顺序,置信区间通过自举重采样计算:对对战日志进行有放回重采样 B=1000 次,对每个重采样从头重新计算 ELO 评分,并报告第 2.5 与第 97.5 百分位数作为 95% 置信区间。

Bradley–Terry 模型

Bradley–Terry(BT)模型 [29] 是 ELO 的极大似然替代方案。给定 n 个强度参数为 β1,…,βn>0 的模型,模型 i 击败模型 j 的概率为:

P⁡(i≻j)=βiβi+βj(14.11)

给定一组成对结果 {(ik,jk,yk)}k=1M,其中当 ik 击败 jk 时 yk=1,否则为 yk=0,对数似然为:

ℓ⁡(𝜷)=∑k=1M[yk​log⁡βikβik+βjk+(1−yk)​log⁡βjkβik+βjk](14.12)

MLE 𝜷^ 通过迭代缩放或梯度上升求得。BT 模型仅在相差一个乘性常数意义下可辨识;常用的归一化是 ∑ilog⁡βi=0。在 log 空间中以 θi=log⁡βi 表示可得:

P⁡(i≻j)=σ⁡(θi−θj)(14.13)

这等价于一个带样本特定截距的逻辑斯谛回归。当完整的对战历史可用时,BT 模型优于 ELO,因为它同时利用全部数据,而不是逐局顺序处理。

TrueSkill

TrueSkill [138] 是一种贝叶斯技能评分系统,它将每位选手的技能建模为高斯随机变量 si∼𝒩⁡(μi,σi2)。选手 i 在某局比赛中的表现为 pi=si+ϵi,其中 ϵi∼𝒩⁡(0,β2) 是比赛特定的噪声。若 pi>pj,则选手 i 击败选手 j。

观测到 i≻j 之后的后验更新通过期望传播(EP)计算。针对获胜者的关键更新方程为:

μi←μi+σi2c⋅v⁡(μi−μjc)(14.14)
σi2←σi2​[1−σi2c2⋅w⁡(μi−μjc)](14.15)

其中 c=2​β2+σi2+σj2,而 v⁡(t)=ϕ⁡(t)/Φ⁡(t)、w⁡(t)=v⁡(t)​(v⁡(t)+t) 是截断高斯修正因子(ϕ 与 Φ 分别是标准正态分布的 PDF 与 CDF)。TrueSkill 的不确定性估计 σi 对于识别需要更多评估数据的模型尤为有用。

带置信区间的胜率

最简单的排序指标是胜率:在成对比较中模型 A 被偏好的比例。给定 n 次比较中有 w 次获胜,胜率为 p^=w/n。Wilson 得分置信区间 [380] 优于朴素的 Wald 区间,因为它在 p=0 与 p=1 附近有更好的覆盖率:

CI=p^+z22​n±z​p^​(1−p^)n+z24​n21+z2n(14.16)

其中 z=1.96 对应 95% 区间。对于多方比较,胜率应针对一个固定基线模型计算,以确保可比性。

Chatbot Arena 方法论

Chatbot Arena [433] 将上述要素组合成一个生产规模的评估系统:

  1. 用户提交 Prompt,并从两个匿名模型获得回答。
  2. 用户投票选出更偏好的回答(或判定平局)。
  3. 用 BT 模型聚合投票以生成排行榜。
  4. 为每个模型的分数报告自举置信区间。
  5. 置信区间重叠的模型被视为在统计上无法区分。

截至 2024 年,Chatbot Arena 已收集超过一百万条人类偏好投票,是最大的公开可用 LLM 偏好数据集。

生成任务的指标

生成指标用于量化在具有参考答案或明确正确性标准的任务上模型输出的质量。

BLEU

BLEU(Bilingual Evaluation Understudy)[283] 度量假设 h 与一个或多个参考 ℛ 之间的 n-gram 精确率:

BLEU=BP⋅exp⁡(∑n=1Nwn​log⁡pn)(14.17)

其中 pn 是修正后的 n-gram 精确率,wn=1/N 是均匀权重,BP 是长度惩罚(brevity penalty):

BP={1if ​|h|>|r|e1−|r|/|h|if ​|h|≤|r|(14.18)

其中 |r| 是最接近参考的长度。修正的 n-gram 精确率将每个 n-gram 的计数截断到其在任一参考中的最大计数:

pn=∑ngram∈hmin⁡(count​(ngram,h),maxr∈ℛ⁡count​(ngram,r))∑ngram∈hcount​(ngram,h)(14.19)

ROUGE

ROUGE(Recall-Oriented Understudy for Gisting Evaluation)[217] 是一族面向摘要、以召回率为导向的指标:

其中 LCS 表示最长公共子序列。ROUGE-1 与 ROUGE-2 度量 unigram 与 bigram 召回率;ROUGE-L 捕捉句子级结构。F-measure 变体则平衡精确率与召回率:

ROUGE-NF=(1+β2)⋅P⋅Rβ2​P+R(14.22)

其中 β=1 表示等权重。

BERTScore

BERTScore [426] 使用预训练 BERT 模型的上下文嵌入计算 token 级相似度。给定假设 token 𝐱^=⟨x^1,…,x^m⟩ 与参考 token 𝐱=⟨x1,…,xn⟩,其嵌入分别为 𝐞^i 与 𝐞j:

BERTScore 与人类判断的相关性优于 BLEU 和 ROUGE,尤其是对于改写以及语义等价但用词不同的输出。使用逆文档频率(IDF)进行重要性加权可进一步提升相关性:

RBERTidf=∑xj∈𝐱idf​(xj)​maxx^i⁡cos⁡(𝐞^i,𝐞j)∑xj∈𝐱idf​(xj)(14.26)

METEOR

METEOR [19] 通过对 unigram 匹配计算 F-score 来解决 BLEU 的召回盲区,并配有词干化与同义词匹配等额外模块:

METEOR=Fmean⋅(1−Pen)(14.27)

其中 Fmean=10​P​RR+9​P(召回率加权的调和平均),而碎片化惩罚 Pen=0.5⋅(c/um)3 会惩罚非连续的匹配(c = 片段数,um = 匹配的 unigram 数)。

困惑度(Perplexity)

困惑度度量语言模型对留出文本序列 w1,w2,…,wT 的预测能力:

PPL(w1:T)=exp(−1T∑t=1TlogPθ(wt∣w1:t−1))(14.28)

困惑度越低表示预测性能越好。困惑度适用于在相同分词与测试集上比较模型,但对于词表或分词器不同的模型并不可直接比较。就评估而言,困惑度最有价值的用途是作为健全性检查以及检测分布漂移。

代码任务的 Pass@k

对于代码生成,功能正确性通过将生成的代码在测试用例上执行来衡量。pass@k 指标 [47] 估计 k 个生成样本中至少有一个通过全部测试的概率:

pass@​k=𝔼problems​[1−(n−ck)(nk)](14.29)

其中 n 是每个问题生成的样本总数,c 是通过的样本数。这个无偏估计量避免了朴素估计量的高方差(朴素做法是恰好采样 k 个解并检查是否有任何一个通过)。实践中会生成 n=200 个样本,并报告 pass@1、pass@10、pass@100。

精确匹配与 F1

对于抽取式问答(例如 SQuAD),两个标准指标是:

  • 精确匹配(EM):在归一化(转为小写、去除冠词与标点)之后,预测答案字符串是否与任一金标答案完全一致的二元指示量。
  • Token 级 F1:将预测与金标答案视为 token 袋,并计算 F1 分数:F​1=2⋅|pred∩gold||pred|+|gold|(14.30)

在多答案设置中,报告对全部金标答案取得的最大 F1。

指标任务是否需要参考?与人类判断的相关性
BLEU翻译否低–中
ROUGE摘要否中
BERTScore通用 NLG否高
METEOR翻译否中–高
困惑度语言模型质量是低
Pass@k代码生成否(测试)极高
精确匹配抽取式问答否极高
Token F1抽取式问答否高

表 14.3:生成指标汇总:适用性与关键性质。

Agent 任务的指标

Agentic LLM 在环境中运行、执行动作序列,并且必须完成多步任务。标准的生成指标并不充分;面向智能体的评估需要能够刻画任务完成度、效率以及中间步骤质量的指标。

任务成功率

智能体任务的首要指标是任务成功率(TSR):智能体达成既定目标状态的任务所占比例:

TSR=1|𝒯|​∑τ∈𝒯𝟏​[goal​(τ)​ achieved](14.31)

目标达成通常由确定性的 oracle 验证(例如检查数据库状态、文件系统状态或测试用例执行结果)。对于支持部分得分的任务,可以定义分级成功指标:

TSRgraded=1|𝒯|​∑τ∈𝒯score​(τ)∈[0,1](14.32)

轨迹效率

成功的智能体(Agent)应在尽量少的非必要动作下完成任务。轨迹效率衡量最优轨迹长度与智能体实际轨迹长度之比:

η=L∗Lagent(14.33)

其中 L∗ 是最短成功轨迹的长度(由 oracle 或人类专家计算),Lagent 是智能体采取的动作数。η∈(0,1],η=1 表示达到最优效率。对于失败的轨迹,η=0。

一个互补指标是 冗余率(redundancy rate):即未出现在任何最优轨迹中的智能体动作所占比例。

工具调用准确性

对于调用外部工具(API、代码解释器、搜索引擎)的智能体,工具使用准确率衡量工具调用的正确性:

TUA=# correct tool calls# total tool calls(14.34)

一次工具调用正确需满足:(a) 选中了正确的工具,(b) 参数有效,(c) 调用发生在轨迹中恰当的位置。对于工具选择正确但参数有误的情况,可以给予部分得分。

多步推理准确性

对于需要推理链的任务(例如多跳问答、数学问题求解),步骤级准确率衡量正确推理步骤所占比例:

SRA=1|𝒯|​∑τ∈𝒯1|Sτ|​∑s∈Sτ𝟏​[s​ is correct](14.35)

其中 Sτ 是轨迹 τ 中推理步骤的集合。步骤正确性可由过程奖励模型(PRM)或人工标注来验证。

SWE-bench 方法论

SWE-bench [169] 在真实软件工程任务上评估 LLM:给定一个 GitHub issue 描述与仓库代码库,模型必须生成解决该 issue 的 patch。评估流程如下:

  1. 将 issue 描述与相关代码上下文提供给模型。
  2. 模型生成一个 patch(统一 diff 格式)。
  3. 将 patch 应用到仓库。
  4. 执行仓库的测试套件;若全部测试通过,则任务成功。

主要指标为 % Resolved:生成的 patch 能通过全部测试的 issue 所占比例。SWE-bench Verified 是一个经过人工标注者验证为可解且无歧义的 500 题精选子集。SWE-bench Lite 则是一个 300 题的子集,专为更快的评估而设计。

WebArena 方法论

WebArena [440] 在沙箱浏览器环境中,以贴近真实的网页导航任务评估智能体。该基准包含跨五个 Web 应用(电商、社交论坛、协作开发、内容管理与地图)的 812 个任务。评估方式:

  • 功能性评估:通过检查应用状态来验证任务结果(例如“商品是否已加入购物车?”“帖子是否已创建?”)。
  • 基于 URL 的评估:对于导航任务,将最终 URL 与期望 URL 进行比较。
  • 基于程序的评估:由自定义评估脚本检查复杂条件(例如“价格是否小于 $50?”)。

主要指标是任务成功率。人类表现约为 78%;当前最先进的智能体约为 35–45%。

基准领域任务数评估方式SOTA(%)
SWE-bench软件工程2,294测试执行∼43
SWE-bench Lite软件工程300测试执行∼50
WebArena网页导航812状态/URL/程序∼40
ALFWorld [329]家居任务3,553仿真器状态∼90
AgentBench [230]多领域1,091任务特定∼45

表 14.4:智能体评估基准对比。

LLM-as-Judge

LLM 作为评判者(LLM-as-judge)[433] 使用一个能力强的 LLM 来评估其他(或同一个)LLM 的输出。该方法无需人工标注就能扩展到大规模评估集合,并能为其判断提供详尽的理由。

设置与 Prompt 模板

评判者会收到一个 Prompt、一个或多个模型回答,以及一份评估细则。常见的三种格式:

评判者对单个回答给出绝对分数:

评判者比较两个回答并选出更优者:

评判者会获得一个参考答案,并据此对回答进行打分。这对于评判者本身可能缺乏可靠知识的事实型任务尤其有用。

位置偏置的缓解

LLM 评判者会表现出 位置偏置(position bias):系统性地偏好出现在特定位置(首位或末位)的回答。此偏置可能高达 10–15 个百分点。缓解策略:

  1. 交换增强:对每一对回答都以两种顺序(A vs. B 与 B vs. A)进行评判。判断一致则采纳;判断不一致则记为平局。
  2. 校准式 Prompt:显式指令评判者:“你的评估不应受到回答呈现顺序的影响。”
  3. 评判者集成:使用多个评判者并配以不同的位置顺序,再聚合其裁决。
  4. 强制思维链:要求评判者在给出裁决前先产出详尽理由,以降低对表层位置线索的依赖。

多评判者面板

单一评判者可能带有系统性偏置。来自不同模型家族的评判者面板能提供更稳健的评估。给定 J 位评判者,其裁决为 v1,…,vJ∈{A,B,tie},面板裁决由多数投票决定。面板一致率为:

Agreement=1(J2)∑i<j𝟏[vi=vj](14.36)

对于三人评判者面板,一致裁决(三人全部同意)视为高置信度;2–1 分裂视为中置信度;三方平局视为低置信度。

LLM 评判者的一致性指标

为验证 LLM 评判者,需将其裁决与留出集上的人工标注进行比较。关键指标:

  • 一致率:评判者与人类判断一致的条目所占比例。
  • Cohen 的 κ:经机会校正的一致性(式 )。
  • Spearman 的 ρ:评判者分数与人类分数之间的秩相关,适用于有序评分。
  • Kendall 的 τ:另一种秩相关,对并列情况更稳健。

若评判者在具有代表性的样本上相对人工标注者达到 κ>0.6,且一致率为 >80%,则认为该评判者可靠。

G-Eval 框架

G-Eval [232] 是一个基于 LLM 的结构化评估框架,它使用思维链 Prompt 与 Token 概率加权来产生更可靠的分数。该框架:

  1. 生成评估步骤:让 LLM 为评估任务生成详细的评估细则(例如“列出你会用来评估摘要连贯性的步骤”)。
  2. 基于概率加权打分:对每个分数取值 s∈{1,2,3,4,5},从评判者模型获取对数概率 log⁡Pθ​(s∣prompt, steps, response)。最终分数为概率加权平均:G-Eval score=∑s=15s⋅elog⁡Pθ​(s)∑s′=15elog⁡Pθ​(s′)(14.37)
  3. 归一化:用最大分数相除,把分数映射到 [0,1]。

相比直接 Prompt,G-Eval 与人类判断的相关性更高,对于连贯性与一致性这类细微维度尤其如此,因为概率加权捕捉的是评判者的不确定性,而不是强行做出离散选择。

评估陷阱

即便精心设计的评估流水线也可能产生误导性结果。本节梳理最常见的失败模式。

基准污染

基准污染(Benchmark Contamination)指评估数据出现在模型训练集中,无论是直接出现(逐字包含)还是间接出现(改写或语义相似的内容)。被污染的模型会获得虚高的分数,这些分数并不反映真实的泛化能力。

  • n-gram 重叠:计算与训练语料高度 n-gram 重叠(例如 ROUGE-L >0.8)的评估样本所占比例。
  • 成员推断:使用成员推断攻击来估计每个评估样本曾出现在训练集中的概率。
  • 金丝雀串:在评估样本中嵌入唯一的随机生成字符串,并检查模型能否补全它们。
  • 时间留出:使用在模型训练截止日期之后创建的评估数据。
  • 维护一个从不公开发布的私有测试集。
  • 定期用新样本刷新基准。
  • 报告训练数据截止日期与去污染流程。

对基准的过拟合

即便没有直接污染,模型也可能通过反复评估与超参数调优被隐式地针对特定基准优化。这是自适应过拟合的一种形式:基准把信息泄漏进了模型开发决策。

评估中的 Goodhart 定律

古德哈特定律(Goodhart's Law)指出:“当一种度量成为目标时,它就不再是一种好的度量。”[112] 在 LLM 评估中,这有多种表现:

  • 奖励作弊(reward hacking):用 RLHF 训练的模型会学会利用奖励模型,而不是真正地改进。模型可能学会生成冗长、听起来自信、在奖励模型上得分很高但事实上错误的回答。
  • 指标博弈:为最大化 BLEU 或 ROUGE 而微调的模型,可能产生在这些指标上得分很高但对人类不太有用的输出。
  • 评判者博弈:使用 LLM 作为评判者反馈训练的模型,可能学会评判者的偏置(例如冗长偏置),而不是真正提升质量。

其他陷阱

评估 Prompt 的细微改动(例如加入“Think step by step”或改变答案格式)都可能让 LLM 的表现出现剧烈变化。务必报告所用 Prompt 的确切内容,并考虑在多个 Prompt 变体上进行评估。

对不同难度与分数分布的任务求分数平均,可能产生误导性的聚合指标。在简单任务上表现出色但在困难任务上失败的模型,其平均分可能与表现均匀的模型相同。

人工评估者并不是最终用户的随机样本。众包平台上的标注者在偏好、文化背景与领域知识上可能与目标用户群体不同。

评估 Prompt 往往比真实用户查询更短、更整洁、更规范。在基准 Prompt 上表现良好的模型,在生产环境中出现的含噪、歧义、多轮对话上可能显著退化。