Lecture 14 · 评测数据:基准怎样构建、怎样被污染、怎样保持可靠 · Data for Evaluation

Training Data for AI · Lecture 14。个人学习讲义与配套实验,按主题整理并持续修订。

课程源码 ZIP ↓

个人整理的学习笔记,非官方讲义;课程来源与整理说明见课程介绍。配套示例未逐一运行验证。

本篇目录

对应 Maps to:补充讲。第 1 讲 slides 的课程计划里列了 “Data for evaluation”,但 Stanford CS525 Winter 2026 的最终日程里没有单独的一次课。原课里和评测有关的内容散在几次课里:1/5 第 1 讲(ImageNetV2、测试集的反复使用)、1/26 Vaishaal Shankar 的 DCLM 讲座(小规模上有信号的 CORE 任务、去污染)、2/11 Karl Pertsch 的总结(“以数据为中心的研究很难,因为评测难”)、2/23 Jonah Kallenbach 的讲座(CASP 的前瞻式评测、结合亲和力标签的噪声)。 依据说明:本讲依据公开论文和报告:Northcutt et al.(2021,测试集错标)、Gema et al.(2024,MMLU-Redux)、Vendrow et al.(2025,白金基准)、Zellers et al.(2019,HellaSwag)、Rein et al.(2023,GPQA)、Phan et al.(2025,Humanity’s Last Exam)、Brown et al.(2020,GPT-3 的污染分析)、Magar & Schwartz(2022)、Oren et al.(2023)、Zhang et al.(2024,GSM1k)、White et al.(2024,LiveBench)、Jain et al.(2024,LiveCodeBench)、Singh et al.(2025,The Leaderboard Illusion)、Miller(2024,误差棒)、Heineman et al.(2025,信号与噪声)、Magnusson et al.(2025,DataDecide)、Maia Polo et al.(2024,tinyBenchmarks)。论文的关键数字核对过摘要。SWE-bench Verified 的数字来自 OpenAI 2024 年和 2026 年的两篇博客,我无法直接打开原文页面,用的是多个二手摘要一致的数字,讲义里注明了。整个结构、“统一视角”和代码都是我补充的。 配套代码 Code:code/lecture14/(numpy;3 个脚本 + 1 个模块;最长的约 8 秒) 预计阅读时间:2.5 小时(含运行代码)


0. 本讲导航 · How to read this lecture

0.1 学习目标 Learning goals

  1. 说清楚评测数据在这门课里的三个用途(比较模型、追踪进展、为数据决策提供信号),以及为什么”评测集也是数据集”。
  2. 知道一个基准分数里混着哪几种误差:抽样误差、标签误差、构造偏差、污染;会算误差棒,会做配对比较,知道题目成组时要用聚类标准误。
  3. 理解错标怎样改变排名(Northcutt et al.),以及怎样用”很多模型投票 + 人工复核”找错标。
  4. 理解用模型筛题(对抗式过滤)带来的偏差:基准偏离筛选模型,第一批分数受回归均值影响。
  5. 理解测试集污染怎样发生、n-gram 检测的盲区和误报、估计污染影响的几种方法(以及其中的偏差)、不看训练数据也能检测污染的可交换性检验。
  6. 理解”小规模实验能不能选对数据”:决策准确率、信噪比,以及为什么连续指标比准确率更适合小模型。

0.2 先修与本讲范围 Prerequisites & scope

默认你已经会 Assumed本讲不展开 Not covered
第 1 讲:ImageNetV2、测试集的反复使用、回归均值生成任务的指标(BLEU、ROUGE、BERTScore)
第 5、6 讲:DataComp / DCLM 的”固定训练、只换数据”大模型当评委的偏差与校准
二项分布、标准误、置信区间人类评估的实验设计

CS224N 第 13 讲(基准与评测) 从语言模型的角度讲了评测指标、校准、大模型当评委、Chatbot Arena 和污染检测;本讲和它有重叠,但角度不同:把评测集当作一个数据集——它怎样被收集、标注、筛选、泄漏、退役,以及它怎样服务于”比较数据集”这件事。

0.3 本讲地图 Map

§1  为什么单独讲评测数据:评测是测量仪器
§2  基准是怎样构建的;用模型筛题的偏差                      ← 代码 01 演示 3
§3  一个分数的误差棒:抽样误差、配对、题组                  ← 代码 01 演示 1
§4  标签错误:有多少、怎样改变排名、怎样找出来              ← 代码 01 演示 2
§5  测试集污染:怎样发生、怎样检测、影响多大、怎样预防      ← 代码 02
§6  为数据研究服务的评测:决策准确率、信噪比、小基准        ← 代码 03
§7  排行榜与竞技场
§8  一个统一的视角
§9  延伸与前沿
§10–14  小结、常见误区、练习、延伸阅读、下一讲预告

0.4 关于数字

论文的数字来自论文摘要和正文。代码的数字来自一个用项目反应理论(item response theory,IRT)造的小世界(eval_lab.py):

P(模型 m 答对第 i 题)=1k+(1−1k)σ(ai(θm−bi))P(\text{模型 } m \text{ 答对第 } i \text{ 题}) = \frac{1}{k} + \left(1 - \frac{1}{k}\right)\sigma\big(a_i(\theta_m - b_i)\big)

θm\theta_m 是模型的能力,bib_i 是题目的难度,aia_i 是区分度,1/k1/k 是瞎猜的概率(四选一是 0.25)。能力远高于难度时几乎必对,远低于难度时只剩瞎猜。IRT 是心理测量学里给考试打分的标准模型,近年也被用来分析语言模型的基准。它当然不是真实的语言模型,但”能力 vs 难度”的结构足以演示本讲的大部分现象,而且我们知道全部真相(真实能力、哪些题错标、哪些题被污染)。代码固定了随机种子,同一台机器上重复运行输出逐字相同。


1. 为什么单独讲评测数据 · Evaluation is a measuring instrument

1.1 评测数据的三个用途

这门课到现在讲的都是训练数据。但每一讲的结论都依赖另一种数据:评测数据。

  1. 比较模型:排行榜、论文里的表格。这是基准最常见的用途,也是第 1 讲 ImageNet 的故事。
  2. 追踪进展:一个领域进步得多快、离”解决”还有多远。第 3 讲的共同任务框架让 1980 年代的语音识别重新获得资助,靠的就是可信的进步曲线。
  3. 为数据决策提供信号:这是这门课特有的用途。DataComp 和 DCLM 把基准”翻过来”——固定模型和训练代码,只换数据,用下游评测比较数据集(第 5、6 讲)。第 7 讲的过滤阈值、第 10 讲的混合比例、第 11 讲的合成数据配方,都是用评测分数选出来的。

第三个用途让评测数据的质量变成了训练数据研究的瓶颈:评测是测量仪器。 如果尺子本身是歪的(标签错了)、刻度太粗(题太少)、只在某个范围里有刻度(太难或太容易)、或者被测的东西事先偷看过尺子(污染),那么用它得出的所有”这个数据集更好”的结论都靠不住。

