从0训练LLM · 现代大模型体系 阅读 + 实验 ≈ 35 分钟(浏览器里训练 7 个小模型约 10–20 秒) 页内实验 ×3
C14 评测与训练仪表:分数能信吗 第 3 课

大模型只训得起一次,小实验上得出的结论能信几分?「涌现」会让小实验全部失灵吗?

小实验与大决策:噪声、涌现与两步预测
我们项目的 C2 实验里,只跑一个种子会得出「RoPE 在 512 长度上更好」,三个种子的均值却是反过来的。小实验能指导大决策,前提是信号大过噪声:多跑种子、按信噪比挑指标。再往下一步是「涌现」——浏览器里 7 个宽度的加法模型,宽度 16 到 32 这一步,「4 位全对」从 2.5% 跳到 27.6%,逐位准确率只从 0.51 到 0.77:全对才得分的尺子把进步放大了十倍。Llama 3 用两步预测把平滑的损失换算回准确率,外推了四个数量级。
❓

本课一问:大模型只训得起一次(C6 第 1 课:DeepSeek-V3 一次就是 2.788M H800 GPU 小时),用什么数据、什么结构,都得先在小模型上试。小实验上得出的结论,能信几分?听说有些能力要到大模型上才「涌现」——那小实验岂不是全部失灵?

这一课先不碰:缩放律本身怎么拟、N 与 D 怎么分(C6);题目泄露(第 2 课)。

从已有出发

C6 第 1 课做过一件同类的事:只用小预算的训练点拟一条缩放律,外推到大预算,预测大模型的 loss。那里预测的是 loss;这一课问的是另外两件事——比较两个配置时,小实验的结论稳不稳;以及我们真正关心的下游分数,能不能从小模型上看出来。

从已有出发 · 累计数据流 点已学环节看形状与参数
解码层

先在贯穿例句上算一个数。要模型把「小明把苹果给了小王」一字不差地写出来(exact match),5 个 token 必须全对。如果每个 token 答对的概率是 p,且各 token 相互独立,整句全对的概率就是 p5:p = 0.5 时是 3.1%,p = 0.9 时是 59.0%,p = 0.99 时是 95.1%。每个 token 的进步是平滑的,整句的分数却是先贴地、再陡升。这一课的后半段就在讲这件事。

🔁

这一课为什么换例子。「小实验的结论稳不稳」要看同一个实验重复几次的波动,一句话上没有波动可言;所以前半段读我们项目 C2 实验的三个种子,后半段在浏览器里真训练一组小模型。

先自己设计:单次小实验直接下结论

最省事的做法:两个配置各跑一次,哪个 loss 低就选哪个。我们项目 C2 的位置编码实验正好每种配置跑了三个种子,可以看看「只跑一次」会怎样。下面是训练长度 128、在 512 长度上测的最终验证 loss:

  1. ① 朴素方案
  2. ② 它在哪失败
  3. ③ 改进方案
朴素方案两个配置各跑一次,loss 低的就更好
只跑一个种子,结论可靠吗?项目真实日志 · C2 实验 · 3 个种子

数据:c2-position.json · seed_summary(2026-09-26;mps(Apple M5 Max, torch 2.6.0);每个 run 400 步;种子 1337 / 1338 / 1339)。数值是最终验证 loss(nats/token),越低越好;128 是训练长度,256 / 512 是超出训练长度的外推测试。

C2 的实验课恰好遵守了「跑三个种子、报均值 ± 标准差」这条规则——所以才抓得到这次翻转。512 长度上的这一对,差距 0.0225 只有种子标准差的 0.9 倍左右;同一组实验在训练长度 128 上,RoPE 与 sinusoidal 的差距是种子噪声的一百多倍,那种结论跑一次就够。要不要多跑种子,取决于差距和噪声之比,不是一条固定规矩。

改进一:把差距和噪声放在一起——信噪比

Signal and Noise(Heineman 等,2025)给这件事下了操作性的定义,并用 375 个模型、30 个基准、90 万条评测结果验证:信噪比越高的基准,用小模型做决策越准 :

信噪比(Signal and Noise 式 2)
= ÷
👆 公式里带下划线的每一项都可以点——点哪项,讲哪项。
原文还观察到:1B 模型在 ARC-Challenge 上最后 30 个 checkpoint 之间,准确率就能相差 1.7 个点。它给出的三个提高信噪比的办法:换成噪声更小的指标(例如困惑度代替准确率)、剔除噪声大的子任务、对最后几个 checkpoint 取平均。
项目真实日志 · 三个种子的两两比较与信噪比
同一组配置两两比较:差距大过噪声了吗?项目真实日志 · C2 实验 · 3 个种子

