第11讲 · 用评测驱动 NLP 与 LLM 的进步

对应讲次:第11讲(Stanford CS224N 自然语言处理)

制作模型:deepseek-flash(vb compose,据 run.log)

CS224N 第 11 讲:Benchmarking & Evaluation(评测与基准)

本讲信息 - 视频:Stanford CS224N: NLP with Deep Learning | Spring 2024 | Lecture 11 - Benchmarking by Yann Dubois(时长约 84 分钟) - 讲者:Yann Dubois(斯坦福大学博士生,导师为 Tatsunori Hashimoto 与 Percy Liang) - 课程:CS224N / Ling284: Natural Language Processing with Deep Learning,斯坦福大学 - 官方课件:本讲配套幻灯片为 Lecture 11: Evaluation(cs224n-2026-lecture11-evaluation.pdf),署名讲者为 Yejin Choi - 版权说明:课程、讲义与幻灯片版权归 Stanford University 及 CS224N/Ling284 课程团队与讲者所有。本次提供的课件文本未标注具体许可协议,详见文末「已知疑点」。 - 本书性质:本书是对该堂课堂口语记录的中文书面重构,含少量明确标注的编者补充,不是官方教材。


导览

① 这一讲,讲者真正想回答的问题(按他自己的顺序)

  1. 我们为什么需要评测? 为什么"测量性能"这件事,在训练、开发调参、模型选型、上线部署、以及发表论文这五个阶段,需要的是五种不同的度量?
  2. 封闭式任务(分类、抽取式问答)该怎么评?它本质上"就是标准机器学习",可为什么仍然经常被评错?
  3. 开放式生成任务(摘要、翻译、对话)根本没有可枚举的正确答案,该怎么办?BLEU、ROUGE 这类词面重合指标,到底错在哪里?
  4. 当"参考"本身就不可靠时,还应该继续依赖它吗?我们能不能干脆不要参考?
  5. 人类评测被公认为黄金标准,为什么做起来这么难?
  6. 既然难,能不能让 LLM 来当评委?它靠谱吗?
  7. 今天人们实际上是怎么评大模型的?这些主流做法各自漏掉了什么?
  8. 最后:评测方法有哪些系统性缺陷,以及为什么我们明知有缺陷却改不动?

② 读者可能带着的疑问(编者预判,与上面那组不要混淆)

③ 难点在哪

④ 本讲路线

讲者先建立一个框架——不同阶段需要不同性质的度量——然后沿着"封闭式任务 → 开放式任务 → 人类评测 → Chatbot Arena → LLM 当评委 → 当前 LLM 的三条主流评测路径"这条线走下来,最后集中讲三大挑战:一致性、数据污染、偏差与单一文化,并以一句非常实用的话收尾:别相信数字,去看你的输出。


1. 为什么要评测:一条开发流水线上的五种需求

(参考时间: 00:00:05)

讲者开场先自我介绍:他是 Yann Dubois,三年级博士生,导师是 Tatsunori Hashimoto 和 Percy Liang。他坦言,评测(benchmarking & evaluation)在学术界"关注的人还不够多",但只要你真想把一个系统放进生产环境,评测就是关键。

课程标题页

📷 课程标题页
回到原视频 (00:00:05)

1.1 开发一个机器学习模型的四个阶段

(参考时间: 00:01:02)

讲者给出的心智模型是:开发一个机器学习模型通常经过四步,每一步都需要测性能,但需要的方式完全不同。

讲座大纲:从基准的爆炸式增长,到评测指标的艺术

📷 讲座大纲:从基准的爆炸式增长,到评测指标的艺术
回到原视频 (00:00:36)

graph LR
    A["① 训练<br/>Training"] --> B["② 开发<br/>Development<br/>(超参调优 / 早停)"]
    B --> C["③ 模型选型<br/>Model Selection"]
    C --> D["④ 部署<br/>Deployment"]
    D -.->|"平行世界"| E["⑤ 发表<br/>Publishing<br/>(跑标准基准)"]

(参考时间: 00:02:19)

编者说明:讲者在这里区分了"相对度量"和"绝对度量"。前三个阶段你只关心 A 比 B 好多少,绝对数值没有意义;只有上线时你才需要一个可以写进验收标准的绝对阈值。这个区别在后面讨论"学术基准可以有瑕疵"时会被反复用到。

1.2 学术界发表:为什么"粗糙的指标"其实是可接受的

(参考时间: 00:04:44)

发表论文时的评测需求与工业界很不一样:

编者说明:这是所谓"元层面(meta level)"的辩护:单个基准的分数可以是粗糙的代理,只要它在长期上与其他代理、以及真实能力保持相关性,它就仍然能驱动进步。

1.3 难度与简易度的折中(学术界特有)

(参考时间: 00:05:31)

学术基准还必须平衡难度与简单度:

讲者指出,这是学术界特有的问题——真实世界里你不能因为自己的模型好就换掉任务。

1.4 基准与排行榜驱动进步:一张 MMLU 曲线

(参考时间: 00:07:09)

讲者用 MMLU 说明排行榜的威力:过去四年左右,MMLU 的准确率从约 25%(四选一,即随机水平)涨到了约 90%。

基准与排行榜驱动整个领域的进步:MMLU 四年从 25% 到 90%

📷 基准与排行榜驱动整个领域的进步:MMLU 四年从 25% 到 90%
回到原视频 (00:07:09)

他再次提醒:在学术界,小数点后面的差异并不重要;重要的是十年之后,右上角的模型确实比左下角的模型更好——即使基准本身并不完美。

编者拓展|MMLU 是什么 MMLU(Massive Multitask Language Understanding,Hendrycks et al., 2021)是一个由 57 个学科的选择题组成的基准,覆盖从高中数学、物理、化学,到美国法律、临床医学等"高中到大学水平"的题目。它是一个多任务、纯知识密集型的基准,也是目前被引用最多的 LLM 能力指标之一。后续还有难度更高的 MMLU-Pro。

常见基准:数量偏多、持续演进,而且前沿模型与小型开源模型关心的并不一样

📷 常见基准:数量偏多、持续演进,而且前沿模型与小型开源模型关心的并不一样
回到原视频 (00:56:40)


2. 封闭式任务:本质上是标准机器学习

(参考时间: 00:08:00)

讲者把 NLP 任务粗略分成两类:封闭式(closed-ended)与开放式(open-ended)。

2.1 封闭式任务长什么样

(参考时间: 00:08:54)

关键点:这些任务的评测方式与标准机器学习完全一样——准确率、精确率、召回率、F1。这里没有 NLP 特有的东西。

编者说明:讲者特别强调"没有 NLP 特有的东西"不等于"简单"。他在下一节马上会说明,恰恰是这些"常规"指标最容易埋雷。

他推荐了 Christopher Potts 的 CS224U 课程,其中对分类指标的讲解非常好(字幕把名字听成了 "Chris Peach")。这里也顺带补充一下这几个基本量:

$$\text{Precision} = \frac{TP}{TP+FP},\qquad \text{Recall} = \frac{TP}{TP+FN},\qquad F_1 = \frac{2PR}{P+R}$$

2.2 多任务基准:GLUE 与 SuperGLUE

(参考时间: 00:11:33)

把多个小任务拼在一起、取平均分、排一个总榜——这是当年衡量"通用语言能力"的主流做法。最典型的是 GLUE 与 SuperGLUE(8~9 个任务)。

多任务基准成为趋势

📷 多任务基准成为趋势
回到原视频 (00:11:33)

GLUE 与 SuperGLUE:把已有基准标准化/重排,覆盖广泛的

📷 GLUE 与 SuperGLUE:把已有基准标准化/重排,覆盖广泛的"直觉级"自然语言理解能力
回到原视频 (00:11:40)

SuperGLUE 里的任务包括:BoolQ(读一段文本后回答是/否)、MultiRC、CB 与 RTE(蕴含)、COPA(因果)、ReCoRD(问答+推理)、WiC(同一个词在两句话里是否同义,例如 "bank" 是河岸还是银行)、WSC(指代消解)。

排行榜吸引了大量参与

📷 排行榜吸引了大量参与
回到原视频 (00:12:30)

讲者说,这是"大约两年前"人们的主流做法。

2.3 指标选择不是小事:垃圾邮件分类的例子

(参考时间: 00:13:22)

虽然"就是标准机器学习",但你必须认真想清楚该看哪个指标:准确率、精确率、召回率、F1、ROC 曲线、AUC……

