从0训练LLM · 现代大模型体系 导读 3 课 + 1 条岔路 + 1 节实验课 ≈ 3 小时
C14 评测与训练仪表:分数能信吗 章导读

评测与训练仪表:分数能信吗

全课的「读仪表」收束章。前面十三章造出了一整条训练链,这一章问:我们看到的每个数字,能信几分?训练中,loss 是结果、不是状态,要配上开局 ln V、梯度范数、最大 logit 这几块仪表;训练后,公开 benchmark 的分数混着「见没见过题」和「怎么考」;做决策时,小实验的差距要先和噪声比,「突然涌现」常常是尺子的形状。所有数字来自我们项目的几十个真实 run、浏览器里现场训练的小模型,以及逐字核对过的论文与第三方评测。

主线定位

「小明把苹果给了小王」在 Qwen3.8-27B 里是 5 个 token。这句话走完了前十三章:切分、查表、位置、注意力、一个个块,最后在每个位置输出下一个 token 的概率。

累计数据流 · 从文字到下一个 token 的概率 已学本课新增还没学
解码层

点任一已学环节,看这一步的输入 → 输出形状、参数量,以及它解决了什么问题(数字取自 Qwen/Qwen3.8-27B 真实 config)。

它在这一章会以两种身份出现。训练开始的那一刻,每个位置的 loss 应当约等于 ln 248,320 = 12.42——训练曲线上第一个可以核对的读数。训练结束之后,它可以变成一道题:「小明把苹果给了小王。问:谁拿到了苹果?」——分数就是模型答对这类题的比例。一个是仪表,一个是分数,本章的问题是:这两类数字各该信几分。

🧭

上游 · 整条训练链:C0 第 5 课给了第一个读数「开局 loss ≈ ln V」;C5 的梯度裁剪与 Muon、C8 的 spike 与 logit 失控,留下了一堆「该盯什么」;C6 用小模型外推大模型;C7 的去重顺带给评测去了污染。C12 岔路的 pass@k、C13 第 4 课的量化涨幅,都是「拿一个数说好不好」:同一组采样,pass@1 = 0.30、pass@5 = 0.917,换个 k 结论就变;INT4 GPTQ 让验证 loss 涨 0.0083,要和本章实验课的重跑噪声(极差 0.016)比,才知道算不算掉了质量。这些数本身能信几分,正是本章的问题。
本章(C14):训练中看哪些仪表、训练后的分数能不能信、小实验的结论能不能推到大决策——以及读别人报告时,数字该信几分。
下游 · C15 前沿解剖:带着这套读法,去拆 2026 年的前沿技术报告。

仪表接在训练循环的哪几格,点开看它们在锚点模型上有多大:

从已有出发 · 训练的一步(点任一环节看它在 Qwen/Qwen3.8-27B 上有多大) 本课本章后面的课
🔁

这一章为什么换例子。仪表读的是整次训练的轨迹,分数读的是几百几千道题的比例,「小明把苹果给了小王」一句话撑不起来。所以每课开头用例句接上已有的东西,然后换成三个替身,每课都会写明原因:① 我们项目 04-实践项目 在各章真实跑过的 127 个 run(3.7M 参数、《三國志演義》语料);② 浏览器里现场训练的小模型(一个字级 4-gram 语言模型、七个做加法的 MLP);③ 逐字核对过的论文、技术报告与第三方评测。

本章问题链

每一课只回答一个问题;上一课的失败,逼出下一课的问题。

课这一课的问题朴素方案在哪个真数字上失败一句话
第 1 课训练跑着的时候,只看 loss 曲线够吗?该看哪些仪表?学习率调大 10 倍的 run:第 20 步 loss 比参照还低,最大注意力 logit 已是参照的 10.8 倍;400 步后差 1.19loss 是结果,仪表看状态:开局对 ln V,过程中盯裁剪前梯度范数和最大 logit,它们比 loss 更早报警,但要几块一起读
第 2 课训练完,在公开 benchmark 上报一个分数——这个分数能信吗?公开题只泄进训练文本 1 份,续写全对从 0 / 30 升到 24 / 30,同分布新题仍是 0 / 30;GPT-3 的去污染程序有 bug公开基准的分数混着三样东西:能力、见没见过题、怎么考;n-gram 只查逐字重叠,新题对照、顺序检验和非公开题各补一块
岔路技术报告和榜单上的数字,各该信几分?—数字先分三层:第三方独立(最好含非公开题)、自跑但披露偏差、纯自报;再查口径;查不到的格子写「未核实」,不要填
第 3 课大模型只训得起一次,小实验上得出的结论能信几分?「涌现」会让小实验全部失灵吗?只跑一个种子:RoPE 在 512 长度上「好」0.006;三个种子的均值反过来,不加位置好 0.0225小实验能指导大决策,前提是信号大过噪声:多跑种子、用平滑指标做决策,再用两步预测换算回目标分数;「突然涌现」常常是全对才得分的尺子把平滑的进步量成了台阶
实验课我们项目跑过的几十个 run,仪表上哪些「正常」、哪些「要出事」?—仪表的阈值要拿自己的 run 校准:报警的 run 里有多少真的变坏,没报警的里有没有漏网;差距小于噪声底线,就不下结论