原课的几位讲者都碰到了这个问题。Karl Pertsch 在机器人讲座的总结里说,以数据为中心的机器人研究”很难(评测 🥲),但潜在的影响很大”(第 15 讲);Jonah Kallenbach 在生物讲座里强调,AlphaFold 的突破离不开 CASP 这个前瞻式的评测(预测者提交时结构还没有公开,不可能泄漏),而小分子结合亲和力的标签本身就很吵:同一对分子在不同来源的测量值之间 R2R^2 只有 0.31(第 17 讲)。

1.2 一个分数里有什么

一个基准分数可以粗略地分解成:

成分含义本讲
真实能力模型在”这一类任务”上的能力——我们想测的东西
抽样误差基准只是所有可能的题目里的一个样本§3
标签误差金标准答案本身是错的或有歧义§4
构造偏差题目是怎样选出来的(例如只保留某些模型做错的题)§2.3
污染模型在训练时见过这些题§5
适应性过拟合研究者根据这个基准反复调整模型(第 1 讲)§7
格式敏感性提示词、选项顺序、答案抽取方式的影响CS224N 第 13 讲

本讲依次讨论前几项。它们有一个共同点:都是数据问题——题目怎样采样、怎样标注、怎样筛选、和训练数据怎样重叠。


2. 基准是怎样构建的 · How benchmarks are built

2.1 基准的演化

阶段代表题目从哪里来主要问题
数据集的测试划分MNIST、ImageNet和训练集同一个流程收集,随机切出一部分和训练集同分布,测不到分布偏移(第 1、2 讲)
多任务汇总GLUE、SuperGLUE汇集已有的数据集很快饱和(GLUE 发布约一年就被超过人类基线)
众包 + 对抗SWAG → HellaSwag;ANLI、Dynabench机器生成候选,再用模型筛掉”太容易”的;或者人和模型对抗着写题难度相对于筛选时的模型(§2.3)
考试题MMLU(57 个学科、约 1.4 万道测试题)网上公开的考试和练习题错标(§4)、污染(§5)
专家写题GPQA(448 道)、Humanity’s Last Exam(2500 道)付费请领域专家写”搜不到答案”的题,再用前沿模型筛贵;构造偏差
从真实世界收割SWE-bench(GitHub 的 issue 和 PR)、Terminal-Bench(第 9 讲)真实的任务和真实的测试测试本身可能有错;仓库在网上(污染)
持续更新LiveBench(每月更新)、LiveCodeBench(按比赛日期)最近发布的题目维护成本;每个版本不可比
人类偏好竞技场Chatbot Arena用户自己提问、两两比较用户分布、选择性公开(§7)

GPQA 的数字很好地说明了”专家写题”的意图:拥有或正在读博士学位的领域专家答对 65%(去掉他们事后承认的明显失误后 74%);高水平的非专家花平均 30 多分钟、可以随便上网,也只有 34%;当时最强的 GPT-4 基线 39%。这种题测的是”专家知识”,而不是”会不会搜索”。

2.2 设计一个评测集的维度

维度问题常见的取舍
有效性(validity)它测的是我们想测的能力吗?多选题容易自动评分,但离真实使用远;真实任务有效性高,但评分难
难度与区分度在我们关心的模型范围里,分数能拉开吗?太容易会饱和,太难则所有模型都在瞎猜(§6)
标签质量金标准对吗?有没有歧义?专家标注贵;众包便宜但错得多
规模题够不够多,误差棒多宽?题多则贵(尤其是需要人工或智能体评测的)
抗污染题目会不会进入训练数据?公开便于复现,私有则难以审计
成本与可复现每次评测要花多少钱、多少时间?结果能复现吗?智能体评测要搭环境,每次运行都有随机性

没有一个基准能在所有维度上都好。下面几节把其中几个维度量化。

2.3 用模型筛题:对抗式过滤的偏差

背景。 2018 年的 SWAG 是一个常识推理数据集:给一句话,从四个续写里选最合理的。BERT 发布后很快接近人类水平。Zellers et al.(2019)怀疑模型利用的是数据里的表面线索,于是做了 HellaSwag:用语言模型生成大量错误的续写,再用一组判别模型迭代地筛选,只保留模型难以排除的那些(对抗式过滤,adversarial filtering)。结果:人类 95% 以上,当时最好的模型低于 48%。Humanity’s Last Exam 用类似的思路:专家提交的题先让几个前沿模型做,模型答对的题被拒绝。

直觉。 这种方法确实能造出难题,但”难”是相对于筛选模型定义的。它有两个副作用:

  1. 回归均值。 一道题被保留,是因为筛选模型”那一次”答错了;模型的输出有随机性,其中一些题只是运气不好。按一次有噪声的测量做选择,下一次测量会往回走——这就是第 1 讲 §5.8 的回归均值。所以对抗式基准发布后的第一波”进步”有一部分是假的。
  2. 偏向不像筛选模型的模型。 被保留的是筛选模型的盲区。另一个能力相当、但擅长的东西不同的模型,在这些题上会显得强得多。

代码 01 演示 3 把这两点量化了。每道题考两种技能的某个组合;三个筛选模型擅长技能 1,模型 G 同样强、但擅长技能 2。4 万道候选题里,三个筛选模型都答错的有 4902 道(12.3%),作为新基准:

模型候选题上的准确率新基准上(重新作答)
三个筛选模型0.659–0.6620.260–0.276(按构造本应是 0)
和 F1 能力完全相同的新模型0.6610.272
同样强、技能组合不同的模型 G0.6610.415
更强的下一代 F+0.7520.376

筛选模型”按构造”是 0 分,重新作答却有约 0.27:这就是回归均值。G 在候选题上和 F 一样强,在新基准上领先 14 个百分点:基准测的部分是”和筛选模型的差别”。F+ 比 F 强,新基准仍然能看出来——对抗式基准能衡量进步,但分数的绝对值(“前沿模型只有百分之几”)主要是筛选过程决定的。 HellaSwag 后来的历史也印证了这一点:GPT-3(2020)约 79%,GPT-4(2023)约 95%,和人相当。


3. 一个分数的误差棒 · Error bars

3.1 基准是题目总体的一个样本

Miller(2024,Adding Error Bars to Evals)的出发点是:我们关心的不是模型在”这 1000 道具体的题”上的表现,而是它在”这一类题”上的能力;基准是从一个看不见的题目总体(super-population)里抽出来的样本。于是一个准确率 p^\hat p 的标准误是

SE(p^)=p^(1−p^)n\mathrm{SE}(\hat p) = \sqrt{\frac{\hat p(1 - \hat p)}{n}}

n=100n = 100、p^=0.6\hat p = 0.6 时 SE ≈ 0.049,95% 置信区间约 ±9.6 个百分点;n=1000n = 1000 时约 ±3 个百分点;n=10000n = 10000 时约 ±1 个百分点。很多论文的表格只给一个数字,没有误差棒。

3.2 比较两个模型:配对