讲者举了垃圾邮件分类的例子:假设 90% 的邮件不是垃圾邮件,只有 10% 是。那么一个永远预测"不是垃圾邮件"的朴素分类器就能拿到 90% 准确率——听起来很好,但它实际上什么都没分类出来。这就是为什么你需要看精确率、召回率和 F1。

2.4 多任务聚合:一个"真的是很糟糕"的做法

(参考时间: 00:14:47)

讲者非常直白地说:把各任务的分数直接取平均,是他认为"真的很糟糕"的做法——但这恰恰是人们的普遍做法。

问题在于:这些列的含义完全不同。有的是准确率,有的是 F1,有的是相关系数。他 recalled 了某个基准里有一列是"数值越低越好",结果所有人还是把它平均进去,直到有人意识到"大概应该加个负号"。

他的建议是:不要因为学术界都这么做,就认为这么做是对的。

2.5 标签从哪来?伪相关(spurious correlations)

(参考时间: 00:15:41)

讲者抛出两个问题:这些标签是怎么来的? 以及由此引出的伪相关。

好基准的三个必要条件:规模与多样性、难度、质量(答案必须明确正确、且不能有伪相关)

📷 好基准的三个必要条件:规模与多样性、难度、质量(答案必须明确正确、且不能有伪相关)
回到原视频 (00:15:45)

他把"好基准"的条件归纳为三条:

  1. 规模与多样性:要覆盖你关心的现象;复杂现象需要大量且多样的样本。
  2. 难度:对人类(或人类专家)要足够简单,对当前最强模型要足够难。
  3. 质量:正确答案必须明确地正确(这比想象中难得多);且不能有伪相关——否则 AI 会"因为错误的理由答对题"。
这已经成为一个新的研究方向

📷 这已经成为一个新的研究方向
回到原视频 (00:16:00)

一个经典案例:SNLI 的否定偏差

(参考时间: 00:16:20)

第 16 页幻灯片 · The significance of SQUAD and SQUAD-2

🖼️ 第 16 页幻灯片 · The significance of SQUAD and SQUAD-2

伪相关的第一种:词面重叠偏差(

📷 伪相关的第一种:词面重叠偏差("复制粘贴"捷径)
回到原视频 (00:15:50)

讲者用 SNLI 举例:前提是 "the economy could still be better",假设是 "the economy has never been better",判断假设是否被蕴含。

他提到 2019 年的一篇论文发现:所有模型的分数都很高,但如果你只看假设(hypothesis)、完全不看前提(premise),你也能得到很高的分数。原因在于:当人类标注者被要求"写一个不被前提蕴含的假设"时,最常用的手法就是加一个否定词。于是模型很快学会了:看到否定词,就预测"不被蕴含"。

HANS / McCoy et al. 2019:模型可能只是在用句法启发式拿高分

📷 HANS / McCoy et al. 2019:模型可能只是在用句法启发式拿高分
回到原视频 (00:16:30)

在启发式成立的样本上准确率很高,在启发式失效的样本上准确率极低

📷 在启发式成立的样本上准确率很高,在启发式失效的样本上准确率极低
回到原视频 (00:16:45)

编者拓展|HANS 与"因为错误的理由答对" 讲者提到的这篇论文是 McCoy, Pavlick & Tenney (2019) 的 Right for the Wrong Reasons: Diagnosing Syntactic Heuristics in Natural Language Inference,其中提出的诊断集叫 HANS。 它的做法是:构造在句法启发式成立时(例如"词序相同 → 蕴含")和句法启发式失效时(例如加入从句改变了主谓关系)的样本。典型的三个启发式是: - 词汇重叠:前提与假设共享的词越多,越倾向判"蕴含"; - 子序列:假设是前提的子序列 → 判"蕴含"; - 成分顺序:前提与假设的句法成分顺序一致 → 判"蕴含"。 结果正如幻灯片所示:在启发式成立的子集上准确率很高,在失效子集上则接近随机。这说明模型的"高准确率"里,有相当一部分不是理解能力。

另外两类伪相关

(参考时间: 00:50:00)

Slide 12

🖼️ Slide 12

伪相关的第二种:位置偏差

📷 伪相关的第二种:位置偏差
回到原视频 (00:50:00)

伪相关的第三种:人类

📷 伪相关的第三种:人类"小伎俩"留下的标注痕迹
回到原视频 (00:16:24)

讲者的总结很尖锐:几乎所有的基准都含有伪相关,模型会抓住它们,于是"答对了,但理由全错"。作为回应,研究者开始探索两类新的基准:动态基准(dynamic benchmarks)与对抗基准(adversarial benchmarks)。

graph TD
    A["基准中的伪相关"] --> B["词面重叠偏差<br/>问题常与答案句用词雷同"]
    A --> C["位置偏差<br/>重要信息集中在段首"]
    A --> D["标注痕迹<br/>否定词 / 实体替换"]
    B --> E["模型: 找与问题重叠最多的句子"]
    C --> F["模型: 给段首更高权重"]
    D --> G["模型: 看到 not 就判不可回答"]
    E --> H["加入干扰句后 F1 从 75% 掉到 36%<br/>(Jia & Liang, 2017)"]
    F --> I["因为错误的理由答对题"]
    G --> I

编者拓展|对抗基准与动态基准的差别 - 对抗基准(adversarial):让模型"在环内"(model-in-the-loop)——先跑模型,看它在哪些样本上失败,再针对这些失败人工构造新样本。典型代表是 ANLI。 - 动态基准(dynamic):测试集随时间滚动更新,让"背下测试集"这件事失效。Chatbot Arena 就是最典型的动态评测——它的题库(用户提问)每天都在变。

讲到"动态测试集"时,讲者在后半段给出了对应的课件页:

带模型在环的动态基准

📷 带模型在环的动态基准
回到原视频 (01:09:52)

好基准的条件(重复强调版)

📷 好基准的条件(重复强调版)
回到原视频 (00:17:00)


3. 开放式生成任务:从 n-gram 重叠到语义相似

(参考时间: 00:17:36)

本节在讲座大纲中的位置

📷 本节在讲座大纲中的位置
回到原视频 (00:17:36)

3.1 什么是开放式任务

开放式任务正相反:正确答案数量不受限,无法枚举,而且正确性有不同程度。所以你不能用标准分类指标。

典型任务是:

3.2 三类评测方法

(参考时间: 00:20:00)

评测指标的艺术:模型无关 vs 模型化、参考 vs 无参考、人类 vs LLM 评委

📷 评测指标的艺术:模型无关 vs 模型化、参考 vs 无参考、人类 vs LLM 评委
回到原视频 (00:19:50)

答案类型 / 打分复杂度 / 对应任务与基准 的对照表

📷 答案类型 / 打分复杂度 / 对应任务与基准 的对照表
回到原视频 (00:20:05)

graph TD
    A["怎么评测一个 NLP 系统?"] --> B["封闭式任务<br/>候选答案 < 10"]
    A --> C["开放式任务<br/>答案无法枚举"]
    B --> B1["标准 ML 指标<br/>Accuracy / P / R / F1 / AUC"]
    C --> C1["① 内容重叠指标<br/>BLEU, ROUGE (模型无关)"]
    C --> C2["② 模型化指标<br/>BERTScore, WMD, BLEURT"]
    C --> C3["③ 人类评测<br/>传统黄金标准"]
    C3 --> C4["④ LLM 当评委<br/>AlpacaEval, MT-Bench"]

3.3 内容重叠指标:BLEU 与 ROUGE

(参考时间: 00:20:42)

内容重叠指标就是把生成序列与人类写的参考序列逐词(或逐词组)比较。讲者举例:

做法就是计算两者之间的词面相似度——也就是 n-gram 重叠。最简单的版本是:逐个检查生成序列里的词是否出现在参考序列里;n-gram 则是检查连续 2 个、3 个词形成的词组。

最常用的两个是 BLEU("蓝")与 ROUGE("红")——讲者开玩笑说自己总记不住它们的全称。要点是:

经典指标都是模型无关指标:BLEU / ROUGE / METEOR / CIDEr / TER / WER 一览表

📷 经典指标都是模型无关指标:BLEU / ROUGE / METEOR / CIDEr / TER / WER 一览表
回到原视频 (00:21:40)

指标 主要论文 主要应用 关键区别
BLEU Papineni et al. (2002) 机器翻译 侧重精确率,度量 n-gram 重叠
ROUGE Lin (2004) 摘要 侧重召回率,保证源文关键信息被覆盖
METEOR Banerjee & Lavie (2005) 翻译与对话 引入词干化与同义词典(更"像人")
CIDEr Vedantam et al. (2015) 图像描述 用 TF-IDF 加权,奖励"共识性"描述
TER Snover et al. (2006) 翻译质量 度量"人要把输出改对所需的编辑距离"
WER ASR 业界标准 语音识别 语音转文字的行业标准错误率
BLEU:基于 n-gram 计数的机器翻译指标

📷 BLEU:基于 n-gram 计数的机器翻译指标
回到原视频 (00:22:00)

讲者补充了一个细节:BLEU 不只看精确率。因为如果模型只输出一个词——比如永远输出 "the"——精确率会非常高,但什么都没翻译。所以 BLEU 还加入了一个长度惩罚。

编者拓展|BLEU 的定义 记 $c$ 为生成文本长度,$r$ 为参考文本长度,$p_n$ 为截断后的 n-gram 精确率:

$$p_n = \frac{\sum_{\text{n-gram}\in \text{gen}} \min\big(\text{count}_{\text{gen}}(\text{n-gram}),\ \text{count}_{\text{ref}}(\text{n-gram})\big)}{\sum_{\text{n-gram}\in \text{gen}} \text{count}_{\text{gen}}(\text{n-gram})}$$

则

$$\text{BLEU} = \text{BP}\cdot \exp!\left(\sum_{n=1}^{N} w_n \log p_n\right),\qquad

\text{BP} = \begin{cases} 1, & c > r\ e^{\,1 - r/c}, & c \le r \end{cases}$$

通常 $N = 4$,$w_n = 1/N$。那个 $\min(\cdot)$ 就是"截断(clipping)",防止模型靠重复同一个词刷分。

ROUGE 则相反地以召回率为核心,常见变体有 ROUGE-N(n-gram 召回)、ROUGE-L(最长公共子序列)。

graph LR
    A["生成文本"] --> B["切成 1~4-gram"]
    C["参考文本"] --> D["统计各 n-gram 出现次数"]
    B --> E["逐 n 计算截断后的匹配数"]
    D --> E
    E --> F["p1, p2, p3, p4"]
    F --> G["几何平均<br/>exp(mean(log p_n))"]
    A --> H["算长度 c"]
    C --> I["算长度 r"]
    H --> J{"c > r ?"}
    I --> J
    J -->|是| K["BP = 1"]
    J -->|否| L["BP = exp(1 - r/c)"]
    G --> M["BLEU = BP × 几何平均"]
    K --> M
    L --> M

3.4 一个反例:为什么词面重叠指标不靠谱

(参考时间: 00:23:40)

讲者构造了一个极小的例子。假设 Chris 问你:"Are you enjoying the CS224N lectures?"(你喜欢 CS224N 的课吗?)人类写的参考答案是 "Heck yes!"。现在看模型生成不同回答时 BLEU 会给出什么分数:

模型输出 BLEU 分数 含义
Yes . 0.67 其实是个不错的回答
You know it ! 0.25 意思完全一样,分数却大幅下降(假阴性)
Yup . 0 意思完全一样,得零分(假阴性)
Heck no ! 0.61 意思完全相反,分数却很高(假阳性)
一个反例:n-gram 重叠指标完全不理解语义相关性

📷 一个反例:n-gram 重叠指标完全不理解语义相关性
回到原视频 (00:23:40)

这个例子说明了两件事:假阴性(真正等价的表达得零分)和假阳性(意思相反的表达得高分)。根因是 n-gram 重叠指标没有任何语义相关性的概念。

编者说明:这里的核心观念是——"词面相同"与"意思相同"是两件事。BLEU/ROUGE 度量的是前者,而我们真正想度量的是后者。

3.5 模型化指标:用表示学习来打分

(参考时间: 00:25:12)

自然的想法是:既然我们有能保持语义相似性的词/句表示,为什么不直接比较表示?

评测指标的另一条路:模型化(model-based)指标

📷 评测指标的另一条路:模型化(model-based)指标
回到原视频 (00:25:10)

  1. 向量相似度:把参考序列和生成序列里的每个词都映射为词向量,然后做比较。最朴素的做法是取平均再算余弦相似度。
  2. BERTScore(Zhang et al., 2020):用 BERT 分别编码生成序列与参考序列(同一个 BERT),再做比较。讲者说,BERTScore 的论文里有一些"聪明的比较方式",但不必纠结细节,关键点是它在做一种"聪明的平均"。
BERTScore:BLEU / ROUGE 的

📷 BERTScore:BLEU / ROUGE 的"软"版本
回到原视频 (00:26:00)

编者说明:讲者在这里指出,早期词向量不区分上下文,这是它的局限;BERT 这类上下文相关的表示才是更好的选择。

  1. Word Mover's Distance(Kusner et al., 2015):本质上是推土机距离(Earth Mover's Distance)的嵌入版本——把"把生成文本的词分布搬运成参考文本的词分布"所需的最小代价当作距离。