表里的项目数字由各课页面从 c08-stability.json、c14-eval.json、c2-position.json 现读;浏览器实验的数字是组件默认设置下的确定性结果(同一浏览器可复现)。

演进地图

评测的演进:每一代都被上一代的某个真数字逼出来
  1. 起点 只看 loss(和 PPL) 训练曲线的默认读法
    解决了一个数就能看训练进度;PPL = eloss(C0 第 5 课)。
    卡在项目 run「只把学习率从 3×10⁻³ 调到 3×10⁻²」:第 20 步验证 loss 6.671,比参照的 6.683 还低;同一时刻最大注意力 logit 已是参照的 10.8 倍(25.7 对 2.38)。
  2. 训练中 仪表:开局对 ln V、梯度范数、最大 logit、spike score Karpathy 2019;Wortsman 2023;OLMo 2(2024)
    解决了在 loss 变坏之前报警:OLMo 2 观察到剧烈的梯度范数尖峰常先于 loss 尖峰;改初始化后梯度范数的 spike score 从 0.40 降到 0.03。
    卡在训练完了,仪表回答不了「模型会不会做题」——要拿题来考。
  3. 训练后 公开 benchmark MMLU 2020、GSM8K 2021 …
    解决了所有模型做同一套题,分数可以横向比。
    卡在同一个 LLaMA-65B,MMLU 的三种实现给出 0.637 / 0.488 / 0.636(HF 博客 2023);题目还会泄进训练数据。
  4. 查泄题 ① n-gram 去污染 + 干净子集 GPT-2 → GPT-3(13-gram)→ Llama 3(8-gram)
    解决了逐字重叠查得出来:GPT-3 对每个基准做「干净子集」重测,PIQA 29% 被标、干净子集低 3 个点。
    卡在GPT-3 的过滤程序有 bug,书一类长文档没滤掉,几个语言建模基准只能不报;改写、翻译能绕过逐字匹配(Yang 2023)。
  5. 查泄题 ② 换一套没见过的题 / 按时间切分 GSM1k 2024、LiveCodeBench 2024
    解决了不看训练数据也能量出虚高:Yi-6B-Chat 在 GSM8K 上 43.7%,同风格新题 GSM1k 上 35.7%。
    卡在新题一公开,又会被下一代模型吃进去。
  6. 查泄题 ③ 交换性置换检验(可证检测) Oren et al. 2023
    解决了只要能算 log 概率,就能给出假阳性率有保证的 p 值:重复 10 次的测试集,分片检验 p 到 1.96×10⁻¹¹。
    卡在只测「按原顺序、逐字」出现的污染;重复 1 次测不出(p = 0.099 / 0.485 / 0.544)。
  7. 解决了题目不公开,就无法被针对性优化:DeepSeek-V4 Pro 在公开的 GPQA-Diamond 上与 Opus 4.6 差 1 个点,在非公开的 PortBench 上差 16 个点。
    卡在分数本身有噪声;小模型上很多题根本测不准。
  8. 岔路 三层可信度 + 口径核对 旧 M7 / M8 的读法整合
    解决了第三方独立 > 自跑但披露偏差 > 纯自报;再查版本、脚手架、日期、基线。
    卡在—
  9. 小推大 ① 多种子、信噪比 Signal and Noise 2025;DataDecide 2025
    解决了判断一个差距是否超出噪声;DataDecide:150M 模型的排名预测 1B 模型排名约 80% 正确。
    卡在「全对才得分」的离散指标在小模型上贴地,排不出名次。
  10. 小推大 ② 平滑指标 + 两步预测 Schaeffer 2023;Llama 3 2024
    解决了>92% 的 BIG-Bench「涌现」出现在多选打分与完全匹配两种指标下;换成平滑指标,小模型上也有信号,再用 sigmoid 换算回准确率。
    卡在平滑指标不一定对应目标能力:Hu 2024 发现 PPL 与长文理解无相关。