比较两个模型时,不要把两个置信区间画出来看是否重叠,而要看差的置信区间。两个模型做的是同一批题,难题一起错、易题一起对——逐题相减(配对),题目难度的差异就被抵消了:

SE(p^B−p^A)=sd(xB,i−xA,i)n\mathrm{SE}(\hat p_B - \hat p_A) = \frac{\mathrm{sd}(x_{B,i} - x_{A,i})}{\sqrt n}

3.3 题目成组:聚类标准误

很多基准的题目不是独立的:一篇阅读材料下面有 5 道题,MMLU 有 57 个学科,SWE-bench 的题来自 12 个仓库。同一组的题一起变难或变容易,有效样本数更接近”组数”而不是”题数”,朴素的标准误偏小。聚类标准误(cluster-robust SE)先把每组的残差加起来,再算方差:

SEcluster2=GG−1⋅1n2∑g=1G(∑i∈g(xi−xˉ))2\mathrm{SE}_{\text{cluster}}^2 = \frac{G}{G-1}\cdot\frac{1}{n^2}\sum_{g=1}^{G}\Big(\sum_{i \in g}(x_i - \bar x)\Big)^2

代码 01 演示 1:两个模型在题目总体上的真实准确率是 0.625 和 0.645(差 2.1 个百分点),题目平均 5 道一组。每个规模重复 1000 次:

题数A 的 SE差的 SE:不配对差的 SE:配对排名正确的比例配对检验显著的比例95% CI 覆盖率:朴素覆盖率:聚类
1000.04830.06780.059660%7%87%93%
4000.02420.03400.030074%10%88%95%
16000.01210.01700.015090%26%88%94%
64000.00610.00850.0075100%77%87%94%

三点:

  1. 100 道题的基准只有 60% 的机会把这两个模型排对——比抛硬币好不了多少。
  2. 配对让差的标准误变小(6400 道题时 0.0085 → 0.0075)。这个模拟里两个模型对错的相关不算强;题目难度越分散、两个模型越像,配对的收益越大。
  3. 朴素的 95% 置信区间只覆盖真实值 87% 的时间,聚类标准误恢复到 94%。有意思的是,配对的差几乎不需要聚类修正:这个世界里”组”只影响难度,而难度在相减时已经抵消了。如果两个模型在某些组上系统性地一强一弱(比如一个擅长数学学科),配对的差也要做聚类修正。

3.4 多少题才够

要以 80% 的把握(检验功效)、在 5% 的显著性水平上检出差 Δ\Delta,配对比较需要的题数大约是

n≈(z0.975+z0.8)2 σd2Δ2=7.84 σd2Δ2n \approx \frac{(z_{0.975} + z_{0.8})^2\,\sigma_d^2}{\Delta^2} = \frac{7.84\,\sigma_d^2}{\Delta^2}

σd\sigma_d 是逐题差 xB,i−xA,ix_{B,i} - x_{A,i} 的标准差。演示 1 里 6400 道题的配对标准误是 0.0075,所以 σd≈0.0075×80=0.6\sigma_d \approx 0.0075 \times 80 = 0.6;要检出 2.1 个百分点的差:n≈7.84×0.36/0.0212≈6400n \approx 7.84 \times 0.36 / 0.021^2 \approx 6400——和演示 1 里 6400 道题时 77% 的功效吻合。要可靠地分辨 1 个百分点的差,需要约 2.8 万道题。 所以排行榜上相差零点几个百分点的名次,大多在噪声之内。


4. 标签错误 · Label errors

4.1 有多少错标

研究发现
Northcutt, Athalye & Mueller(2021)10 个常用的视觉、语言、音频数据集的测试集平均至少 3.3% 错标;ImageNet 验证集至少 6%。先用置信学习(confident learning)筛出候选,再众包验证,平均 51% 的候选被确认是错标
Gema et al.(2024,Are We Done with MMLU?)人工重新标注 MMLU 全部 57 个学科的 5700 道题(MMLU-Redux):估计 6.49% 的题有错;病毒学子集里 57% 的题有问题
Vendrow et al.(2025,白金基准)修订了 15 个流行基准里的题,去掉错标和歧义;在”白金”版本上,前沿模型仍然会在小学数学应用题这样的简单任务上出错——原来被错标的噪声掩盖了
SWE-bench Verified(OpenAI,2024)93 位有 Python 经验的开发者人工检查了 1699 道随机抽取的 SWE-bench 题,标注”问题描述是否不充分""测试是否会拒绝正确的解法”;约 68.3% 的题因为这些问题被过滤,最后发布 500 道(二手摘要的数字)
SWE-bench Verified 的退役(OpenAI,2026 年 2 月)审查了模型经常做不出来的一部分题,至少 59.4% 的测试有缺陷(会拒绝功能正确的提交);还发现了训练数据污染的证据。OpenAI 不再报告这个基准的分数(二手摘要的数字)

SWE-bench 的故事是一个基准的完整生命周期:从真实世界收割 → 发现很多题有问题 → 人工清洗出 Verified 子集 → 被广泛使用、分数饱和 → 剩下的”难题”里大量是坏题,加上污染 → 退役。

4.2 错标怎样改变排名

直觉。 错标的题上,“答对”金标准意味着答错了真正的答案。哪个模型更会”答对”错的标签?Northcutt et al. 的解释是:训练集和测试集通常是用同一种方式标注的,标注者的系统性混淆(比如把两个相近的品种搞混)在训练集里也有;容量大的模型把这些混淆也学会了,于是在错标的测试题上更容易”答对”。他们发现:在更正后的 ImageNet 测试集里,只要原来错标的样本的比例再高 6%,ResNet-18 就会超过 ResNet-50;CIFAR-10 上,VGG-11 和 VGG-19 的反转点是 5%。

代码 01 演示 2:2 万道题,6.1% 错标。大模型更强(θ\theta = 0.9 vs 0.6),但在错标的题上更常选那个错的金标准(qq = 0.45 vs 0.10):

模型原标签准确率更正后准确率正确标注的题上错标的题上(按更正后的标签)
小模型(ResNet-18 式)0.7080.7330.7380.658
大模型(ResNet-50 式)0.7730.7680.7900.431

按原标签大模型领先 6.5 个百分点,按更正后的标签只领先 3.4 个。在更正后的测试集里,如果”原来错标的题”的比例从 6.1% 涨到 18.5%,小模型就会追上大模型。反转点取决于我设的 qq,结论是定性的:在噪声大的基准上,“更强”可能部分来自”更会拟合标注者的习惯”。

4.3 上限

如果 6.1% 的题标错了,一个总是答对真答案的完美模型在原标签下也只能得 93.9%。MMLU 的 6.49% 意味着它的有效上限在 93.5% 左右(再加上一部分有歧义的题)。分数到了 90% 以上,标签噪声就和模型之间的差距一样大了——这正是第 1 讲 §6 在 ImageNet 上看到的情况。