Word Mover's Distance

📷 Word Mover's Distance
回到原视频 (00:26:30)

编者说明:讲者在录音里并没有展开 WMD,这一页来自官方课件。直观理解是:把每个词的词向量看成高维空间里的一个点,把两句话看成两组带权重的点,WMD 就是"把其中一组点搬到另一组"的最小搬运成本。它对词序不敏感,但天然考虑了语义相近的词搬运代价更低。

  1. BLEURT(Sellam et al., 2020):名字就是 BLEU + BERT。做法是取一个预训练 BERT,继续预训练去预测 BLEU 等自动指标,再在人类评分上微调,让模型直接学会"模仿人类的评判"。
BLEURT:训练一个模型来模仿人类的评价

📷 BLEURT:训练一个模型来模仿人类的评价
回到原视频 (00:27:12)

课堂上有一位学生提出一个很好的质疑:如果继续预训练的目标是 BLEU,那不是把 BLEU 的毛病也学进去了吗? 讲者的回答是:他们这么做是因为数据集里大量样本没有人工标注(只有参考和生成文本,不知道好坏),所以只能用自动指标作为无监督/自监督目标;同时他们用了多个目标(BLEU 和 BERTScore 等)做多任务学习。

模型化指标的隐忧

📷 模型化指标的隐忧
回到原视频 (00:28:00)

课件上还列出了模型化指标的几个隐忧:受模型自身局限与偏见影响(例如 BERTScore 会给 "born in 1942" 和 "born in 1924" 打很高的相似度——它对事实错误不敏感)、跨领域缺乏校准、计算成本与可复现性、长度偏差(更长的文本有更多"机会"匹配上),以及与人类判断不一致的实证证据。

(参考时间: 00:29:17)

3.6 参考本身也可能很差

讲者随后提出一个更根本的问题:所有这些指标的上限,取决于参考的质量——而现实中参考往往并不好。

以新闻摘要为例:大多数摘要基准把文章顶部的要点列表当作参考摘要,而这个参考通常并不好。幻灯片上给出了两张相关性散点图:

讲者的结论很关键:这并不能说明 ROUGE 是个坏指标,而说明参考是坏的。


4. 无参考评测:从"不可想象"到"新常态"

(参考时间: 00:31:01)

既然参考不可靠,一个自然的问题是:能不能干脆不要参考?

参考式评测可能出什么问题

📷 参考式评测可能出什么问题
回到原视频 (00:31:10)

讲者给出了两类失败模式:

  1. 参考本身质量不高,或者覆盖不了多样的正确答案时,参考式评测会失效;
  2. 针对参考式指标做优化的模型,会过拟合到参考的个性癖好上,而在人工评测的质量维度上并没有提升。
参考式与无参考式指标一览表

📷 参考式与无参考式指标一览表
回到原视频 (00:33:00)

指标 类型 用途简述 主要文献
BLEU / ROUGE 参考式 n-gram 重叠,衡量翻译(BLEU)与摘要(ROUGE)的字面相似 Papineni et al. (2002);Lin (2004)
BERTScore 参考式 用上下文嵌入衡量语义相似,克服精确词匹配的局限 Zhang et al. (2020)
COMET 参考式 神经指标,用源文+参考预测类人质量分、识别细粒度错误 Rei et al. (2020)
COMETKiwi / QE 无参考 "质量估计",直接把译文与源文比较,无需参考 Rei et al. (2022)
FActScore 无参考 把长文本拆成原子事实,逐条对照 Wikipedia 等知识源核验 Min et al. (2023)
CLIPScore 无参考 计算图像与生成文本之间的视觉-文本对齐度 Hessel et al. (2021)
SelfCheckGPT 无参考 通过同一模型多次采样的内部一致性来检测幻觉 Manakul et al. (2023)
G-Eval 无参考 用带 CoT 提示的 LLM 当评委,评估连贯性、有用性等 Liu et al. (2023)