数据:c2-position.json · seed_summary(2026-09-26;mps(Apple M5 Max, torch 2.6.0);每个 run 400 步;种子 1337 / 1338 / 1339)。数值是最终验证 loss(nats/token),越低越好;128 是训练长度,256 / 512 是超出训练长度的外推测试。

🎯

试三件事:① 默认(四种位置编码、512 长度):读「不加位置 vs RoPE」那一行——差 ÷ σ̄ 不到 1,9 种单种子配对里有 3 种相反,按高斯假设单种子误判概率约 27%,要让误判率低于 5% 每边得跑约 7 个种子;② 切到 128(训练长度):整组 SNR 比 512 高得多——外推越远,种子间的波动越大;③ 切到「RoPE 零样本扩长度」、512:「RoPE 不缩放 vs YaRN」的差 ÷ σ̄ 只有 0.5 左右——「YaRN 在 512 上比不缩放好约 0.02」这类结论,需要更多种子才站得住。

改进二:小规模的排名,本身就是很强的预测

那么,拿小模型的排名去预测大模型的排名,靠得住吗?DataDecide 在 25 种预训练语料上,从最小到 1B 共 14 个规模各训了一套模型(每个配置 3 个种子),专门回答这个问题 :

这条观察把我们引到下一个问题:为什么「准确率」在小模型上这么没用?

改进三:「涌现」,还是尺子的形状?

Wei 等人 2022 年把「涌现能力」定义为:小模型上没有、大模型上才出现,所以无法从小模型外推预测的能力 。如果真是这样,小实验在这些能力上就彻底失灵了。Schaeffer 等人换了一个角度去看同一批证据:BIG-Bench 上被标注为「涌现」的能力,超过 92% 出现在两种指标下——多选打分(概率最大的选项对就得 1 分,否则 0 分)和完全匹配(整串一字不差才得 1 分) 。两种指标都是「非线性或不连续地」处理每个 token 的对错。

完全匹配为什么会「涌现」(Schaeffer 2023 §2)
≈
👆 公式里带下划线的每一项都可以点——点哪项,讲哪项。
原文的论证是:换成线性指标(例如「错了几个 token」,约等于 L(1 − p)),同一批输出就呈现平滑、可预测的变化。原文把「涌现」归结为三个因素:① 选了非线性或不连续的指标;② 测试题太少,小模型的分数分辨不出来;③ 大模型那一端采样不足。

在浏览器里把这件事从头做一遍:训练 7 个宽度不同的小模型做三位数加法,再用四把尺子量同一批测试输出。

浏览器内真训练 · 7 个模型、同一批输出、四把尺子
同一批模型、四把尺子:「涌现」是模型变了,还是尺子变了?三位数加法 · 7 个宽度的 MLP · 浏览器内真训练
等待开始(滚动到这里会自动开始)

数字来源:浏览器实时训练(纯 JS,Float32 存参数、Float64 算损失)。任务、数据种子、模型与训练设置写在上方与组件源码注释里;7 个模型用同一份训练题、同一个初始化种子,只改宽度。换浏览器末位可能略有不同。

🎯

试三件事(默认设置,浏览器实算):① 先只看「4 位全对」,想好了再揭晓——宽度 16 → 32,全对率从约 2.5% 跳到约 27.6%;② 揭晓后读下方表格:同一步里逐位准确率从约 0.51 到 0.77,每位 NLL 从约 1.23 到 0.55;把逐位准确率拆开,那一跳几乎全是个位数字(约 0.21 → 1.00),十位、百位仍在一点点变好;③ 把「测试题」切到前 100 道:最小的一档被量成 0 / 100(2,000 道里其实是 4 道);切回 2,000 道、纵轴换成对数:最小的三档是约 0.2%、1.4%、2.5%,不是 0——小模型一端就有可测的信号,16 → 32 那一跳仍在,来自个位数字。

⚠

常见误解:「Schaeffer 证明了涌现不存在。」原文的主张是:很多被报道的涌现,换一把尺子、或者多测一些题,就会消失,可能不是缩放的根本属性。它没有证明任何能力都不会在某个规模突然出现;上面的加法模型里,个位数字从学不会到几乎全对,就发生在宽度 16 到 32 之间——在「单个数字」这一级上,它本身也是一个陡峭的转变。要问的是:我关心的那个分数,是不是被一把全对才得分的尺子放大了?

改进四:两步预测——在平滑的尺子上外推,再换算回来

