跳到主要内容

评测 — 谁在给模型打分

这一章讲 RLHF 的「成绩单」怎么读。 评测本该是训练的镜子——书里的开头 一句就把关系点破:流行的评测是流行训练实践的倒影。读完你能回答: 为什么两个分数不能直接比、格式怎么让模型「装不会」、以及实验室公布的数字 与他们内部盯的数字差在哪。

1. 这一章讲什么

评测(通过基准测试——一组固定的题或环境,量模型的某个侧面)是训练闭环的 最后一环,也是最容易被误读的一环。书里把 RLHF 时代的评测切成三个季节,再逐个 拆开「分数是怎么生产出来的」——读到后你会发现,一个裸分数携带的信息,远少于 生产它的那一串隐含决定1

2. 顶层全景与主走查

主走查:一道普通选择题,看它在三代评测里怎么被打分。题取自书里的 few-shot 示例形状(勾股定理)2:

【第一代:多选题 + log 概率】
prompt 前面垫 3–8 个带答案的例题(few-shot)
→ 不让模型写答案,直接比对四个选项字母的 log 概率,哪个高选哪个
→ 「(A) 5」的 log 概率最大 → 判对。全程无随机。

【第二代:零样本 + exact match】
「问:直角三角形两直角边 3 和 4,斜边长?(A)5 (B)6 …」
→ 温度 0,让模型生成答案
→ 在生成的文本里搜「(A)」或规定的结尾格式 → 搜到什么算什么
→ 格式没跟对,直接判错 —— 模型会做≠分拿到

【第三代:思维链 + 生成式抽取】(Tulu 3 的真实 MMLU 提示词,节选)
「给出简洁推理,并以 "Therefore, the answer is (ANSWER_LETTER)"
结尾……记住,必须以这个短语结尾」
→ 模型先写推理再给答案,温度 > 0(推理模型时代反而不用 0)
→ 按结尾短语抽取答案判分

图说:同一道题,三代打分口径,分数可以差出天壤 —— 书里的原话:
格式不对能让模型「从 60% 掉到近 0」。分数测的是「模型×格式」的联合体,
不是模型本身。

3. 核心原理

3.1 三代评测:与训练实践同步演化

书里的分期,每一代都对应当时训练在干什么3:

时代评测形态对应的训练
聊天期2023MT-Bench、AlpacaEval、Arena-Hard(LLM 判官代打分)偏好微调主打「聊天体验」
多技能期2024MMLU(知识多选)RLHF 被发现能推各种技能,评测跟着铺开
推理期2025 至今GPQA Diamond、Humanity's Last Exam、SWE-Bench+、LiveCodeBench、AIME推理模型 + 工具,题越出越难

背后的推力书里说得直白:评测体系的主要功能不是「客观衡量」,是「给训练 提供信号」——训练在冲什么,评测就长什么样4

3.2 打分的两种口径与格式的暴政

所有评测最终归结为两种打分口径5:

  • exact match / 多数投票(生成答案后比对):post-training 的标准; 多次采样取多数,代码题的 pass@k 是它的亲戚;
  • log 概率打分(比对答案选项的似然,不生成):预训练评测的老传统—— 那时的模型没有问答格式,只能「按概率看它认为哪个对」。

格式的作用在 exact match 里是暴政级的:书里反复强调,格式不匹配时, 60% 能力的模型可以考出近 0 分6。代价最小、最理想的评测是「格式不构成 瓶颈」的评测——但书里明说,做到格式无关的评测「费很大劲,实践中罕见」。 两边还有一个交叉污染:训练数据里的答案格式(NuminaMath 用 \boxed{}、 MetaMath 用「The answer is:」)互相打架,两个一起训反而更差——格式 甚至会在训练侧开战7

3.3 为什么外部对比基本不可信

书里这一节的名字就叫「为什么很多外部评测对比不可靠」。论据链里的量,常是「熵」,即混乱度,一类的差距指标8:

  1. 没有统一条件:各家内部跑分的 prompt、采样参数、是否先写推理再答(行话叫思维链)、温度全部 不同,且不公开;

  2. 噪声带就很大:OLMo 3 实测——同一 setup 下,多数评测的标准差在 0.25–1.5 分之间;发布会上比这更小的差距当新闻读,没有意义;

  3. hillclimbing 的黑箱:实验室都在自己盯的评测上「爬山」调模型,哪些当 训练集用、哪些留作真考试,从不公开;

  4. 推理时扩展未控:同一模型,允许思考 10 倍 token,分数就能明显不同—— 「每题花了多少推理算力」这一条件,很少出现在对比表里;

  5. 传闻级的自定义 prompt:重要评测(如 GSM8K)上用「定制 prompt」冲分, 是业内公开的秘密。

结论落成书里的一条操作守则:公司发布会上的分数,只能与它自己上一代的 分数比;跨家对比,误差棒大过多数新闻的差距8

3.4 饱和与污染:两把慢刀