(参考时间: 00:31:01)

无参考评测最初的做法是:拿一个像 BLEU 一样的模型,不看参考,直接从输入预测分数——但这条路"以前真的不管用"。

转折点是 ChatGPT 和 GPT-4。现在的做法是:直接把要求交给 GPT-4,就像要求一位人类评委一样——给它一篇长文和一段生成的摘要,问它"这段摘要有多好"。讲者说,这出乎意料地有效。常见的基准是 AlpacaEval 与 MT-Bench。


5. 人类评测:黄金标准,也是工程噩梦

(参考时间: 00:33:12)

5.1 为什么必须有人类评测

5.2 表面上很简单,实际上非常复杂

(参考时间: 00:33:57)

"让人去评价一段生成文本的质量"听起来简单,但讲者强调它是一项真正的挑战。几点关键提醒:

  1. 要分维度评价:流畅度、连贯性、常识性、风格、语法性、冗余度……不同维度要分别打。
  2. 绝对不要跨研究比较人类评测分数。一篇论文说"我们的文本流畅度是 4/5",另一篇说"3/5"——用的是不同的人、不同的提示方式,完全不可比。
人类评测可能出什么问题

📷 人类评测可能出什么问题
回到原视频 (00:35:00)

5.3 人类评测的六个问题

(参考时间: 00:35:00)

  1. 慢:人类远远没有自动指标快。
  2. 贵:在学术界,只有付给标注者体面的报酬,评测才会做得像样,而这很贵。
  3. 标注者之间不一致(inter-annotator disagreement):讲者说,随便找房间里两个人评价同一段生成文本,你们一定不会同意。即使事先花一小时讨论"该怎么评",仍然会在很多样本上分歧。
  4. 同一个人前后也不一致(intra-annotator disagreement):同一个标注者,三小时后(吃过饭、跑过步之后)会给出不同的判断。
  5. 不可复现:讲者引用了一篇(他记得是 2021 年)的论文——分析了 2015–2020 年间约 128 篇论文,结论是只有 5% 的人类评测是可复现的。
  6. 人类只能评"精确率",评不了"召回率":你给人类看模型生成了什么,他只能评价这一个输出,没有办法评价"本可以是别的样子的那些输出";要评就得大量采样,成本又会爆炸。

一个亲历的例子:AlpacaFarm 里的 67%

(参考时间: 00:36:00)

讲者讲了他们去年做 AlpacaFarm 时的亲身经历。任务是"并排比较":给同一个输入,让两个模型(比如 ChatGPT 和 Alpaca 这类)各生成一个回答,让人判断更喜欢哪一个——这是一个非常简单的任务,也正是一大批大模型现在使用的评测方式。

他们五个人做这件事,花了两三个小时讨论、写下极其详细的评分细则(rubrics),结果彼此只有 67% 的一致率——而 50% 就等于随机。他强调:不是因为他们敷衍,恰恰相反,他们非常想把这件事做好。

一个补充观察是:如果允许标注者讨论,一致率会提高,但代价是更慢、更贵。

有人问:那怎么验证评测本身?讲者的回答很坦诚——没有很好的答案。通常做法是看统计指标(比如做 t 检验,要求 p 值低于某个阈值),或者计算标注者间一致度,达不到就要求更多人标注或重新标注。

激励不对齐:1.5 倍最低工资变成了 2.5 倍

(参考时间: 00:39:48)

这是讲者认为最容易被忽略、却最真实的一个问题:你想要的是标注者做出最好的评判,他们想要的通常是每小时赚最多的钱——激励不对齐。

他们的具体做法是:在 AlpacaFarm 中,他们支付加州最低工资的 1.5 倍;他们先自己测了一遍"把一个样本评到最好"需要多长时间,再按这个时间折算单价。结果标注者最终拿到的是最低工资的 2 到 2.5 倍——因为他们做得"比我们快两到三倍"。

讲者说,他并不排除自己比较慢,但更可能的解释是:他们在找捷径。这种捷径在论文里随处可见。他们自己观测到的最典型的一个捷径就是:人类强烈偏好更长的回答。给两个都很长的回答,让人在尽量少动脑的前提下挑一个更好的,"看到更长的那个,我就想——嗯,细节更多,大概更好"。

5.4 如何把人类评测做对

(参考时间: 00:41:26)

课件(以及讲者口头补充)给出的清单:

  1. 写清楚评分细则(rubric),逐维度定义:正确性、流畅性、原创性……
  2. 先做大量样例,然后讨论、校准。
  3. 计算标注者间一致度(inter-rater agreement),达不到就加人或重标。
  4. 决定怎么把任务呈现给标注者:例如并排比较时,谁在左谁在右非常重要——这可以随机化,但它确实带来额外挑战。
  5. 挑选标注者:不是有钱上 Amazon Mechanical Turk 随便找人就行。常见做法是先让一批人做,达不到质量就按已完成的工作结算、换一批人。因此你需要事先准备金标准标注,然后看他们的准确率和与团队的一致度。
  6. 持续监控:典型做法是每批样本里混入若干你已经知道金标的样本,看他们表现如何;也可以看标注耗时。
做好人类评测的方法;以及

📷 做好人类评测的方法;以及"LLM 的评测比人类更一致"这一观察
回到原视频 (00:35:30)

课件上还有一句很值得玩味的话:"LLM 生成的评测比人类更一致——也就是说,LLM 彼此之间的认同度,高于人类彼此之间的认同度。"


6. Chatbot Arena:把评测外包给整个互联网

(参考时间: 00:43:22)

如何评测 ChatGPT 这样的系统?极其困难:你可以问它任何任务,它可以给出任意长的回答。目前的通行做法是并排比较:同一个问题交给两个模型,让人(或后面的模型)判断哪个更好。

最主流的平台是 Chatbot Arena:任何人都可以免费在线和最好的模型对话,平台只问你更喜欢左边还是右边。

Chatbot Arena:基于人类偏好的开放评测平台

📷 Chatbot Arena:基于人类偏好的开放评测平台
回到原视频 (00:43:22)

Chatbot Arena 界面

📷 Chatbot Arena 界面
回到原视频 (00:43:40)

Chatbot Arena

📷 Chatbot Arena
回到原视频 (00:44:00)

Chatbot Arena 的排行界面

📷 Chatbot Arena 的排行界面
回到原视频 (00:44:20)

6.1 机制:从两两比较到 ELO

当累积到极大数量的投票(例如 20 万票)时,平台会把结果加进排行榜。加榜的方式借鉴国际象棋:把每一对比较看作一场锦标赛,用 ELO 评分把"两两胜负"折算成一个统一分数——这样不需要每个模型都和其他所有模型比过。

graph LR
    A["用户提问"] --> B["随机抽两个匿名模型<br/>A / B"]
    B --> C["并排展示两个回答"]
    C --> D["用户投票: 左边 / 右边 / 平局"]
    D --> E["累积到 N 票<br/>(如 20 万)"]
    E --> F["把每场比较视为锦标赛对局"]
    F --> G["用 ELO 求解<br/><b>所有模型的统一分数</b>"]
    G --> H{"模型是否够有名?"}
    H -->|是| I["上榜"]
    H -->|否| J["难以获得足够票数"]

编者拓展|ELO 与 Bradley–Terry ELO 源自国际象棋等级分。其背后是一个更一般的统计模型 Bradley–Terry:假设模型 $i$ 战胜模型 $j$ 的概率为

$$P(i \succ j) = \frac{1}{1 + e^{-(\theta_i - \theta_j)}}$$

用所有两两比较的结果做极大似然估计,就得到各模型的"实力参数" $\theta_i$。ELO 是它的在线增量版本。理论上,只要比较图是连通的(不需要完全图),所有模型的能力就可以被估计出来。这解释了为什么 Chatbot Arena 不必让每个模型互相比一遍。

6.2 优点与代价

优点:它比其他评测更"野生"(in the wild)。

缺点一:用户问的问题千奇百怪。课件给出了 LMSYS-1M 数据集里的真实例子:

Chatbot Arena 的优缺点

📷 Chatbot Arena 的优缺点
回到原视频 (00:45:00)