数字口径:第一格由构建时读取项目真实日志 c08-stability.json 现算(runs 为 c6_lrw_d256_lr0.03 与 ref_baseline);其余出自原文——GPT-3 §4 与附录 C(本地 PDF)、HF《What's going on with the Open LLM Leaderboard?》(2023)、GSM1k 附录 F、Oren 2023 表 1、NIST CAISI 页面(2026-05-01)、DataDecide 摘要、Schaeffer 2023 §1、Hu 2024 摘要、OLMo 2 §3。

三层交互

层本章里的组件在哪一课
概念动画探针从哪个张量上取最大 logit(张量三区图);先猜再揭晓:只看「4 位全对」时的「涌现」,揭晓后四把尺子并排;先只看一个种子,再揭晓三个种子第 1、3 课
算法模拟器(真算法、小数据)spike score 规则在真实梯度范数序列上现算;逐字 n-gram 重叠扫描(真原文);交换性置换检验(99 次打乱现算 p 值);两比例 z 检验;信噪比与单种子误判概率;三层可信度分类练习;IRT Elo 换算胜算第 1、2、3 课、岔路
真模型 / 真数据我们项目全部 run 的仪表回放与体检表、5 次同配置重跑、C2 三种子实验;浏览器内现场训练的 4-gram 语言模型(泄题前后)与 7 个 MLP(涌现);NIST CAISI 的逐项分数第 1、2、3 课、岔路、实验课

项目推进:给我们的训练装上仪表与噪声底线

对应 04-实践项目/MILESTONES.md 的「C14 评测与训练仪表」。分工照旧:代码 AI 来写,决策你来做。minillm/train.py 每 5 步记录裁剪前梯度范数的均值与最大值,每 20 步评估验证 loss;experiments/common.py 的探针在评估时额外记录最大注意力 logit 与输出 logit;experiments/exp_c14_eval.py 汇总 runs/ 下全部 run,并新跑 3 个与基线完全相同的 run 测噪声,导出 c14-eval.json。

🧭

你要拍板的三件事

  1. 记哪几块仪表、多久记一次?梯度范数每步都记还是每 5 步?探针要多做一次前向,多久做一次划算(第 1 课)?
  2. 报警阈值怎么定?开局 |loss − ln V| 超过多少、梯度范数峰值超过参照几倍、最大注意力 logit 超过多少算「要出事」——阈值必须用实验课的全部 run 校准,并公开它的误报与漏报(第 1 课、实验课)。
  3. 两个配置差多少才算「更好」?噪声底线以 5 次同配置重跑为准:目前标准差 0.0066、极差 0.0162(README 写的 0.003 只来自两次运行);差距与种子标准差同量级时,每边要几个种子(第 3 课)。

验收标准(全部可测):

坑与带走

坑症状后果怎么办
只看 loss 不看梯度范数与最大 logitloss 一路平滑下降,最后却比参照差一大截发现时已经训完了同一时间轴上读四块仪表,和参照并排(第 1 课)
把「梯度范数变小」当成「更稳了」出事的 run 后期梯度范数反而比参照低把 softmax 饱和、学不动当成稳定梯度范数要和 logit、loss 一起读(第 1 课)
开局对上 ln V 就以为初始化没问题初始化 std 0.002 的 run 开局分毫不差,最后差 0.71漏掉起步太慢开局自检是必要条件,不是充分条件(第 1 课)
loss 好得离谱没起疑去掉因果掩码的 run,验证 loss 只有 0.02把「偷看答案」当成「学得好」远低于该有的值,先查评估(C0 第 5 课、实验课)
以为做过去污染就干净报告写了去污染,分数仍虚高高估能力逐字匹配抓不住改写;加新题对照或顺序检验(第 2 课)
同名 benchmark 直接比分同一个模型在不同来源里差 10 个点排名随口径翻转先问几 shot、什么格式、怎么打分(第 2 课)
差距小于噪声就下结论单种子说 A 好,三个种子说 B 好选错配置先量噪声;差 ÷ 噪声 < 1 时多跑种子(第 3 课)
在小模型上用 exact match 做决策所有配置都是 0 分,排不出名次以为只能硬上大模型换连续指标(似然、错几位);在对数坐标上看(第 3 课)
把官方自测当客观排名发布当天的对比表全是自家领先高估模型实力分三层:第三方独立 / 自跑但披露偏差 / 纯自报(岔路)
只看分数不看成本选型时忽略性价比为同样的分数多花几倍的钱看「分数 ÷ 成本」的帕累托前沿,并确认成本口径(岔路)
拿共用超参对比两种方法得出「A 优于 B」结论只是超参偏向的结果各自调优再比(K3 比较 cosine 与 WSD 的做法;岔路)
把 preview 版的数字当定论引用的数字在正式版里变了结论过期引用带版本与日期(岔路)
把理论 FLOPs 的倍数当实测加速「快了 2.9 倍」性能预期落空分清估算与实测、整模型与单项(岔路)
把「窗口 1M」当「有效 1M」长文检索在生产环境翻车高估长上下文能力窗口看 config,有效长度看 NIAH / MRCR(C2 第 5 课、岔路)
只比架构不比可信度高估自报强的那一家选型失误CAISI 案例:自报约等于 Opus 4.6,独立评测更接近 GPT-5(岔路)
把 HF 合集页的参数徽章当真V4-Flash 显示 291B参数量对不上以论文与模型卡为准(284B);753B 与 744B 是两种口径(岔路)