同样的逻辑也适用于回归任务。第 17 讲会讲到:小分子结合亲和力(IC₅₀)在不同来源的测量值之间 R2R^2 只有 0.31;Brown、Muchmore & Hajduk(2009)给出的上限是 Rmax⁡2=σtrue2/(σtrue2+σexp2)R^2_{\max} = \sigma^2_{\text{true}}/(\sigma^2_{\text{true}} + \sigma^2_{\text{exp}})——任何模型在吵的标签上都不可能得到比标签自身一致性更高的分数。

4.4 怎样找错标

最常用的办法是让很多模型投票:如果很多强模型都选了同一个”非金标准”的答案,这道题很可能标错了。但有取舍。演示 2 让 8 个比上面两个都强的模型各答一遍;一道题被标记 = 至少 mm 个模型选了同一个非金标准的选项:

mm被标记的题其中真错标精确率错标被找到的比例
32235114151%93%
581873890%60%
717116798%14%

门槛低时能找到大部分错标,但一半的候选其实是难题——强模型一起被同一个诱人的干扰项骗了。门槛高时精确,但漏掉大部分。所以投票只能筛出候选,必须人工复核。Northcutt et al.、MMLU-Redux、白金基准、SWE-bench Verified 都是”自动筛 + 人工逐题检查”。(mm = 3 时 51% 的精确率和 Northcutt et al. 的 51% 只是巧合。)


5. 测试集污染 · Test-set contamination

5.1 污染是怎样发生的

预训练语料是从网上爬的(第 6、7 讲),基准的题目也在网上:论文附录、GitHub 仓库、Hugging Face 数据集、论坛讨论、题库网站、翻译成其他语言的版本。即使模型开发者没有故意,测试题也会通过这些途径进入训练集。还有几种更隐蔽的途径:

  • 合成数据:用一个见过测试题的模型生成训练数据(第 11 讲),测试题的内容可能被”改写”进去;
  • 指令数据:很多指令微调数据集是从已有的 NLP 基准改造来的(第 8 讲的 FLAN);
  • 按排行榜开发:根据基准反复调整(第 1 讲的适应性过拟合),这不是”见过题”,但效果类似。

污染的形式也不同:原样复制、只有题目没有答案、改写过、换了格式(JSON、表格、LaTeX)、翻译成别的语言、只有文章没有题目(阅读理解)。

5.2 n-gram 重叠检测

最常用的检测方法是查 n-gram 重叠:把训练语料里所有长度为 nn 的片段建成索引,一道测试题只要有一个 nn-gram 出现在索引里,就标记为”可能污染”。GPT-3(Brown et al. 2020)用 13-gram,对短于 13 个 token 的样本要求整段匹配,并为每个基准报告”干净子集”上的分数。论文还坦白:一个程序错误让它们没能在训练前去掉部分重叠,重新训练又太贵,所以只能事后分析。DCLM 也用 13-gram 检查训练文档和 53 个评测任务的重叠(第 6 讲)。

代码 02 演示 1 造了一个约 105 万 token 的语料和 1000 道题,按五种方式把 400 道题放进语料:

题的真实情况题数5-gram8-gram13-gram25-gram
原样复制100100%100%100%50%
只复制题干100100%100%100%50%
改写后复制(一半的词换成同义词)100100%41%2%0%
换格式复制(每 4 个 token 插一个分隔符)10058%15%1%0%
干净·阅读理解(文章在语料里)200100%100%100%100%
干净·用了常见的模板短语200100%32%2%1%
干净·其他20016%1%1%0%

(前四行是真的污染,被标记的比例越高越好;后三行是干净的题,越低越好。)

  1. 改写和换格式基本骗过了 13-gram(2%、1%)。Yang et al.(2023,Rethinking Benchmark and Contamination for Language Models with Rephrased Samples)发现,在改写过的测试题上训练的模型分数被大幅抬高,而 n-gram 去污染完全检测不到。所以去污染之前要先做文本归一化(统一空白、标点、格式)。
  2. 阅读理解题被误报:文章在语料里(比如取自维基百科),题目和答案不在——任何 nn 都会标记。GPT-3 就遇到了这个问题:一些阅读理解数据集被标成”严重污染”,但模型并没有见过问题和答案。这算不算污染,取决于你想测的是阅读理解能力还是世界知识。
  3. nn 太小会误报(5-gram 标记了所有用了常见模板短语的干净题、16% 的其他干净题),nn 太大会漏报(25-gram 对一半不到 25 个 token 的短题无能为力)。13-gram 是折中,但没有一个 nn 能同时解决改写和换格式。

5.3 污染把分数抬高了多少

检测到重叠之后,下一个问题是:它让分数抬高了多少? 这并不显然。Magar & Schwartz(2022)把下游数据集混进预训练语料训练 BERT,发现有时模型会”利用”污染,有时只是”记住”了却没有因此答得更好;记忆和利用受不同因素影响(重复次数、模型大小)。

常用的估计方法有两种:

  • (a) 比较全部题和”干净子集”(GPT-3 的做法):如果去掉被标记的题之后分数差不多,就说污染影响不大。
  • (b) 重新出一套同分布的新题(GSM1k 的做法):Zhang et al.(2024)仿照 GSM8K 的风格和难度,雇人从头写了 1250 道小学数学题。一些模型家族在新题上明显下降(NeurIPS 版本报告最多约 8 个百分点,arXiv 后续版本约 13 个百分点),前沿模型几乎没有下降;模型”生成 GSM8K 原题”的概率和它的掉分正相关。这和 ImageNetV2(第 1 讲)是同一个设计。

代码 02 演示 2 里,1000 道题中 28% 出现在训练语料里(平均出现 3.9 次);流行的题更容易,也更可能被污染。模型答对的概率 = 背下的概率 + (1 − 背下的概率) × IRT 概率:

模型基准分数真实分数(无污染)真实的虚高(a) 全部 − 干净子集(b) 全部 − 新题污染题上背下的概率
小模型0.5220.502+0.019+0.031+0.0260.18
中模型0.6770.640+0.037+0.042+0.0410.52
大模型0.7940.759+0.035+0.037+0.0370.80
超大模型0.8690.845+0.025+0.027+0.0270.96
对照:不记忆0.7590.759+0.000+0.018+0.0020.00
  1. 方法 (a) 有偏:完全不记忆的对照模型,真实虚高是 0,(a) 却报告了 +0.018。原因是被污染的题本来就更容易:去掉它们,剩下的干净子集更难,分数自然低。污染和难度纠缠在一起时,“全部 vs 干净子集”的差别不能直接解读成污染的影响。
  2. 方法 (b) 接近真相(对照模型 +0.002;超大模型 +0.027 vs 真实 +0.025),代价是要真的重新出一套题,而且”同分布”很难保证。即使新题和原题来自完全相同的分布,有限的题数也带来误差(小模型 +0.026 vs 真实 +0.019)。
  3. 虚高不随模型单调增长:超大模型背下了 96% 的污染题,但这些题它本来就大多会做,虚高反而小于中、大模型。污染的影响 ≈ 背下的概率 × 本来不会做的概率。 “记住了多少”和”分数被抬高了多少”是两个不同的量——这正是 Magar & Schwartz 区分”记忆”和”利用”的原因,也提醒我们 GSM1k 的那种相关不会是完美的。