缺点二:成本。这需要巨大的社区投入;新模型上榜要等很久;而且只有"有名"的模型(OpenAI、Anthropic、Google、Meta 的)才能拿到 20 万票。你那个自研的小模型永远不会有人免费给你标注 20 万次。即便对大公司来说,这也不是开发阶段能用的东西——它属于最后的模型选型阶段。

缺点三:外部效度。在网页上随手输入问题并做一对一比较,未必具有代表性;随机用户的评分可能只反映表层吸引力。

Chatbot Arena 的更多局限

📷 Chatbot Arena 的更多局限
回到原视频 (00:45:30)


7. LLM 当评委:便宜 100 倍,而且"比人类更像人类"

(参考时间: 00:46:00)

评测指标的艺术(本节位置)

📷 评测指标的艺术(本节位置)
回到原视频 (00:46:00)

7.1 一个令人意外的发现

(参考时间: 00:46:07)

一个很自然的加速思路是:让一个大语言模型来当评委。比如想比较 ChatGPT 和 Mistral,就让 GPT-4 来裁判谁更好。讲者说,这出乎意料地有效,常见版本就是 AlpacaEval 和 MT-Bench。

他们去年开始做这件事,结论有三条:

  1. 速度与成本:按现在的价格,用 GPT-4 做评测大约比人类快 100 倍、便宜 100 倍。
  2. 与人类的一致性,高于人类彼此之间的一致性。具体做法是"留一法(leave-one-out)":从四个人类标注者中取出一个,看他的偏好与其余三人多数偏好的吻合度;再把这个吻合度和"模型预测人类多数偏好"的吻合度比较——模型更高。
  3. 他们确实用这套方法去收集人类偏好数据来做 RLHF。
人类评委与 LLM 评委

📷 人类评委与 LLM 评委
回到原视频 (00:46:30)

为什么会这样?偏差与方差

(参考时间: 00:47:53)

原因并不神秘:人类之间的分歧很大,方差很高;而模型每次都会给出相同的判断,方差极低。幻灯片上:

所以"一致性更高"其实是低方差换来的。一位学生追问确认:"这是说 LLM 的内部一致性比人类更高?"讲者回答:是的,这是好消息——低方差让研究更容易做;坏消息是偏差仍然很高。

7.2 LLM 评委(和人类评委)共有的伪相关

(参考时间: 00:49:14)

7.3 AlpacaEval 的具体做法

(参考时间: 00:50:34)

AlpacaEval 是他们做 Alpaca 时开发的一个很小的基准,本意只是给自己做开发/调参用(因为当时对市面上的指令跟随基准都不太信任),后来变成了独立的东西。

它的几个数字很惊人:与 Chatbot Arena 的排名相关性达到 98%;评测一次约需 3 分钟、10 美元。

graph TD
    A["一条指令"] --> B["模型 X 生成回答"]
    A --> C["基线模型生成回答"]
    B --> D["把两者一起交给 GPT-4"]
    C --> D
    D --> E["GPT-4 输出<br/>它偏好模型 X 的概率"]
    E --> F["按输出长度做重加权<br/>(更长的输出适当降权)"]
    F --> G["在整个数据集上取平均"]
    G --> H["胜率 / win rate"]

为什么要"重加权":一次迟到的教训

(参考时间: 00:53:00)

讲者说,他们有点太晚才意识到一个问题:如果拿 GPT-4,在 prompt 里让它"更详细",它的胜率会从 50% 涨到 64.3%;如果让它"更简洁",胜率会掉到 22.9%。

这完全不符合"基准应该测什么"的心智模型——我只是微调了一下提示词,不应该让模型排名天翻地覆。所以他们对长度做了重加权:更长的输出适当降权。重加权之后,"要求详细"的版本表现就与不做任何提示调整时非常接近了。

7.4 自我偏好到底有多严重

(参考时间: 00:54:08)

讲者说他对这个结果相当意外:自我偏好确实存在,但没有想象中那么高。

把"被评模型"放在行、"评委模型"放在列,你会看到无论用哪个模型当评委,最终排名基本一致。比如用 Mistral 评 Mistral 时,它给自己的分数会高很多,但它依然更偏好 Claude 和 GPT-4。

讲者的结论是:没有想象中那么糟,但依然不好。