这一章你应该带走的(各课「一句话」):

提问记录:这一章还没有真实提问。学习中有疑问,记到 05-问答记录/C14-L<课号>.md(岔路课是 C14-B1.md);有价值的问题会展开成新的岔路课。

深入这一章

每条都在 2026-09-26 实际打开核对过(网页用 curl 抽正文、视频用 oEmbed、论文用 arXiv API):写清它讲清了什么、对应哪一课、为什么推荐。

🎮 想更直观 10–30 分钟

先玩本章的组件;下面四条是外部最直观的入口
20 min英文需联网 GitHub · 开源书的一章
一组来自真实大模型训练(包括 BLOOM-176B 之前的 104B 实验)的 loss 曲线图鉴:好的、坏的、看不懂的,每张附上可能的原因。
对应第 1 课:在看自己项目的仪表之前,先见过真实大模型的曲线长什么样。作者自己说「理解」二字言过其实,很多只是识别形态——这句坦白本身值得学。
20 min英文需联网 2023 · 博客
把 MMLU 的三种实现(原版、HELM、Eval Harness)喂给模型的提示和打分方式逐一摆出来:同一个 LLaMA-65B 得到 0.637 / 0.488 / 0.636,模型排名也跟着变。
对应第 2 课的「同名 benchmark 分数可比」这个误解:看完就知道「几 shot、什么格式、怎么打分」为什么必须问。
15 min英文需联网 交互数据库
主流模型在一批高难度基准上的成绩,既有 Epoch 自己跑的,也有收集的外部结果;可以按时间、按基准、按模型看趋势。
对应第 3 课与岔路:练习区分「谁测的」,以及同一基准上分数随时间饱和的样子。
5 min英文需联网 GitHub
GPT-3 训练数据里出现最频繁的 13-gram 实例:排第一的是新闻稿版权声明(15.9 万次),其次是 1 到 13 的数字序列。
对应第 2 课:GPT-3 为什么忽略出现在 10 篇以上文档里的 13-gram——看一眼就懂。

🔬 想吃透原理 1–3 小时

唯一必看:Anthropic《Challenges in evaluating AI systems》。其余按课挑
40 min英文需联网 2023-10-04
从「看似最简单的」选择题评测讲起:MMLU 可能被训练数据吃进去、改选项格式就差约 5%、各家实现方式不一致;再到第三方框架(BIG-bench、HELM)的工程代价、人工评测与红队、用模型生成评测。
对应第 2 课与岔路,也是全章「分数能信吗」这个问题最完整的一手经验。它讲清的不是「评测很难」,而是每一种评测具体难在哪里、代价是什么。
40 min英文需联网 2019-04-25
一份训练神经网络的检查清单:「verify loss @ init」「init well」「human baseline」「overfit one batch」……每一步都是一块便宜的仪表。
对应第 1 课:开局 loss 对 ln V 这块仪表的出处之一;整篇读完,会更懂「先让仪表告诉你没出错,再追求更好」。
约 1 h中文需联网 YouTube 官方频道;课程页有投影片 PDF
选择题评测的答案怎么抽取、选项位置偏差、BLEU 与 ROUGE 的局限、Chatbot Arena 与用模型当裁判、BIG-bench、大海捞针,以及「不要尽信 benchmark」:改写过的考古题、训练数据里已经见过的题。
对应第 2 课与岔路:中文里把各类评测方式放在一起讲得最清楚的一讲;第 2 课「你可能会问」里的 LLM 当裁判、Arena 在这里展开。
20 min英文需联网 2025-08-19
作者写的导读:用小模型做数据与结构决策时,为什么要看信号与噪声;三种提高信噪比的办法。
对应第 3 课:比论文更快抓住主线,再回页面上的信噪比表对照。
约 2 h英文需联网
怎么扫学习率、怎么判断训练早期与中期的不稳定、梯度裁剪阈值取略高于典型梯度范数。
对应第 1 课与实验课:把「读仪表」变成调参流程;和 C5、C8 的用法一致。