5.4 看不到训练数据时:可交换性检验

大多数模型不公开训练数据,n-gram 检测就无从做起。一类方法是成员推断:模型给见过的文本更高的概率(例如 Min-K% Prob,看一段文本里概率最低的那些 token;CS224N 第 13 讲)。它的问题是没有可靠的假阳性率:低困惑度可能只是因为文本简单。

Oren et al.(2023)提出了一个有统计保证的检验。直觉:很多测试集的样本顺序是没有意义的(可交换的,exchangeable)。如果模型没见过这个测试集,“原始顺序”和”随机打乱的顺序”在它眼里应该一样可能;如果它背下了测试集文件,就会明显偏爱原始顺序。于是:

p=1+#{打乱的顺序的对数似然≥原始顺序的对数似然}1+打乱的次数p = \frac{1 + \#\{\text{打乱的顺序的对数似然} \ge \text{原始顺序的对数似然}\}}{1 + \text{打乱的次数}}

没有污染时,这个 pp 值在 [0, 1] 上均匀分布,所以假阳性率严格可控。论文报告:14 亿参数的模型、1000 个样本的测试集、在预训练语料里只出现几次,就能检出;对 5 个流行的公开模型做的审计没有发现普遍污染的证据。

代码 02 演示 3 用三元计数语言模型复现了这个检验(只有样本交界处的概率随顺序改变,所以可以很快地评估 99 个随机顺序)。每个设置重复 40 次:

污染方式M = 50M = 200M = 1000
没有污染2%8%2%
文件出现 1 次8%72%100%
文件出现 2 次55%100%100%
文件出现 4 次80%100%100%
出现 4 次,但每次顺序不同8%0%0%

(为了让”多出现一次”只带来很弱的信号,演示用了一个只有 30 个 token 的小词表;大词表的计数模型”见一次就背下来”,检测会过于容易。)

  1. 没有污染时检出率在 5% 上下:检出就是有统计保证的证据——这是它比成员推断强的地方。
  2. 每个交界处只提供一点点证据,测试集越大越容易检出:小测试集的污染很难用这个办法证明。
  3. 测试集以不同的顺序进入语料时(比如被别人重新整理过),检验完全失效。所以结论是单向的:检出 = 有证据;没检出 ≠ 干净。 它还要求测试集本身是可交换的——按难度或时间排序的测试集不满足这个前提。

5.5 预防:怎样设计不容易被污染的评测

办法例子代价
私有测试集Kaggle 的私有榜、ImageNet 的评测服务器不能审计;只有维护者能评测
持续更新、按日期切分LiveBench 每月更新,只用最近的数学竞赛、arXiv 论文、新闻;LiveCodeBench 收集 LeetCode、AtCoder、Codeforces 的新题,只评测模型训练截止日期之后发布的题维护成本高;不同版本的分数不可比
按原流程重新出题ImageNetV2(第 1 讲)、GSM1k贵;“同分布”难保证
程序化生成用模板和随机参数每次生成新题(第 9 讲的推理环境)题目分布受模板限制
金丝雀字符串BIG-bench 在数据文件里放了一个唯一的 GUID,请求”不要用于训练”;模型如果能补全这个字符串,就说明训练数据里有这些文件依赖爬虫和训练者遵守约定
不在网上放明文加密发布、需要申请才能下载降低了可用性
退役SWE-bench Verified(2026)失去历史可比性

6. 为数据研究服务的评测 · Evaluation for data decisions

6.1 问题:小规模实验能选对数据吗?

这门课的大部分数据实验都是这样的:在几个候选数据集上各训练一个小模型,用下游评测比较,选出最好的,再在大规模上训练。DCLM 的竞赛从 4.12 亿参数开始(第 6 讲),OLMix 用 3000 万参数的代理模型选混合比例(第 10 讲)。问题在于:小模型在难的基准上接近瞎猜,分数里几乎全是噪声。MMLU 要到相当大的规模才明显离开 25%;GSM8K 这类开放式数学题,小模型几乎一题都做不对。

DCLM 的办法是只用 CORE 的 22 个任务做决策——它们在小规模上就有稳定的信号(第 6 讲)。Magnusson et al.(2025,DataDecide)把这个问题系统化:25 个语料(来源、去重、过滤方式不同)、最多 1000 亿 token、14 个规模(最大 10 亿参数)、每个配置 3 个随机种子。发现:

  • 在单个小规模(例如 1.5 亿参数)上排序,大约 80% 的时候能选对 10 亿参数规模上更好的那个语料;
  • 8 种基于扩展律外推的方法,都没有在”算力 vs 决策准确率”上打败”直接在单个小规模上排序”;
  • 用连续的似然指标做代理,MMLU、ARC、HellaSwag、MBPP、HumanEval 只用 0.01% 的算力就能有 80% 以上的可预测性。

6.2 决策准确率

决策准确率(decision accuracy):所有语料对 (i,j)(i, j) 里,小规模的排序和大规模的排序一致的比例。随机猜是 50%。

代码 03 演示 1 模拟了一个 DataDecide 式的研究:25 个候选语料,每个有”知识""推理”两种质量和一个”只对小模型有用”的成分;在 60M、150M、300M、530M 上训练,目标是 1B 上的排序。五个基准的决策准确率(20 次模拟的平均):

基准60M150M300M530M1B 时的期望分数
容易·四选一(ARC-Easy 式)74%85%90%89%0.99
中等·四选一(HellaSwag 式)69%81%90%91%0.97
难·四选一(MMLU 式)51%67%88%92%0.51
难·开放式(GSM8K 式)60%77%88%92%0.32
中等·题少(300 道)63%77%81%80%0.97
  1. 一个基准能不能用来做决策,取决于它的难度和实验模型的能力是否匹配。 MMLU 式基准在 60M 上等于抛硬币,在 150M 上 67%;到 300M、530M 才追上来。
  2. 题少的基准在任何规模上都不够可靠(300 道题,标准误约 ±2.5 个百分点,和语料之间的差别差不多大)。
  3. 即使测量完全没有噪声,150M 的排序也只有约 82% 和 1B 一致(中等基准):小模型和大模型偏爱的语料本来就不完全相同。这和第 7 讲”最优的过滤强度随算力变化”是同一个现象,也是 DataDecide 的 80% 的上限所在。

6.3 信号与噪声

Heineman et al.(2025,Signal and Noise)把”基准适不适合做小规模决策”归结为两个量:

  • 信号(signal):基准把好模型和坏模型分开的能力——不同配置的分数之间有多分散;
  • 噪声(noise):同一次训练的最后几个检查点之间,分数随机波动有多大。