饱和:基准逼近 100% 后,剩余的题只会更难(或本来就没标对),区分度消失 ——每个时代的旗舰基准都逃不过这个生命周期,书里引了 Epoch AI 的综述图9

污染(contamination):评测题混进训练数据。书里给了两份硬材料:其一, Tulu 3 用 8-gram 重叠查重,发现多个流行数据集与评测集相染——UltraFeedback 撞 TruthfulQA、NuminaMath 撞 MATH、WildChat 撞安全评测;其二,更阴险的形态: Qwen 系基座被指带着污染,导致「用随机奖励跑 RL 也能涨分」——那只能说明 模型在背题,不是在推理10。检测手段也在军备竞赛:改数字不改题面的扰动版 benchmark(MATH-perturb 一类),专门用来钓「背题模型」11

3.5 实验室内部怎么用评测

书里这节的价值是「把营销滤镜摘掉之后」的真实用法12:

  • 内部评测是对比训练用的仪器:核心收益是提高统计功效——少花算力 就能判断两个 run 哪个好;
  • 每家都留几个「真考试」永不公开;
  • 人评仍然不可替代:Elo 排名、标注员一致性、A/B 窗口;
  • 实验室会反过来改造评测(OpenAI 发布 SWE-Bench Verified 就是动手修基准);
  • GPT-4 报告那种内部指标——预测「交叉熵」,即衡量预测与真实答案差多远的量——公众永远看不到。

4. 作者的判断与证据

书里有证据的部分:0.25–1.5 分的标准差出自 OLMo 3 报告(作者参与的项目)、 Tulu 3 的 8-gram 查重结果、NuminaMath/MetaMath 的格式冲突、「随机奖励涨分」 的复现争议,全部挂实名。书里给判断的部分:「评测没有硬真相源」「各家评测 栈本质在为内部需求演化」是作者的定性判断;评测工具清单(Inspect AI、 LightEval、eleuther harness、HELM 等)以罗列为主,不评高下13

作者还有一层利益相关要交代:RewardBench(第 04 章)与 OLMo 3 的评测实践 都是他自己的作品——他对「评测可信度」的批评,锋刃也朝着自己砍(OLMo 3 主动公布了自己的噪声带),读起来可信度反而高。

判断(我们的,不是书里的): 这一章与第 03 章(「~1M 数据够用」)、 第 13 章(长度修正)合读,会看到一个模式:评测的每一次修正,都是对上一次 训练套利的补丁——长度修正补话痨套利,扰动版补背题套利,控制 token 预算 补推理时套利。评测与训练是永不停歇的军备竞赛,「一个公正的分数」不是 稳态,是动态平衡。 如果错,会错在: 如果出现某种不可博弈的评测形态(比如真人盲测的 大规模基础设施),竞赛会收敛而不是循环——但目前没有任何形态表现出 这种免疫性。

5. 边界与局限

  • 多模态与 agent 评测只在推理期清单里点到,没有展开;
  • 人评的细节(标注员管理、Elo 的统计性质)依赖第 10、17 章的交叉引用, 本章不展开;
  • 各实验室的内部评测书里也只能「合理推断」,没有一手材料——这本身 就是这章论点的最佳注脚。

6. 可带走的

  1. 流行评测是流行训练的倒影——评测的主要客户是训练管线,不是公众;
  2. 三代评测:聊天判官 → 多技能套件 → 硬核推理题;打分口径两种:生成比对 vs log 概率;
  3. 格式是暴政:格式不匹配能把 60% 考成近 0;分数测的是「模型×格式」;
  4. 训练数据的答案格式会打架:\boxed{} 与「The answer is:」混训反而更差;
  5. 同 setup 的标准差 0.25–1.5 分——小于 1.5 分的跨家对比当噪声处理;
  6. 发布会分数只能与自己上一代比;跨家对比先问 prompt、采样、思维链、推理 token 预算是否一致;
  7. 污染两级形态:数据集撞题(8-gram 可查)与基座自带污染(「随机奖励涨分」 是红旗);
  8. 饱和是每个基准的宿命;评测修正永远在追训练套利——军备竞赛没有终局。

7. 原文地图