📄 想读原文 按需

有本地 PDF 的直接打开;其余链 arXiv 摘要页(本地论文库暂无,P6 统一下载)
Brown et al. 2020
§4 与附录 C:13-gram 过滤与它的 bug、干净子集分析、N 的取法、PIQA / Winograd / DROP 的逐项讨论。
第 2 课的主要出处。几页纸,把「去污染做了什么、没做到什么」写得极其坦白。
Oren et al. 2023需联网
交换性置换检验与分片检验;1.4B 模型上故意混入 10 个测试集的验证(表 1);检出门槛约重复 4 次;§6 局限。
第 2 课「可证检测」的出处。
Zhang et al. 2024需联网
1,205 道按 GSM8K 风格重出的新题;部分模型掉最多 8 个点;附录 F 逐模型的两比例 z 检验。
第 2 课「换新题」的出处。
Yang et al. 2023需联网
改写、翻译过的测试题能绕过 n-gram 去污染;13B 模型因此在被污染的测试集上做到 GPT-4 水平。
第 2 课「没重叠 ≠ 没泄题」的出处。
Llama Team 2024需联网
§3.2.1 两步预测(FLOPs → 正确答案 NLL → 准确率);§5.1.4 用 8-gram 估计污染带来的分数增益(表 15)。
第 2、3 课各引一节。
OLMo Team 2024需联网
§3 训练稳定性:梯度范数尖峰常先于 loss 尖峰、缓慢上涨与尖峰频率相关、spike score 的定义、重复 n-gram 过滤。
第 1 课的出处;少有的公开完整训练日志的报告。
Wortsman et al. 2023需联网
在小模型上用高学习率复现注意力 logit 增长与输出 logit 发散两类不稳定。
第 1 课「最大 logit」这块仪表的出处;和 C8 一起读。
Wei et al. 2022需联网
「涌现能力」的定义与多个基准上的涌现曲线。
第 3 课的起点;和下一篇对着读。
Schaeffer et al. 2023需联网
涌现与指标的非线性、测试集分辨率;>92% 的 BIG-Bench 涌现出现在两种指标下;pL 的推导。
第 3 课 EmergenceLens 复现的就是它的 §2。
Magnusson et al. 2025需联网
25 种语料 × 14 个规模 × 3 个种子;150M 的排名预测 1B 约 80%;连续似然指标让多个基准在极小算力下可预测。
第 3 课「小规模排名」的出处。
Heineman et al. 2025需联网
决策准确率、信号(相对离散度)、噪声(末 n 个 checkpoint 的相对标准差)与信噪比的定义;30 个基准、375 个模型的验证。
第 3 课信噪比公式的出处。
Hu et al. 2024需联网
困惑度与长文理解能力没有相关性;困惑度可能只反映局部建模。
第 3 课「平滑的尺子也要量对东西」的出处。
Gu et al. 2024需联网
表 1:同一个模型在不同文献里的 ARC-Challenge 分数;评测设置里提示格式、示例、归一化、题型表述的逐项规范。
第 2 课「同名分数不可比」的出处。
NIST CAISI 2026-05-01需联网
9 个基准的逐项分数(含 2 个非公开)、IRT 1PL 方法附录、自报与独立评测的对比、成本比较。
岔路课反面样本的出处。
Kimi Team 2026
§6.1.3 评测配置与偏差说明、§6.2.2 网络安全评测、§6.3 第三方评测、§6.4 成本。
岔路课正面样本的出处。
DeepSeek-AI 2026
摘要自称 preview 版;§1 的自我定位(落后前沿约 3–6 个月、内部评测)。
与 CAISI 页面对着读。
🚫

排除了什么(也是筛选标准):① 各类「榜单速报」与只贴分数截图的转载——不写版本、日期、评测设置,数字无法对上原处;② 只罗列 benchmark 名字、不讲怎么考的「评测大全」长文——读完知道了几十个名字,说不清任何一个分数该信几分;③ 把 Schaeffer 2023 写成「涌现被证伪」的标题党——原文的结论是「可能不是缩放的根本属性」;④ 把 Arena Elo 当精确排名、不写投票数与日期的榜单搬运——Elo 会随投票漂移;⑤ 旧版 M8 写作时没通过对抗验证、主动删掉的两个 Artificial Analysis 数字(见岔路课 Dig);⑥ 旧版课程的 LossChart「loss 诊断器」——用正弦噪声模拟 loss,不是真实训练动力学,本章实验课用项目真实 run 的仪表重做了「诊断」。