信噪比越高,小规模的决策越可靠,扩展律预测的误差也越小。他们在 30 个基准、375 个开放权重模型(6000 万到 320 亿参数)上验证了这一点,并公开了 90 万条评测结果。提出了三个提高信噪比的办法:换成更好的指标(例如困惑度或正确答案的概率,而不是准确率)、去掉噪声大的子任务、平均最后几个检查点的输出。

代码 03 演示 2(150M 上做决策;信号 = 25 个语料的分数的 (最大 − 最小) / 平均,噪声 = 检查点之间的标准差 / 平均):

基准指标信号噪声信噪比决策准确率
容易·四选一准确率0.3320.01532285%
准确率,平均 5 个检查点0.3420.00695087%
正确答案的概率(连续)0.5230.01673287%
难·四选一(MMLU 式)准确率0.0710.0134569%
准确率,平均 5 个检查点0.0530.0062977%
正确答案的概率(连续)1.9820.06143285%
难·开放式(GSM8K 式)准确率2.3370.3183774%
正确答案的概率(连续)2.0570.06393286%
中等·题少(300 道)准确率0.4230.0511876%
准确率,平均 5 个检查点0.3930.02281782%

(中等·四选一的三行和容易的差不多,这里略去;完整的表见代码输出。)

为什么连续指标这么有效? 在 150M 上,不同语料训练的模型”真的会”一道 MMLU 式题的平均概率从 0.0012 到 0.0184,相差十几倍——但都远小于瞎猜带来的 0.25。准确率只看”对 / 错”,把这个差别淹没在瞎猜的噪声里;连续指标直接看到它。这和第 12 讲”上游损失和下游指标”、第 7 讲”损失比准确率更早出现信号”是同一个道理。平均检查点把噪声大约减半,对题少的基准帮助最大(76% → 82%)。

一个没有复现的结果。 论文的第二个办法是在多子任务的基准里去掉信噪比低的子任务。我在这个模拟里试过(40 个子任务、按信噪比保留一半或四分之一),决策准确率的变化不到 1 个百分点,所以没有放进演示。一个可能的原因是:按原始准确率平均时,接近瞎猜的子任务的分数本来就几乎不动,在总分里贡献的噪声很小。

6.4 便宜的评测:小基准

评测本身也有成本:大模型在 MMLU 的 1.4 万道题上跑一遍要不少算力,智能体基准更贵。Maia Polo et al.(2024,tinyBenchmarks)发现,用已有模型的作答估计每道题的难度(IRT),再精选 100 道题,就能估计出接近完整基准的分数。

代码 03 演示 3:用 100 个已有模型的作答估计题目难度,然后对 300 个新模型,只用 100 道题估计它们在 1.4 万道 MMLU 式题上的准确率:

方法平均绝对误差误差超过 5 个百分点的比例
随机 100 道,直接平均0.037328%
按难度分层抽 100 道,直接平均0.032020%
随机 100 道 + IRT 估计0.029817%
按难度分层抽 100 道 + IRT 估计0.025613%

直觉:已有模型的作答告诉了我们每道题有多难;新模型在 100 道题上的表现只需要确定一个数(θ\theta),再用题目参数推算它在全部题上的期望分数。这个模拟里的改进(约三分之一)比论文报告的小:我用的 IRT 模型假设所有题的区分度相同(错的模型),也没有实现论文按”对错模式”聚类选锚点题。另一个前提是新模型和已有模型相似;一个能力结构很不一样的新模型会让题目参数失效。小基准适合开发中的快速迭代;最终报告的数字仍然应该用完整的基准,并给出置信区间。

6.5 评测集也要和”数据选择”隔离

用评测分数选数据,本身就是一种对评测集的”反复使用”。第 5 讲提到,DataComp 里按 ImageNet 的信号过滤数据,离”针对评测优化”只有一步;第 10 讲的 Aioli 用下游任务当验证集,第 13 讲的元梯度在小验证集上会元过拟合。实践中的几条原则:

  1. 区分”开发用”和”报告用”的评测:用一组任务做数据决策,用另一组从没用来做过决策的任务报告最终结果(DCLM 的 CORE vs EXTENDED 是一种做法)。
  2. 去污染要双向:训练数据里去掉评测题;也要检查评测集是否和用来训练过滤器的参照数据重叠(例如 DCLM 的过滤器用 OpenHermes 和 ELI5 当正例,第 6 讲)。
  3. 记录评测集的版本和数据卡:题目来源、标注流程、已知的错标、发布日期(便于判断污染)、许可证。

7. 排行榜与竞技场 · Leaderboards and arenas

7.1 适应性过拟合:回顾

第 1 讲讨论过测试集的反复使用:研究者根据测试集的反馈反复调整模型,理论上会造成过拟合(最坏情况下的”提升攻击”)。Roelofs et al.(2019)对 120 场 Kaggle 比赛的元分析发现,实际中的过拟合比理论预测的小得多;ImageNetV2 的准确率下降也主要来自分布差距,而不是适应性过拟合。但这不意味着排行榜没有问题——问题常常出在谁能看到什么数据。

7.2 The Leaderboard Illusion

Chatbot Arena 让用户提问、比较两个匿名模型的回答,再用 Bradley–Terry 模型把两两比较转换成排名(CS224N 第 13 讲)。Singh et al.(2025)分析了它的数据,发现几个系统性的问题:

  • 私下测试、选择性公开:少数提供者可以在公开发布前测试多个变体,只公开最好的那个分数。最极端的例子:Llama 4 发布前,Meta 私下测试了 27 个变体。假设 27 个变体的真实水平相同、每个分数的噪声标准差是 σ\sigma,挑最高的那个,期望的抬高就是 27 个独立标准正态变量的最大值的期望,约 2.0σ2.0\sigma(随 kk 缓慢增长,量级是 σ2ln⁡k\sigma\sqrt{2\ln k})。这就是第 1 讲”挑最好的版本”的乐观偏差。
  • 数据访问不对称:闭源模型被采样得更多、被下架得更少。估计 Google 和 OpenAI 分别获得了全部 Arena 数据的 19.2% 和 20.4%,而 83 个开放权重模型加起来只有 29.7%。
  • 数据带来的收益:即使只用一小部分 Arena 数据训练,在 Arena 的分布上也能得到最高 112% 的相对提升(作者的保守估计)。

所以 Arena 的排名部分反映了”谁拿到了更多 Arena 的数据、谁能多试几次”,而不只是模型的一般质量。这又回到了本讲的主题:评测数据的分布和访问方式,本身就决定了排行榜测的是什么。


8. 一个统一的视角(补充) · A unified view

把评测当作一个测量仪器,它的问题可以按测量学的语言分类:

测量学的概念评测里的对应诊断工具本讲
效度(validity):测的是想测的吗题目和真实任务的差距;构造偏差和真实使用的相关;换一种构造方式的基准§2
信度(reliability):重复测量是否一致抽样误差、检查点噪声置信区间、聚类标准误、信噪比§3、§6.3
偏差(bias):系统性地偏高或偏低错标、对抗式筛选、污染人工复核、重新出题、可交换性检验§2.3、§4、§5
量程(range):在哪个范围里有区分度难度和模型能力不匹配:饱和或全在瞎猜决策准确率随规模的变化;连续指标§6.2
漂移(drift):仪器随时间变化污染随时间累积、基准饱和、退役按日期切分、持续更新§5.5