LLM 当评委(或

📷 LLM 当评委(或"陪审团")
回到原视频 (00:49:00)

7.5 如何把 LLM 评委做对

(参考时间: 00:55:30)

LLM as a Judge (or a Jury)

📷 LLM as a Judge (or a Jury)
回到原视频 (00:55:30)

优点:成本远低于人类评测;LLM 在"遵循指令"这件事上常常比人类做得更好。

缺点:

怎么用对:

编者说明:讲者在回答提问时给出了一个非常有用的类比——这和教授给助教(TA)写评分标准是一回事。教授不会盲目相信 TA 的判断,而是写一份非常详细的 rubric,相信 TA 能照着 rubric 执行。他认为我们也应该这样看待 GPT-4 评委:不要问"这总结好不好,打个分",而要写清楚"一个好答案必须包含哪些要素"——而目前大家做的恰恰不是这个。


8. 今天人们实际上怎么评大模型:三条路

(参考时间: 00:55:00)

本节在讲座大纲中的位置

📷 本节在讲座大纲中的位置
回到原视频 (00:55:00)

(参考时间: 00:55:06)

讲者归纳出当前 LLM 评测的三种主流做法:

  1. 困惑度(perplexity):本质上就是看训练/验证 loss;
  2. "平均一切":把一堆自动基准的分取平均——比你想的更常见;
  3. Arena 式:让模型互相比,用人类或模型来当裁判。

通常的分工是:预训练模型(新一代的 Llama、GPT)主要报困惑度和"平均一切";微调模型主要报"平均一切"和 Arena 式表现。原因是:微调之后模型预测的对数似然已经不再对你的数据集校准了。

8.1 "平均一切":HELM 与 Open LLM Leaderboard

(参考时间: 00:56:20)

两个代表是 HELM(斯坦福 CRFM)与 Hugging Face Open LLM Leaderboard——本质上就是一堆自动基准的集合,全部跑一遍再平均。常见的有:

讲者说,"平均一切"可以说是 SuperGLUE 的新版本。

MMLU 详解

(参考时间: 00:57:20)

讲者特别点名 MMLU 是最广泛使用、也最被信任的基准:57 个任务的多选题,包括形式逻辑、概念物理、计量经济学等。

MMLU:57 个任务、覆盖高中到大学水平的知识密集型题目

📷 MMLU:57 个任务、覆盖高中到大学水平的知识密集型题目
回到原视频 (00:57:20)

他举了两个例子:

MMLU 的样题

📷 MMLU 的样题
回到原视频 (00:57:50)

讲者说:任务本身并不简单,但评测方式看起来很简单——就选一个答案嘛。不过后面会看到,这件事远没有看上去那么简单。

MMLU 是最常用的 LLM 评测基准之一,MMLU-Pro 难得多

📷 MMLU 是最常用的 LLM 评测基准之一,MMLU-Pro 难得多
回到原视频 (00:58:00)

他还提到一个细节:马克·扎克伯格在宣布 Llama 3 时,专门讲了 MMLU 分数——他个人觉得这有点"疯狂"。

8.2 编程能力:为什么大家都爱测代码

(参考时间: 00:58:32)

编程是另一个热门评测方向,原因有三:

  1. 代码能力和推理能力高度相关——在这些模型上,擅长写代码通常意味着擅长推理,而推理是大家真正关心的;
  2. 我们都在写代码,所以想要更好的编程助手;
  3. 它容易自动评测——让模型生成一个函数,然后直接跑测试用例,看是否通过。

8.3 Agent 评测:沙盒问题

(参考时间: 01:00:20)

第 65 页幻灯片 · Lecture Plan

🖼️ 第 65 页幻灯片 · Lecture Plan

讲者提到下一讲会专门讲 Agent(他提到一位叫 Shikhar 的同学会来讲)。LLM 现在可以调用 API、在真实世界里采取行动,甚至接管你的电脑——"你不应该把电脑的控制权交给它"。

那么怎么评测这类能力?最大的挑战是沙盒。如果你想评测它在你的终端里表现如何,你就得给它终端的访问权限——而这正是你不想要的。终端相对好沙盒化,但一旦要评测"它能不能替我读 Slack"或"能不能处理我的邮件",你就必须为所有它可能接触的应用造一整套沙盒环境。讲者说,这在真实世界里是非常复杂的工程。

8.4 困惑度:一个被低估的指标

(参考时间: 01:01:34)

讲者说,有一个结论第一次见会很惊讶:预训练阶段的性能,与几乎所有下游任务的性能高度相关。

也就是说,如果你只看"预测下一个词"的训练表现,它和下游表现高度相关——很多人在开发时干脆只看困惑度,信任它到不再做下游评测。讲者说:我不推荐这么做,但如果你必须要一个"快而糙"的信号,它通常相当管用。

两个必须小心的坑:

  1. 困惑度不能跨数据集比较;
  2. 它还取决于分词器(tokenizer)。比如 Llama 3 和 Gemini,即使在同一个数据集上,分数也不可比。

编者拓展|为什么困惑度依赖于词表大小 困惑度的定义是交叉熵的指数:

$$\text{PPL} = \exp\!\left(-\frac{1}{N}\sum_{i=1}^{N}\log p(w_i \mid w_{

其中 $H$ 是模型在该数据上的交叉熵。关键点在于:交叉熵有一个由词表大小决定的上界——

$$H \le \log |V|$$

直觉上,如果词表只有一个词,你永远只能预测同一个 token,熵为零,困惑度为 1。词表越大,理论上的最大熵(以及最大困惑度)就越大。所以不同分词器下的困惑度是在不同的"量纲"上比较,这正是讲者说"不可比"的原因。课堂上有一位同学问到这一点,讲者的回答就是"熵被词表基数的对数上界所限制"。

第 66 页幻灯片 · Goodhart’s laws: “when a measure becomes a target, it ceases to be a good measure

🖼️ 第 66 页幻灯片 · Goodhart’s laws: “when a measure becomes a target, it ceases to be a good measure"

(学生追问:"如果词表变化,那不是所有东西的上下界都变了?"——讲者确认:是的,上界变了,量纲就变了。)

8.5 Arena 式评测

(参考时间: 01:03:42)

讲者最后把 Arena 式单独列出来:让不同模型互相比拼,最后给出 ELO 评分。他把它概括为"把决定权直接交给用户"——这也相当有效。

第 68 页幻灯片 · Goodhart’s laws: “when a measure becomes a target, it ceases to be a good measure

🖼️ 第 68 页幻灯片 · Goodhart’s laws: “when a measure becomes a target, it ceases to be a good measure"


9. 一致性、污染与偏差:评测的三大挑战

(参考时间: 01:04:00)

本节在讲座大纲中的位置

📷 本节在讲座大纲中的位置
回到原视频 (01:04:00)

9.1 一致性:同一道题,三种实现,三个分数

(参考时间: 01:04:02)

第一个问题:格式细节会显著改变结果。

如果只把多选题的 A B C D 换成随机符号,模型给出的答案就会变,模型之间的排名也会变。连"从四个选项里选一个"这么简单的事,都极其依赖选项的格式化方式。

更具体的例子是 MMLU。它看起来很好评,但有将近一年时间,存在三种主流实现,而人们在比较这三种实现时,完全不知道它们给出的分数不一样。两类差异:

  1. 提示词不同——这当然会导致不同的答案;
  2. 取"最可能答案"的方式不同:
  3. 一种是在 A/B/C/D 上做约束解码(constrained decoding),只在这四个 token 里取 argmax。哪怕某个别的 token(比如 "Z")似然更高,也不看它;
  4. 另一种是直接取下一个 token 的 argmax,不做约束;
  5. 还有一种是不生成字母,而是计算每个选项作为答案的对数似然/困惑度,再比较。
graph TD
    A["同一道 MMLU 题 + 四个选项"] --> B{"怎么取答案?"}
    B -->|"约束解码:只在 A/B/C/D 上取 argmax"| C["实现 A"]
    B -->|"直接取下一个 token 的 argmax"| D["实现 B"]
    B -->|"分别计算每个选项的对数似然再比较"| E["实现 C"]
    C --> F["LLM 评测得分"]
    D --> F
    E --> F
    F --> G["同一模型,三种分数"]
    G --> H["Llama-65B:<br/>HELM 63.7 / 原版 MMLU 63.6 / harness 48.8"]

讲者给出的具体数字是:Llama-65B 的 MMLU 分数

实现 分数
HELM 63.7
原版 MMLU 63.6
harness(Hugging Face 实际使用的那个) 48.8

相差将近 15 分。有学生问这三者分别对应哪种做法,讲者说他记不清哪个是哪个(他的猜测是 harness 用了最后一种),并补充:现在这三者已经统一了,但在当时并没有。

提示词格式会显著影响性能

📷 提示词格式会显著影响性能
回到原视频 (01:04:50)

课件总结了会影响结果的因素:zero-shot 还是 few-shot、几个 shot、用不用思维链(CoT)、甚至一个空格的有无、以及具体用哪个答案抽取脚本。这些都"挑战了评测的可靠性与可复现性"。

9.2 数据污染

(参考时间: 01:07:08)

LLM 的训练数据里有什么?——

📷 LLM 的训练数据里有什么?——"你的测试集会不会就在这里面?"
回到原视频 (01:07:00)

对预训练模型来说,基准很难被信任

📷 对预训练模型来说,基准很难被信任
回到原视频 (01:07:20)

讲者转述了一条推特(他说"如果你没关注他,你应该关注"):有人在看代码基准时发现,GPT-4 在 2021 年之前的问题上拿 10/10,而在 2021 年之后的新问题上拿 0/10。这"非常非常奇怪",强烈指向数据污染:那个代码数据集很可能就在预训练数据里,而在测试集上训练当然表现很好。他说,Phi-1.5(微软的模型)也有类似指控。

为什么难以判断:

  1. 这些模型预训练数据量极大,即使你能拿到数据,也很难确认你的测试集在不在里面;
  2. 它们大多是闭源模型,你连数据都拿不到。
数据去污染

📷 数据去污染
回到原视频 (01:09:20)

"数据去污染"的常见做法:

为什么数据会被污染:因为互联网数据里可能本来就有测试集;而合成数据同样可能被污染(如果你用模型生成数据,而模型见过测试集)。

过拟合:更微妙的版本

(参考时间: 01:08:35)

讲者指出,还有一个与污染相关但略有不同的问题:标准的基准数据集,达到"人类水平"所需的时间越来越短——最近的基准甚至不到六个月。

不清楚这是因为污染,还是因为大量的人在这些测试集上做超参调优——但无论是哪种,都是过拟合问题。

缓解办法:

  1. 私有测试集。讲者提到(大约两周前)有一篇论文发布了 GSM1K:它重新收集/重采样了 GSM8K 这类数学题,然后比较模型在新旧两个数据集上的表现。

结果是:开源模型在新数据上表现明显更差,而 Claude 和 GPT-4 没有这个问题。

  1. 动态测试集:理想情况是每隔 X 天就有新的指令/输入进来,让数据集持续滚动——Chatbot Arena 就是这样做的,这确实有效。

  2. 检测污染,而不是消除它。两个"很酷"的小技巧:

  3. 看答案的概率:如果模型对某个答案异常确定,它很可能在训练中见过这个答案;
  4. 看测试集的顺序:如果模型是在这个测试集上预训练的,它多半"以为"样例 2 跟在样例 1 后面。所以把样例 1 和样例 2 对调,如果对数似然下降,那么很可能模型预训练时见过这个数据集。

9.3 偏差:单一文化、单一指标、单一视角

(参考时间: 01:13:22)

本节在讲座大纲中的位置

📷 本节在讲座大纲中的位置
回到原视频 (01:13:22)

单一文化:只测英语

讲者引用了一篇(他记得是 2021–2022 年的)论文,分析了 ACL 2021(NLP 领域最主要的会议之一)的口头报告论文:461 篇论文中,70% 只看英语,40% 只看准确率——也就是说,很少有人关注多语种,也很少有人关注效率、可解释性或公平性。更令人沮丧的是,另有一篇分析 2008 年另一场会议的论文,结论基本一样——说明多年来并没有改善。

更讽刺的是:多语种基准其实是有的,比如 MEGA、GlobalBench、XTREME 之类,覆盖 30–40 种语言、多种任务。问题不是没有基准,而是学术界没有激励去用它们。讲者说:如果你有机会,请用这些基准。

编者说明:讲者列举这几个基准时语速很快,字幕作 "Mega Global bench extreme",编者推断他说的是 MEGA、GlobalBench、XTREME 这一组多语种基准,但无法完全确认具体的三个名字,详见文末「已知疑点」。

单一指标:把一切压缩成一个数

(参考时间: 01:12:39)

课件给出了几个反例性质的"出路":

编者说明:字幕把这一步的机构听成了"entropic",从上下文(模板化、改变种族/性别、测保险决策)判断,应当是 Anthropic 的 Discrim-Eval(Tamkin et al., 2023)。讲者原话是"来自 Anthropic"。

英语中心主义比你想的更深

(参考时间: 01:15:00)

讲者说,多语种问题比你以为的更普遍:BLEU 和 ROUGE 本身就假设你知道词在哪里断开——也就是假设有空格分词。他做过泰语和越南语的工作:越南语词之间有空格,泰语词之间没有空格,你根本没法直接跑 BLEU/ROUGE。

他的结论是:"这远不只是数据的问题——我们所有的算法本身,都是围绕英语(或至少是西方语言)设计的。"

LLM 评委的偏见会被放大

Slide 75

🖼️ Slide 75

(参考时间: 01:15:35)

使用 GPT-4 做标注很酷,但有一个副作用:因为 GPT-4 高度一致,它的偏见会被整个 NLP 社区成倍放大,形成单一文化。

有一项很有意思的工作研究了 LLM 在公共舆论调查上的输出分布,想弄清楚LLM 默认反映的是哪些群体的意见。

结论是:

编者拓展|"模型反映谁的意见" 讲者提到的这项工作,很可能是 Santurkar et al. (2023) 的 Whose Opinions Do Language Models Reflect?(OpinionQA)。其方法正是把 LLM 的输出映射到美国大规模民意调查(如 Pew 的 American Trends Panel)的分布上,再与不同人群(按年龄、性别、收入、教育、政治倾向、种族等划分)的真实回答分布比较,用对齐度指标衡量"模型最像哪一类人"。 这个结果的含义很重要:"对齐"从来不是中立的——你选择哪一批标注者,就决定了模型最终代表谁。

9.4 最大的挑战:没有激励去改变

(参考时间: 01:17:26)

讲者说,前面讲的都是"挑战中的挑战",而最大的那个是:我们根本没有激励机制去换别的东西。

他引用了一篇分析 2019–2020 年机器翻译论文的工作:82% 的论文只报告 BLEU 分数。而正如前面所述,BLEU 有很多很多问题,我们也知道有更好的指标——但人们仍然没有被激励去看别的。事实上,审稿人通常就是要求你给出 BLEU 分数。

讲者对此表示理解:你希望自己的结果能和两三年前的方法比较。但这确实让学术界很难切换到别的基准。

不过,他给出了一个对比:这是学术界特有的问题。在现实世界里,如果你知道你的指标是坏的,换掉就是了。


10. 结语:不要相信数字,去看输出

(参考时间: 01:18:40)

开放研究问题:评测的

📷 开放研究问题:评测的"科学"远远落后于"工程"
回到原视频 (01:18:40)

讲者的总结是:

最后他说了一句非常实用的话:

现实中最好的评测方法,就是亲自去看你的输出。

他认为太多人只是相信数字。他回忆起做 Alpaca 的时候:一开始他们还挺相信 AlpacaEval,但一旦自己动手去玩这个模型,他们才意识到——用标准学术基准衡量它其实相当糟糕,但它实际上已经相当可用。"所以,不要依赖数字。"

课件上列出的开放问题是:评测的"科学"远远落后于"工程"的进步——如何衡量真正的理解 vs 模式匹配?如何防止基准污染与刷分?如何衡量校准、认知不确定性与诚实?如何把"能力"与"诱导(elicitation)"分开?如何对 LLM 的能力做整体性评测?以及元评测(meta-evaluation):谁来评测"评测基准"和"评测指标"?

课堂问答补充

问题一(关于偏差的两难):如果我们在一个很专门的领域里,用 GPT-4 做无参考评测,但自己人工抽查一小部分并据此给它排序——这是不是坏实践?因为人工审查会把我们自己的偏见带进来,但完全不看又无法发现 GPT-4 的偏见。

讲者的回答:他"并没有完全想清楚",但他更担心 GPT-4 的偏见,因为它是跨所有模型一致的——那会形成单一文化。相比之下,如果每个团队各自把自己的偏见带进来一点点,反而没那么糟。他说这不是最好的答案,但比"所有人都跟着同一种偏见走"要好一些。

问题二(如何防止自我欺骗):如果一个人用一个模型解决问题,再用 GPT-4 评测,然后自我说服"这很棒",但全世界和 GPT-4 都觉得它很糟——这个领域在结构上如何避免这种情况?

讲者的回答有两点:

  1. 这正是大家需要标准化基准的原因:即使所有人都知道标准基准是错的,至少大家知道它是怎么错的(它的偏差是已知的);
  2. 一个可能的方向是把 GPT-4 看成"能很好执行我意图的执行者",而不是"裁判"。目前我们没有把意图说清楚,所以它会带着自己预训练/微调带来的偏见进来。更好的做法是写一份非常详细的评分细则,明确列出"一个好的答案必须包含什么"——这正是教授给助教写评分细则时做的事。教授不会盲目相信 TA,而是相信 TA 能应用这份细则。讲者认为我们也应该这样使用 GPT-4,而目前大家并不是这么做的。

附录:课堂未展示的幻灯片

以下课件页来自官方讲义 cs224n-2026-lecture11-evaluation.pdf,但在本次录制(Yann Dubois 的讲座)中没有被讲到,或者主题与本次讲述内容不重合。为保持课件完整性,在此集中列出,并附简短的编者导读。 需要说明的是:这些页面属于另一版讲义(Yejin Choi 主讲版本),因此它们涉及的 MMLU-Pro / HLE / GPQA / MAUVE 等内容,在本书正文中没有对应的讲述。

A. 基准的演进:GPQA 与 Humanity's Last Exam

GPQA:研究生级别、

📷 GPQA:研究生级别、"谷歌都搜不到答案"的问答基准
回到原视频 (00:00:00)

编者说明:GPQA(Graduate-Level Google-Proof Q&A)发布于 2023 年 11 月,当时"看起来太难了";而到 2024 年 COLM 会议论文宣讲时,O1 已达到 78.3%。这是"基准保质期缩短"的又一个例子——也是本书正文反复提到的那条规律。HLE(Humanity's Last Exam)延续了同样的思路:把题出到人类专家都很难的程度。

B. 对抗基准:ANLI

编者说明:ANLI 的做法是把模型放进标注流程:先让模型做,再针对它做错的样本,让人来构造更难的样本。这样得到的测试集专门针对当前模型的弱点。它与正文讲的"动态基准"是两种不同的反制伪相关的手段。

C. 行为类基准

编者说明:行为类基准测的不是"会不会做题",而是模型的倾向性:谄媚(sycophancy,即一味顺着用户说)、诚实(是否承认不知道)、讨好、以及模型持有什么样的观点。这部分与正文 9.3 节"模型反映谁的意见"是同一主题的延伸。

D. 信息论指标:熵、多样性、散度

编者拓展|两种熵 - 香农熵:随机变量的"平均意外程度",也就是平均信息量:

$$H(X) = -\sum_{x} p(x)\log p(x)$$

$$S(\rho) = -\operatorname{tr}(\rho \log \rho) = -\sum_i \lambda_i \log \lambda_i$$

通俗地说:把"样本"当成基向量,把"它们有多像"写进一个矩阵,再对这个矩阵求熵。

编者说明:课件用两个语料库提问:能不能用上述某种熵来度量语料的多样性?理论上可以(👍),实践上则有疑问(🤔)。语料库 1 是两句毫无关系的话("我的马吃了我的作业" / "量子纠缠使隐形传态成为可能"),多样性高;语料库 2 是两句几乎一样的话(201 盏灯罩争论拖船的黏度 / 202 盏灯罩争论拖船的黏度),多样性低。用途包括:衡量基准本身的多样性,以及衡量 LM 输出的多样性。

编者说明:G-Vendi score(Jung et al., 2025)把 Vendi score 算在梯度向量上,据说比任何其他多样性度量都更能预测分布外(OOD)性能。

编者说明:在信息论指标之前,人们用 Self-BLEU(Zhu et al., 2018,自己和自己的 BLEU 越高说明越不多样)和 Distinct-n(Li et al., 2016,统计不同 n-gram 的比例)来度量多样性。

编者拓展|KL 散度与"零支撑"问题 KL 散度衡量两个分布的差异:

$$D_{\mathrm{KL}}(P \,|\, Q) = \sum_x p(x)\log\frac{p(x)}{q(x)}

\quad\text{(连续情形:} \int p(x)\log\frac{p(x)}{q(x)}\,dx\text{)}$$

课件问:能不能用 KL 来度量"LLM 的语言"与"人类的语言"之间的散度?理论可以(👍),实践困难(🤔): - 两个连续、高维分布之间的 KL 在计算上基本不可行; - 更致命的是,如果 $P$ 和 $Q$ 的支撑集不相交($q(x)=0$ 而 $p(x)>0$),估计会直接失败——除以零。

用途举例:比较不同解码算法能否产生更像人类的文本;检查差分隐私或水印算法扰动后的文本分布是否仍接近原始分布。

编者拓展|MAUVE 怎么绕开 KL 的困境 MAUVE(Pillutla et al., 2021)的核心是量化,把不可解的连续 KL 变成可解的多项分布 KL: 1. 用 LLM 把每个文本样本编码成神经向量; 2. 对两组样本做 K-means 聚类; 3. 在这 k 个簇上得到两个多项分布,再计算它们的 KL。

因为簇的数目有限、且每个簇都有非零概率,"支撑集不相交"的问题就被避开了。

编者说明:MAUVE 的最终得分来自在 KL 与反向 KL(reverse KL)之间做平滑插值所形成的一条"前沿曲线"。直觉上:单独用 KL 会奖励"覆盖不足"(漏掉大量人类模式),单独用反向 KL 会奖励"生成不准"。取两者的折中,能同时惩罚这两种失败。

E. 生成-验证鸿沟(Generator–Validator Gap)

编者说明:课件给出的例子很生动:截至 2023 年 9 月,ChatGPT 能正确回答 "7+8 等于几"(答案 15),但当你问它 "7+8=15,对还是错" 时,它会回答 "错"。 即便是当时最强的 GPT-4,也只有 76% 的情况下"生成"与"验证"是自洽的。这与正文 9.1 节的"一致性"问题是同一类:模型能生成正确答案,却认不出正确答案——说明它内部的"判断"与"生成"走的不是同一条路径。

编者说明:官方课件中这一页没有可供提取的文字,推测为整页图片(对比或示意图)。此处保留其存在。


附:参考与延伸阅读

编者补充

已知疑点

本节集中列出本书在重构过程中无法确定的地方,供读者自行判断。凡是有依据或时间点的,都尽量标注。

  1. 视频与官方课件的版本不匹配(最重要的一条) 本视频标题为 Spring 2024 | Lecture 11 - Benchmarking by Yann Dubois,讲者是 Yann Dubois(斯坦福博士生);而随附的官方幻灯片 cs224n-2026-lecture11-evaluation.pdf 署名讲者为 Yejin Choi,内容标注为 Lecture 11: Evaluation。两者是同一门课、不同年份、不同讲者的两版讲义。因此:
  2. 书中所有 SLIDE:n@HH:MM:SS 的幻灯片编号来自官方课件,而时间戳是按内容主题对齐的近似值,并非"该页确实在这一秒展示过"的逐帧记录;
  3. 反过来,讲者在錄音中展示的某些图(例如 AlpacaEval 相关性图、GSM1K 对比图、MMLU 三实现分数表)并不在提供的课件文本里,本书对这些使用了 SCREENSHOT:。

  4. 课件许可协议未标注 提供的 course/slides_text.md 只给出文件名与页面文字,没有给出具体的 CC 许可名称与作者署名格式。本书按惯例注明了课程与讲者,但未能照抄许可名。如需正式引用,请以课程主页(https://web.stanford.edu/class/cs224n/ )上的实际声明为准。

  5. 疑似听写/同音错误(编者推断,非讲者原话)

字幕中出现 编者推断 依据
"harras he / harass he" 某位在推特上分析代码基准污染的学者,名字无法确认 上下文是"如果你没关注他,你应该关注"
"F 1.5" Phi-1.5(微软) 上下文是"微软的模型""也有类似指控"
"dis remal" Discrim-Eval(Anthropic) 上下文是"用模板改种族/性别、测保险决策"
"ml puff" MLPerf 上下文是"在最短时间内达到该性能"
"beer QA" 可能是 BeerQA,也可能是其它 QA 数据集 与 HotpotQA 并列出现
"mty bench / empty bench" MT-Bench 与 AlpacaEval 并称"两个最常见的 LLM 评测"
"Chris Peach" Christopher Potts(CS224U) 上下文是"他讲不同指标的课非常好"
"Shakar / Shikhar" 下一讲讲 Agent 的同学,全名无法确认 讲者说"Shikhar 会来讲 Agent"
"Mega Global bench extreme" 可能是 MEGA / GlobalBench / XTREME 中的若干 上下文是"覆盖 30–40 种语言的多语种基准"
"Suzanne / Susanne" 某位质疑 Phi-1.5 污染的人,名字无法确认 与第 3 行同段出现
  1. 讲者本人明确表示不确定的地方
  2. 关于 HELM / 原版 MMLU / harness 三种实现分别对应哪种取答案方式,讲者原话是"我不太确定哪个是哪个",并猜测 harness 用的是"计算对数似然"那一种。书中保留了这种不确定性。
  3. 关于"短答案问答(short-answer QA)如何自动判定正确",讲者在回答学生提问时说"我其实不知道",随后补充了 HotpotQA 之类数据集使用 F1 与精确匹配(exact match)的做法。
  4. 关于"人类评测只有 5% 可复现"的那篇论文,讲者说"我记不清是哪一年,我猜是 2021 年",论文数量"我记的是 128 篇",时间跨度"2015 到 2020"。这些数字未被当场核实。

  5. 与官方讲义相冲突或表述含糊之处

  6. 讲者在讲 BLEU 时说自己"总记不住 BLEU 和 ROUGE 的全称"——本书按课件与通用定义给出全称,若与讲者原意不符,以课件为准。
  7. 讲者说"MMLU 过去四年从 25% 涨到 90%",这是一个大致量级描述,并非精确的文献数据点。
  8. 关于 AlpacaFarm 中"支付加州最低工资 1.5 倍、实际拿到 2~2.5 倍"的数字,来自讲者口头回忆,未见文字来源。
  9. 关于"70% 的论文只测英语、40% 只测准确率、共 461 篇"的数字,讲者是在口头转述另一篇论文,本书未能核实原始出处。

  10. 编者的改写判断

  11. 第 9.3 节中"单一文化"一词,是编者对讲者 "monoculture of NLP benchmarking" 的中译。
  12. 书中若干处把讲者略显跳跃的表达整理成了"问题—原因—结论"的结构;凡涉及事实性内容的补全,均已用 编者说明 / 编者拓展 标出,未冒充讲者原话。
  13. 讲到"agent 评测需要沙盒"时,讲者没有点名任何具体沙盒工具;本书未擅自补写工具名。


附录:课堂未展示的幻灯片

附录:官方幻灯片里课堂未展示的页

下面这些页来自官方幻灯片,但课堂录制里没有对应的展示画面。由 vb slides 自动补入,供对照查阅。

第 17 页幻灯片 · The significance of SQUAD and SQUAD-2

🖼️ 第 17 页幻灯片 · The significance of SQUAD and SQUAD-2

Slide 13

🖼️ Slide 13

第 14 页幻灯片 · Lecture Plan

🖼️ 第 14 页幻灯片 · Lecture Plan

Slide 24

🖼️ Slide 24

Slide 27

🖼️ Slide 27

Slide 28

🖼️ Slide 28

Slide 29

🖼️ Slide 29

第 32 页幻灯片 · 32

🖼️ 第 32 页幻灯片 · 32

第 33 页幻灯片 · 33

🖼️ 第 33 页幻灯片 · 33

Slide 43

🖼️ Slide 43

Slide 44

🖼️ Slide 44

Slide 45

🖼️ Slide 45

Slide 46

🖼️ Slide 46

Slide 47

🖼️ Slide 47

Slide 48

🖼️ Slide 48

Slide 49

🖼️ Slide 49

第 50 页幻灯片 · 50

🖼️ 第 50 页幻灯片 · 50

第 67 页幻灯片 · Goodhart’s laws: “when a measure becomes a target, it ceases to be a good measure

🖼️ 第 67 页幻灯片 · Goodhart’s laws: “when a measure becomes a target, it ceases to be a good measure"