主题原书章原文位置
评测=训练的倒影17 Evaluationtext/36-ch17-17-evaluation.txt:29(搜「reflection of the popular training」)
三代评测17 Evaluationtext/36-ch17-17-evaluation.txt:47(搜「MT-Bench」) · text/36-ch17-17-evaluation.txt:50(搜「MMLU」) · text/36-ch17-17-evaluation.txt:53(搜「GPQA Diamond」)
格式的威力17 Evaluationtext/36-ch17-17-evaluation.txt:76(搜「60%」) · text/36-ch17-17-evaluation.txt:178(搜「format-agnostic」)
few-shot 示例17 Evaluationtext/36-ch17-17-evaluation.txt:126(搜「hypotenuse」)
两种打分口径17 Evaluationtext/36-ch17-17-evaluation.txt:166(搜「majority voting」) · text/36-ch17-17-evaluation.txt:166(搜「log-likelihood scoring」) · text/36-ch17-17-evaluation.txt:172(搜「pretraining evaluation」)
CoT 提示词17 Evaluationtext/36-ch17-17-evaluation.txt:253(搜「Therefore, the answer is」)
外部对比不可靠17 Evaluationtext/36-ch17-17-evaluation.txt:278(搜「0.25 and 1.5 point」) · text/36-ch17-17-evaluation.txt:284(搜「custom prompts」) · text/36-ch17-17-evaluation.txt:296(搜「total number of tokens」)
格式打架17 Evaluationtext/36-ch17-17-evaluation.txt:302(搜「NuminaMath」)
饱和17 Evaluationtext/36-ch17-17-evaluation.txt:325(搜「saturation」)
污染:数据集撞题17 Evaluationtext/36-ch17-17-evaluation.txt:404(搜「8-gram」) · text/36-ch17-17-evaluation.txt:404(搜「TruthfulQA」)
污染:随机奖励涨分17 Evaluationtext/36-ch17-17-evaluation.txt:410(搜「random rewards」) · text/36-ch17-17-evaluation.txt:410(搜「Qwen 2.5」)
扰动版基准17 Evaluationtext/36-ch17-17-evaluation.txt:416(搜「perturbed」)
内部用法与统计功效17 Evaluationtext/36-ch17-17-evaluation.txt:278(搜「hillclimb」) · text/36-ch17-17-evaluation.txt:380(搜「statistical power」) · text/36-ch17-17-evaluation.txt:374(搜「SWE-Bench-Verified」)
工具清单17 Evaluationtext/36-ch17-17-evaluation.txt:434(搜「Inspect AI」)

Footnotes

  1. 出处:「17 Evaluation」第 29 段(text/36-ch17-17-evaluation.txt:29,搜「benchmarks」)与第 35 段(text/36-ch17-17-evaluation.txt:35,搜「vignettes」)。

  2. 出处:「17 Evaluation」第 126 段(text/36-ch17-17-evaluation.txt:126,搜「hypotenuse」)、第 166 段(text/36-ch17-17-evaluation.txt:166,搜「exact match」)、第 253 段(text/36-ch17-17-evaluation.txt:253,搜「Therefore, the answer is」)。三代口径的分岔与「60% 掉到近 0」为书中明确陈述;具体分数演示是示意。

  3. 出处:「17 Evaluation」第 47 段(text/36-ch17-17-evaluation.txt:47,搜「chat-phase」)、第 50 段(text/36-ch17-17-evaluation.txt:50,搜「Multi-skill era」)、第 53 段(text/36-ch17-17-evaluation.txt:53,搜「Reasoning & tools」)。

  4. 出处:「17 Evaluation」第 29 段(text/36-ch17-17-evaluation.txt:29,搜「building useful signals」)。

  5. 出处:「17 Evaluation」第 166 段(text/36-ch17-17-evaluation.txt:166,搜「majority voting」)与第 172 段(text/36-ch17-17-evaluation.txt:172,搜「more common in pretraining evaluation」)。

  6. 出处:「17 Evaluation」第 76 段(text/36-ch17-17-evaluation.txt:76,搜「60%」)与第 178 段(text/36-ch17-17-evaluation.txt:178,搜「rigid format suffixes」)。

  7. 出处:「17 Evaluation」第 302 段(text/36-ch17-17-evaluation.txt:302,搜「NuminaMath」)。

  8. 出处:「17 Evaluation」第 278 段(text/36-ch17-17-evaluation.txt:278,搜「0.25 and 1.5 point」)、第 284 段(text/36-ch17-17-evaluation.txt:284,搜「custom prompts」)、第 296 段(text/36-ch17-17-evaluation.txt:296,搜「Inference-time scaling」)、第 278 段(text/36-ch17-17-evaluation.txt:278,搜「error bars」)。 2

  9. 出处:「17 Evaluation」第 325 段(text/36-ch17-17-evaluation.txt:325,搜「saturation」)。

  10. 出处:「17 Evaluation」第 404 段(text/36-ch17-17-evaluation.txt:404,搜「8-gram」)与第 410 段(text/36-ch17-17-evaluation.txt:410,搜「random rewards」)。

  11. 出处:「17 Evaluation」第 416 段(text/36-ch17-17-evaluation.txt:416,搜「slightly perturbed questions」)。

  12. 出处:「17 Evaluation」第 278 段(text/36-ch17-17-evaluation.txt:278,搜「hillclimb」)、第 380 段(text/36-ch17-17-evaluation.txt:380,搜「statistical power」)、第 374 段(text/36-ch17-17-evaluation.txt:374,搜「SWE-Bench-Verified」)、第 362 段(text/36-ch17-17-evaluation.txt:362,搜「cross-entropy」)。

  13. 出处:「17 Evaluation」第 290 段(text/36-ch17-17-evaluation.txt:290,搜「no hard source of truth」)与第 434 段(text/36-ch17-17-evaluation.txt:434,搜「Inspect AI」)。