训练数据的研究方法(过滤、去重、标注质量控制、数据卡)几乎可以原样搬到评测数据上。区别在于,评测数据的错误是被放大的:训练集里 6% 的错标会被模型的泛化”平均掉”一部分,测试集里 6% 的错标直接成为分数的上限和排名的噪声。


9. 延伸与前沿 · Beyond the original lecture

本节是我补充的。

大模型当评委。 开放式任务(写作、对话、智能体的轨迹)越来越多地由大模型评分。这把评测数据的问题变成了”评委的偏差”:偏爱更长的回答、偏爱自己家族的模型、对位置敏感。CS224N 第 13 讲有详细讨论。

智能体评测的环境噪声。 SWE-bench、Terminal-Bench 这类基准的”标签”是一组测试和一个运行环境。环境的版本、网络、超时设置都会影响结果;同一个模型多次运行的分数可能相差几个百分点。智能体评测的误差棒通常比多选题宽得多,报告时更需要多次运行取平均。

模型知道自己在被测试。 一些研究发现,前沿模型能够识别出”这是一个评测场景”,并可能因此表现得不同。如果属实,这是一种新的效度问题:测到的是”被测试时的行为”,而不是部署时的行为。

合成数据带来的隐性污染。 推理模型的训练大量使用合成题目(第 9、11 讲)。如果生成这些题目的模型见过测试集,或者合成流程以基准的题目为种子,污染就以”改写”的形式进入训练集,n-gram 检测无能为力。按日期切分的动态基准是目前最可靠的应对。

为数据研究专门设计的评测。 DataDecide 公开了全部模型、数据和评测,Signal & Noise 公开了 90 万条评测结果。这些”关于评测的数据”让研究者可以在不训练模型的情况下研究”哪个基准适合做什么规模的决策”。


10. 小结 · Summary

  1. 评测是测量仪器。 这门课里的每个数据结论(过滤、混合、合成)都依赖它;评测数据的质量是训练数据研究的瓶颈。
  2. 抽样误差:SE ≈ p(1−p)/n\sqrt{p(1-p)/n};比较模型要配对;题目成组时用聚类标准误。差 2 个百分点的两个模型,100 道题只有 60% 的机会排对;要可靠地分辨 1 个百分点,需要约 2.8 万道题。
  3. 标签误差:常用测试集平均 3% 以上错标(ImageNet ≥ 6%,MMLU 6.49%);错标给分数设了上限,还可能让排名反转;“模型投票 + 人工复核”是找错标的标准流程。
  4. 构造偏差:对抗式筛选造出的难题是”相对于筛选模型”的;第一批分数受回归均值影响。
  5. 污染:n-gram 检测抓不住改写和换格式,还会误报;“干净子集”比较在污染和难度相关时有偏;重新出题更可靠但贵;可交换性检验不看训练数据就能给出有统计保证的证据,但只能检出保留原始顺序的污染。
  6. 为数据决策服务的评测:一个基准只在难度和模型能力匹配时有信号;信噪比预测决策的可靠性;连续指标和检查点平均能显著提高小规模决策的准确率。
  7. 排行榜:选择性公开和数据访问的不对称,让排名部分反映了”谁能多试几次、谁拿到了更多数据”。

11. 常见误区 · Common pitfalls

  1. “两个模型的置信区间重叠,所以没有差别。” 应该看差的置信区间,而且要配对;两个区间重叠时,配对的差仍然可能显著。
  2. “1000 道题足够了。” 对比较相差 1–2 个百分点的模型远远不够(§3.4)。
  3. “高分模型一定更强。” 在错标多的基准上,高分可能部分来自拟合标注者的习惯(代码 01 演示 2)。
  4. “13-gram 去污染之后就干净了。” 改写、换格式、翻译都能骗过它(代码 02 演示 1)。
  5. “干净子集上的分数和全部差不多,所以污染没有影响。” 反过来也一样:差得多也不一定是污染——污染和难度常常相关(代码 02 演示 2)。
  6. “可交换性检验没检出,所以模型没见过测试集。” 它只能检出保留原始顺序的污染(代码 02 演示 3)。
  7. “用 MMLU 比较小模型训练的数据集。” 小模型在 MMLU 上接近瞎猜,决策和抛硬币差不多;换成连续指标,或者用在小规模上有信号的任务(代码 03 演示 1、2)。
  8. “对抗式基准上的低分说明模型离人类水平很远。” 低分在很大程度上是筛选过程造成的(代码 01 演示 3)。

12. 练习 · Exercises

练习 1(误差棒) 模型 A 在 500 道题的基准上得 80.0%,模型 B 得 81.6%。(a) 分别算两个准确率的标准误和 95% 置信区间。(b) 如果把两个模型当作独立的(不配对),差的 95% 置信区间是多少?能说 B 更好吗?(c) 如果逐题配对,σd=0.4\sigma_d = 0.4,结论会变吗?

参考答案

(a) A:0.8×0.2/500=0.0179\sqrt{0.8 \times 0.2/500} = 0.0179,95% CI 80.0% ± 3.5%;B:0.816×0.184/500=0.0173\sqrt{0.816 \times 0.184/500} = 0.0173,81.6% ± 3.4%。

(b) 差的 SE = 0.01792+0.01732=0.0249\sqrt{0.0179^2 + 0.0173^2} = 0.0249,95% CI 1.6% ± 4.9%,包含 0。不能说 B 更好。

(c) 配对的 SE = 0.4/500=0.01790.4/\sqrt{500} = 0.0179,95% CI 1.6% ± 3.5%,仍然包含 0。配对把误差棒从 ±4.9% 缩到 ±3.5%,但 500 道题还是不够。按 §3.4 的公式,要以 80% 的功效检出 1.6 个百分点的差,需要约 7.84×0.16/0.0162≈49007.84 \times 0.16 / 0.016^2 \approx 4900 道题。

练习 2(多少题才够) 你在设计一个新基准,希望它能可靠地(80% 功效、5% 显著性)区分相差 1 个百分点的两个模型。根据代码 01 演示 1 估计的 σd≈0.6\sigma_d \approx 0.6,需要多少道题?如果题目平均 5 道一组、组间差异很大,需要的题数会更多还是更少?为什么?

参考答案

n≈7.84×0.36/0.012≈28,000n \approx 7.84 \times 0.36 / 0.01^2 \approx 28{,}000 道题。

成组的影响取决于”组”影响的是什么。如果组只影响难度(像演示 1 那样),配对时难度已经抵消,差的方差几乎不受影响;但如果两个模型在不同的组上有系统性的强弱(例如一个擅长数学),差在组内是相关的,有效样本数接近组数,需要的题数会更多——这时应该增加组数,而不是每组的题数。