既然准确率在小模型上贴地、跳变,而损失随算力变化得连续得多,那就在损失上外推,最后再换算。Llama 3 在开训之前,就用这个办法预测了 405B 旗舰模型在 ARC-Challenge 上的准确率 :

  1. 训练 FLOPs → 正确答案的(归一化)负对数似然:用算力不超过 10²² FLOPs 的缩放律模型,拟一条线性关系;
  2. 负对数似然 → 准确率:用这些模型加上更大的 Llama 2 模型,拟一条 sigmoid。

这个两步预测外推了四个数量级,只略微低估了旗舰模型最后的表现。它和 C6 第 1 课的缩放律外推是同一条思路,多出来的那一步,是把「平滑但不是我们要的」换算成「我们要的」。

改进五:平滑的尺子,也要量对东西

平滑的指标好外推、噪声小,可它未必量的是你关心的能力。

平滑指标是做决策的工具,前提是先确认它和目标能力相关——Llama 3 的第二步(NLL → 准确率)做的正是这个确认。

⚠ 常见误解

⚠

「差一点也是差。」我们项目里同一个种子重跑 5 次,最终 loss 的极差就有 0.0162。差距小于噪声时,「更好」的那个只是这一次运气好。

⚠

「涌现 = 小模型上什么也测不出,只能硬上大模型。」很多时候是尺子的问题:换连续指标(DataDecide 的 CORRECT PROB、Schaeffer 的 token 编辑距离),或者在对数坐标上看,小模型上就有信号。

⚠

「loss / PPL 越低,所有能力都越好。」困惑度与长文理解无相关(Hu 2024);loss 在降、下游饱和(Qwen3.8-Flash-Next 自报)。平滑指标要先验证它对得上你要的能力。

在演进地图上的位置

评测的演进:每一代都被上一代的某个真数字逼出来(点名字去那一课;完整版在章首页)
  1. 只看 loss(和 PPL)
  2. 仪表:开局对 ln V、梯度范数、最大 logit、spike score
  3. 公开 benchmark
  4. n-gram 去污染 + 干净子集
  5. 换一套没见过的题 / 按时间切分
  6. 交换性置换检验(可证检测)
  7. 非公开题 + 第三方预先定好的评测集
  8. 三层可信度 + 口径核对
  9. 多种子、信噪比
  10. 平滑指标 + 两步预测
小推大 ①多种子、信噪比Signal and Noise 2025;DataDecide 2025你在这里
解决了判断一个差距是否超出噪声;DataDecide:150M 模型的排名预测 1B 模型排名约 80% 正确。
卡在「全对才得分」的离散指标在小模型上贴地,排不出名次。
小推大 ②平滑指标 + 两步预测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。

证据三问

问本课的回答
① 它解决什么问题?大模型只训得起一次,决策要在小模型上做;要知道小实验的结论什么时候靠得住
② 数学上为什么可能有效?各 token 独立时,全对率 = pL ;差值与噪声之比决定单次比较的误判概率
③ 实验上为什么最后选了它?高信噪比基准的小规模决策更准(Signal and Noise);150M 排名预测 1B 约 80%(DataDecide);两步预测外推四个数量级(Llama 3,自报)

一句话

📌

小实验能指导大决策,前提是信号大过噪声:多跑种子、用平滑指标做决策,再用两步预测换算回目标分数;「突然涌现」常常是全对才得分的尺子把平滑的进步量成了台阶。

🚦

先停在这里:记住「先量噪声、再比差距」和「看分数之前先看尺子的形状」。
再深一层:去实验课,把全课几十个 run 的仪表、结果和噪声底线放在一张表里,自己定报警规则。

下一个缺口

这一章给了读数的三件工具:训练中的仪表、训练后的分数与污染、小实验的信噪比。带着它们去读 2026 年的前沿技术报告——Qwen3.8、GLM-5.3、DeepSeek-V4.1、Kimi K3 各自改了什么、为什么? → C15 前沿解剖;先做本章的 实验课。

你可能会问

这一课还没有收到真实提问;你的提问会记到 05-问答记录/C14-L3.md。

🔍 我们项目的 C2 实验课,结论要不要改?

不用改,但要读得更细。C2 实验课报的是三个种子的均值 ± 标准差,比较的也是均值;这一课的表格说明,在训练长度 128 上,四种位置编码两两之间的差距都在种子噪声的 8 倍以上,结论很稳;到了 512 这样的外推长度,「不加位置 vs RoPE」「RoPE 不缩放 vs YaRN」这几对的差距与噪声同量级,只能说「差不多」,想分出高下要更多种子。本章实验课的项目决策 3 就是把这条规则写进项目。