缩放定律。
最有名的那条缩放定律在 2022 年被修正了十倍以上,而那次修正不是一个舍入误差——它发现的是:所有人一直都在用远远不够的数据,训练远远过大的模型。要带走的就是这一点:缩放定律是一条拟合到预训练损失上的经验曲线,它对那一个量准得惊人,而对「你的智能体能不能走完一个四十步的任务」则一个字也没说。几乎所有从它身上推出的坏结论,都源自把这两件事混为一谈。
这条定律究竟主张了什么。
一条缩放定律是一段拟合出来的幂律关系:当你增加算力、参数或训练数据时,模型的损失——它对留出文本里下一个令牌的平均惊讶程度——会沿着一条平滑、可预测的曲线下降。它背后没有理论。它是一条穿过测量点的回归线,而它的权威完全来自一个事实:它在好几个数量级的跨度上都成立过。
那次本该校准你信心的修正。
2020 年,Kaplan 等人拟合出第一个被广泛采用的版本,结论是:随着算力增长,参数应当比数据长得更快。GPT-3 正是照这个建议造的:1750 亿参数,训练在大约 3000 亿令牌上,约合每参数 1.7 个令牌。
2022 年,Chinchilla 那篇论文用「真正训练到收敛的模型」以及「按模型规模逐一调过的学习率调度」重新拟合了同一个关系——这是原版没有做的两项方法学修正。结论反了过来。算力最优被发现大约是每参数 20 个令牌,而一个用 1.4 万亿令牌训练的 700 亿参数模型,打败了一个按旧办法训练的 2800 亿参数模型。
把它当作一堂认识论的课来读,而不是一条冷知识。一条被整个行业当作定律的曲线,在它最核心的那条处方上错了一个数量级以上,持续了两年——原因是学习率没调好,以及模型从来没被训练到头。缩放定律是测量,而测量是有方法学的。任何超出「真正被测量过的区间」的外推,都该当作预测,而不是事实。
损失不是能力,而智能体就住在这道缝里。
曲线是连续的,你的任务不是。一个模型要么产出一次合法的工具调用,要么没有;它要么从失败的一步里恢复,要么陷进循环。那些都是阈值,而一条平滑下降的损失曲线会在没人能从曲线上预测出的地方跨过它们。
- 从损失到任务成功的映射推不出来。它是事后测出来的,一个任务一个任务地测。这正是为什么一个纸面上明显更好的模型,在你的外壳里可能更差;也正是为什么「下一个模型会不会把这个修好」唯一诚实的回答是跑一次评测。
- 智能体的失败是累乘的,不是平均的。每步 98% 的可靠性很出色,而在四十步上给你的是 45% 的成功率。缩放定律描述的是平均意义上的下一令牌行为;任务跨度描述的则是这个平均值被它自己乘上好几十次之后会怎样——对造智能体的人来说,那是更有用的一条曲线。
- 基准不是预训练分布。一个公开基准上的分数会因为污染、格式与外壳质量等原因而变动——见读懂基准。损失曲线是更干净的测量,恰恰因为没有人直接冲着它做优化。
- 「涌现」有争议,而你不必去裁决它。基准分数上的一次陡跳,究竟是一次真正的相变,还是一个不连续的度量被套在了平滑的底层改善之上——这仍是一场活着的争论。无论哪一边对,实际后果都一样:你没法从损失曲线上读出自己的能力。
人人引用的那条曲线,已经不是决定你账单的那条了。
预训练缩放依然有效。它只是不再是边际那一块钱的去处;而它的那些替代品各有自己的曲线、形状也各不相同——这正是为什么参数量如今作为「你在意的任何东西」的代理,已经近乎无用。
- 是后训练把智能体的前沿推动了。工具使用、指令遵循与长跨度行为,从后训练里得到的改善,远多于从预训练再翻一倍里得到的。这些东西没有一样被预训练定律描述过。
- 推理期算力完全是第二根轴。一个推理模型是用「每次请求花掉的令牌」而不是「训练时烤进去的参数」来买质量,而它有自己那条收益递减曲线——见推理期扩展。这才是你的账单真正骑在上面的那根轴,因为你每一次调用都要付它。
- 稀疏性打断了「参数—成本」的连接。一个总参数四千亿的专家混合模型,每令牌成本可以低于一个稠密的七百亿模型,因为算力跟着被激活的参数走、显存跟着总参数走。「它有多大」已经不再是同一个问题了。
- 蒸馏是把这条曲线反着跑。一个在大模型输出上训练出来的小模型,落点远离算力最优前沿,而它依然是对的选择——因为你的约束是延迟或单位成本,而不是训练效率。见蒸馏与量化与小模型与本地模型。
只把缩放定律用在它该用的那一件事上——分配训练预算——并拒绝把它用在别处。当有人主张某项能力就要来了、因为趋势线这么说,先问那条趋势线画的是哪个量;如果答案是损失,那这个论证还没碰到你的问题。在你自己的工作里,把参数量从选型标准里彻底删掉,换成两个你亲手测的量:在你的任务跨度上、在你的任务上的成功率,以及每成功任务成本。相关:如何选模型、训练与推理,以及价格通缩与每任务成本——看看这条曲线对你实际支付的东西做了什么、又没做什么。