练习 3(错标的上限) MMLU 估计有 6.49% 的题有错(Gema et al. 2024)。(a) 一个总是答对真答案的模型,在原始标签下最多能得多少分?(b) 一篇论文报告模型在 MMLU 上从 92.0% 提高到 92.8%。结合 §3 和本题,你会怎样解读这个提高?(c) 如果要用 MMLU 继续比较前沿模型,你会怎么改进它?

参考答案

(a) 约 93.5%(再加上有歧义的题,实际上限更低)。

(b) 两个问题叠在一起:一是 0.8 个百分点的差别,在约 1.4 万道题、配对比较时勉强可以检出,但如果没有给出配对的置信区间就无法判断;二是在离上限只差 1.5 个百分点的地方,剩下的”错误”里很大一部分是错标的题,模型可能在”学会错的标签”(§4.2)。所以这个提高很难解读成能力的提高。

(c) 用 MMLU-Redux 那样的人工复核去掉错标和有歧义的题(白金化);报告在”已知正确”的子集上的分数;并且换用更难、仍有区分度的基准。

练习 4(“干净子集”分析的偏差) 代码 02 演示 2 的对照模型完全不记忆,方法 (a) 却报告了 +0.018 的”虚高”。(a) 解释原因。(b) 提出一个改进的分析方法,不需要重新出题。(c) 你的方法需要什么假设?

参考答案

(a) 被污染的题平均更容易(更流行、更基础的题更容易出现在网上)。去掉它们之后,剩下的干净子集更难,任何模型在上面的分数都更低——差别来自难度,而不是记忆。

(b) 一种办法是按难度匹配:用一组确定没有见过这些题的模型(比如训练截止日期早于基准发布的旧模型)估计每道题的难度,然后比较”同等难度的污染题和干净题”上的分数差。另一种是双重差分:把被测模型的”全部 − 干净子集”减去一个不记忆的参照模型的”全部 − 干净子集”;参照模型的差只反映难度差异。

(c) 需要假设参照模型和被测模型对”难度”的感受相同(能力结构相似),而且参照模型确实没有见过这些题。演示 2 里难度对不同能力的模型影响不同(IRT 是非线性的),所以双重差分只能部分修正。

练习 5(可交换性检验的前提) 某个数学基准的题目是按难度从易到难排列的。(a) 用 Oren et al. 的检验检查一个没有被污染的模型,会发生什么?(b) 怎样修改检验,让它对这种基准仍然有效?

参考答案

(a) 测试集不可交换:原始顺序有系统性的结构(前面的题短、简单,后面的题长、难)。一个没见过测试集的模型也可能给”从易到难”的顺序更高的概率(例如简单题之后接简单题的模式在训练数据里更常见),检验会产生假阳性。

(b) 只在”可交换”的子集内部打乱:例如把题目按难度分成几层,只在每层内部随机打乱顺序,比较原始顺序和层内打乱的顺序。这样保留了”从易到难”的结构,只检验层内的顺序是否被背下。前提是层内的顺序是任意的。

练习 6(选择做决策的评测) 你要在 150M 规模上比较 25 个预训练语料,候选的评测是代码 03 演示 2 里的五个基准。(a) 只能选一个基准、用准确率,选哪个?(b) 如果你关心的是 1B 规模上的知识能力(MMLU 式),你会怎么做?用表里的数字说明。

参考答案

(a) 选信噪比最高的:容易的四选一(信噪比 22,决策准确率 85%)。但要意识到它测的未必是你最关心的能力。

(b) 不要直接用 MMLU 式基准的准确率(信噪比 5,决策准确率 69%)。改用连续指标——“正确答案的概率”(信噪比 32,决策准确率 85%);如果只能用准确率,至少平均最后 5 个检查点(77%)。也可以把规模提高到 300M(演示 1:88%)。DataDecide 的结论与此一致:连续的似然指标让 MMLU 在很小的算力下就有很好的可预测性。


13. 延伸阅读 · Further reading

标签质量与基准构建

  • Northcutt, Athalye & Mueller, Pervasive Label Errors in Test Sets Destabilize Machine Learning Benchmarks(NeurIPS 2021 数据集与基准分会):arXiv:2103.14749。
  • Gema et al., Are We Done with MMLU?(2024):arXiv:2406.04127。
  • Vendrow et al., Do Large Language Model Benchmarks Test Reliability?(2025,白金基准):arXiv:2502.03461。
  • Zellers et al., HellaSwag: Can a Machine Really Finish Your Sentence?(ACL 2019):arXiv:1905.07830。
  • Rein et al., GPQA: A Graduate-Level Google-Proof Q&A Benchmark(2023):arXiv:2311.12022。
  • Phan et al., Humanity’s Last Exam(2025):arXiv:2501.14249。

污染

  • Brown et al., Language Models are Few-Shot Learners(2020)附录 C:GPT-3 的污染分析。
  • Magar & Schwartz, Data Contamination: From Memorization to Exploitation(ACL 2022):arXiv:2203.08242。
  • Oren et al., Proving Test Set Contamination in Black Box Language Models(ICLR 2024):arXiv:2310.17623。
  • Zhang et al., A Careful Examination of Large Language Model Performance on Grade School Arithmetic(GSM1k,2024)。
  • White et al., LiveBench(ICLR 2025):arXiv:2406.19314;Jain et al., LiveCodeBench(2024):arXiv:2403.07974。

统计与为数据研究服务的评测

  • Miller, Adding Error Bars to Evals: A Statistical Approach to Language Model Evaluations(2024):arXiv:2411.00640。
  • Heineman et al., Signal and Noise: A Framework for Reducing Uncertainty in Language Model Evaluation(2025):arXiv:2508.13144。
  • Magnusson et al., DataDecide: How to Predict Best Pretraining Data with Small Experiments(ICML 2025):arXiv:2504.11393。
  • Maia Polo et al., tinyBenchmarks: evaluating LLMs with fewer examples(ICML 2024):arXiv:2402.14992。
  • Singh et al., The Leaderboard Illusion(2025):arXiv:2504.20879。

和本目录其他课程的联系


14. 下一讲预告 · Next lecture

本讲反复出现一个主题:评测难,以数据为中心的研究就难。 语言模型至少还有成千上万道可以自动评分的题;到了机器人,每一次评测都意味着让一台真实的机器人在真实的房间里做一遍任务,10 次试验的成功率误差棒有 ±30 个百分点。

第 15 讲:机器人的训练数据。 互联网上几乎没有”动作”数据,机器人只能自己收集训练数据:遥操作、跨机构汇集(Open X-Embodiment,22 种机器人)、走出实验室(DROID,564 个场景)、和网页数据共同训练(π0.5 在从没见过的家里打扫厨房),以及让机器人自己告诉你它在哪里失败(π0.6*)。代码会模拟一个小小的机器人世界,看看”场景多样性 vs 示范数量”、跨具身汇集、网页数据和在线纠正分别带来了什么。

← 返回课程目录