- 阶段一 · 地基:P01《Attention Is All You Need》 · P02 Bahdanau Attention · P03 seq2seq · P04 word2vec
- 阶段二 · 预训练范式:P05 BERT · P06 GPT-1 · P07 GPT-2 · P08 GPT-3 · P09 T5
- 阶段三 · 规模与效率:P10 Scaling Laws · 本篇 · P11 Chinchilla · P12 LoRA · P13 FlashAttention · P14 MoE
- 阶段四 · 对齐与推理:P15 InstructGPT(RLHF)· P16 思维链 CoT · P17 DPO · P18 Constitutional AI
- 阶段五 · 检索与 Agent:P19 RAG · P20 ReAct · P21 Toolformer
太长不读最近两年你一定听过这样的话:「XX 模型也就是 scaling 的结果」「智能是堆算力堆出来的」。scaling 这个词已经成了 AI 圈的日常归因,但它有一个精确的出处:2020 年 1 月,OpenAI 发表《Scaling Laws for Neural Language Models》,用一大批从几百个参数到 15 亿参数的模型证明——语言模型的性能不是碰运气,而是三个变量(参数、数据、算力)的可计算函数,三条关系曲线全是标准的幂律直线。由此推出三个反直觉结论:模型形状几乎不重要(宽深比拉开 40 倍,成绩只差 3%)、大模型更省数据(模型放大 8 倍,数据只要 5 倍)、给定预算该训一个大模型并提前叫停,而不是把小模型磨到收敛。四个月后 GPT-3 按这份配方下注 1750 亿参数,一把成功。这篇 30 页的论文,是「大力出奇迹」的说明书——而它最漂亮的一笔,是连这套定律自己的失效点,都一并算了出来。
上篇回顾 · 先答一题上一篇 T5 讲完,阶段二收官。先别往下翻,试着答:T5「大考第二场」——突然给你 4 倍算力,这笔预算怎么花——考出的结论是什么?……答案:放大模型,普遍好过让小模型多吃数据。但注意 T5 的考法:它只摆了四种花钱方案挑最好,像在货架上比价。同一时间的 OpenAI 走得更绝——他们不满足于「哪种更好」,要的是一条公式:算力翻 10 倍、100 倍、1000 倍,每一档该配多大的模型、喂多少数据、训多少步,全部提前算出来。从这一篇起,我们进入阶段三:「变大」不再是选择题,而是一门可以计算的科学。
012020 年初的猜谜游戏:模型该做多大,没人算得出来
先摆问题。这个系列一路讲过来,模型的参数量一直在涨:BERT-large 3.4 亿,GPT-2 15 亿,T5 干到 110 亿。但如果你在 2019 年底问任何一位从业者:「为什么是这个数?下一代该做多大?」得到的答案大概率是两个字:预算。再追问「多花 10 倍算力,能换回多少性能」——没人报得出这个「汇率」。变大显然有用,但有多大用、用到哪一档开始不划算,全行业没有公式,只有胆量。
这在当时已经是个昂贵的问题。训练一次大模型的开销以百万美元计:做小了,浪费一次机会;做大了,烧钱烧在无谓处;数据配少了,大模型吃不饱;训得太久,最后几天的算力可能只换来小数点后第三位的提升。每一个决定都值几十万美元,而每一个决定都靠拍脑袋。此前的文献里只有零星线索——比如 2017 年就有研究(Hestness et al.)发现过「数据越多、错误率按幂律下降」的苗头——但没有人把模型、数据、算力三者放进同一个框架里系统地量过。
OpenAI 的一支小队决定不猜了:把「变大」本身当成研究对象。做法朴素到近乎笨拙——训练一大批除了规模什么都一样的模型,参数量从 768 个(没打错,就是七百六十八个)一路铺到 15 亿,数据量从 2200 万 token 铺到 230 亿 token,网络的深浅宽窄也各种排列组合,然后只回答一个问题:成绩到底由什么决定?
说一句作者名单,今天回看全是伏笔:共同一作 Jared Kaplan 本行是理论物理学家——这篇论文满纸的幂律、标度、临界点,全是物理学的家什;另一位共同一作 Sam McCandlish 后来是 Anthropic 的创始科学家;名单里的 Tom Brown,四个月后就是 GPT-3 论文的第一作者;为整个项目「提供指导」的那个名字,叫 Dario Amodei——后来 Anthropic 的 CEO(Claude 就是他们的产品)。读到这里你大概明白这篇论文在 OpenAI 内部的角色了:它是那批人给「豪赌大模型」写的投资说明书——先把定律算清楚,再把 1750 亿的注押下去。
02三条直线:参数、数据、算力,各画出一条幂律
实验设置一句话说完:语料用 WebText2——把 Reddit 上获得至少 3 个赞的帖子里的外部链接抓下来,得到 96GB 文本、229 亿 token(GPT-2 用的 WebText 的加大版);模型清一色 decoder-only Transformer,就是 GPT 的路子;成绩只看一个数:交叉熵损失(loss,可以理解为「模型猜下一个词猜得有多准」,越低越好)。没有花哨的榜单,没有几十项任务——就一个数,但把它量到底。
结果就是上面这张图。把 loss 对参数量 N、数据量 D、算力 C 分别画在双对数坐标(横纵轴都按 10 倍、100 倍刻度伸缩)上,三条线笔直。直线在这种坐标下有个学名:幂律(power law)。用人话说:每把投入翻一倍,loss 就按一个固定的比例打折——折扣率永远不变,收益永远递减,但也永远有效,不会突然断掉。论文实测的趋势横跨六个数量级以上(最宽的趋势超过七个),从头直到尾,没有弯。
三个折扣率也量出来了:算力的指数约 0.050,参数约 0.076,数据约 0.095。这些小数点你不用记,要记的是它意味着什么:性能第一次变得可以预报。给我你的参数量,我报你的 loss;给我你的算力预算,我报你能到达的成绩——误差小到能画在一条直线上。顺带还有一个流传至今的工程副产品:论文推出训练算力的极简估算式 C ≈ 6 × 参数量 × token 数。今天你在任何一篇大模型成本分析里看到「6ND」这个算式,出处就是这里。
这一节的意义,可以用论文自己在讨论部分打的比方来说:这就像理想气体定律——不管气体分子具体是什么,宏观上都服从同一个方程。在此之前,训模型像炼丹:投料,开火,祈祷。三条直线画出来之后,炼丹第一次有了化学方程式:反应结果可以被预测,而且预测得相当准。
03形状不重要,规模才重要
第一个反直觉结论,砸向的是全行业的手艺自尊。当时的普遍直觉:网络结构是精细活——多少层、每层多宽、几个注意力头、前馈层放大几倍,都是调参师的看家本事,值得一篇篇论文去磨。
论文的做法是把这些「形状」旋钮逐个拧到极端,同时钉死参数总量不动。最狠的一组:把「宽深比」(每层宽度 ÷ 层数)拉开 40 倍——一头是很深很窄的塔,一头是很浅很宽的饼——loss 只差 3% 上下。其他旋钮同理:前馈比例、注意力头维度,在很宽的范围里怎么拧都只有百分之几的差别。论文还把这个差别换算成了钱:多花 22% 的算力,就能补回 1% 的 loss 差距。架构调优的价值第一次被明码标价——而且标得很便宜。
结论用论文的原话说:性能强烈依赖规模,微弱依赖形状。参数总量才是硬通货,怎么摆放它们只是零钱。不过「形状不重要」有一个重要的边界——换架构就另当别论:论文拿老一代主力 LSTM(我们在 seq2seq 那一篇讲过的循环网络)做了对照,同等参数量下,LSTM 在上下文的前段还能与 Transformer 打平,但大约 100 个 token 之后就停滞不前,Transformer 却能持续利用整段上下文。旧架构不是不够大,是天花板本身更低——所以「规模压倒一切」的完整表述是:在对的架构上,规模压倒一切。
这一节的后果今天看得很清楚:它把整个行业的注意力从「设计更巧的网络」拉向「把网络做大」。2020 年之后,架构层面的花样明显降速,算力军备明显加速——这条分水岭,就是从这几张「怎么拧都是 3%」的图开始划下的。
04大模型更省数据:模型放大 8 倍,数据只要 5 倍
第二个反直觉,砸向的是教科书。经典机器学习的告诫:模型容量越大,越容易过拟合——把练习册背得滚瓜烂熟,一上考场就露馅。所以参数涨,数据必须跟着等比例暴涨,甚至涨得更凶,否则就是灾难。
定律说:不用。论文把「过拟合的惩罚」也量成了公式——它只由一个比值决定:N 的 0.74 次方除以 D(N 是参数量,D 是数据量)。保持这个比值不变,就完全不受惩罚。换算成人话:模型放大 8 倍,数据只需要跟到大约 5 倍。数据要涨,但涨得比模型慢——「等比例暴涨」的恐惧被一条实测曲线拆掉了。
更漂亮的是「样本效率」这一层(上图的彩虹曲线):同样一批教材,大模型翻更少的页数,就能考到同样的分数。10 亿参数的模型达到某个 loss 所需的训练样本,比小模型少了不止一个量级。直觉里「大胃王」式的大模型,实测反而是「消化好」的那个学生——每一口数据,大模型从里面榨出的东西更多。
这给「先做大」提供了第二重理由:大模型不但上限高,还更省数据、省训练步数。「大」本身就是一种效率——这句话在 2020 年听起来像悖论,今天已经是常识。
05最反直觉的一课:给你 10 倍算力,请别训到收敛
现在到了 T5 那道题的完整版。预算固定,钱怎么花?可拧的旋钮其实是三个:模型多大、批多大(一次并行喂多少数据)、训多少步。T5 摆了四个方案挑最好;这篇论文直接给出了任意预算下的连续配方。
配方是一条幂律:最优模型大小随算力的 0.73 次方增长。翻译过来:算力翻 10 倍,模型放大约 5 倍,数据吞吐量只加约 2 倍,训练步数几乎一步都不用多(步数的指数是 0.03,约等于零——论文说这个值小到「可能与零一致」)。增加的数据吞吐几乎全靠加大批次来消化,不用训得更久。
由此推出全文最石破天惊的一句:给定预算,最优策略是训一个「过大」的模型,然后远在收敛之前就停下来——而不是把一个小模型磨到极致。论文的原话干脆利落:收敛是低效的(convergence is inefficient)。花同样的钱,「大模型提前退场」碾压「小模型磨到毕业」。这跟每个工程师的本能相反——谁不想把训练曲线跑平了再交货?定律说:跑平的那段最亏,钱应该花在更大的模型上。
这份配方四个月后就交了实盘作业。GPT-3:1750 亿参数,只训 3000 亿 token——每个参数摊不到 2 个 token,标准的「大模型、早停」打法。上一篇我们说 GPT-3 是「按定律下注」,注就下在这一节:模型大小、数据配比、训练长度,全部照抄这份配方。从此,百万美元级的训练不再是赌博,而是有仪表盘的投资。
06定律的尽头:一个自带保质期的预言
这篇论文最有物理学家气质的地方在最后:它算出了自己的失效点。多数论文展示自己的方法在哪里成立;这篇顺手推导了自己在哪里必然不成立——像一张自带保质期标签的说明书。
矛盾是这样来的。按第 05 节的配方,算力涨,数据只需慢慢跟(大约随算力的 0.26 次方);但按第 04 节的过拟合定律,要压住过拟合,数据得跟得更快(随算力的 0.54 次方)。一慢一快,缺口越拉越大——总有一天,省数据的配方会撞上过拟合的红线。两条曲线的延长线必然相交,交点之后,定律自相矛盾,必然失效。
论文把交点的坐标算了出来:大约在 10⁴ PF-days 的算力(PF-day:一台每秒千万亿次运算的机器跑一整天)、约 1 万亿参数、约 1 万亿 token 附近,loss 约 1.7。并且立刻诚实注明:这些数值上下有一个数量级的不确定,对拟合参数极其敏感。但作者们不满足于「定律在这之前失效」这个技术性答案,还给了一个更浪漫的猜想:那个交点也许标记着 Transformer 语言模型能从自然语言里提取的全部可靠信息的极限——loss 降到 1.7 附近,可能意味着触到了语言本身的熵:再往后,不是模型不行,是文本里已经没有更多可学的规律了。
讨论一节还留了一句今天读来极有分量的话。作者引用物理学名言「more is different」(多了,就不一样了)提醒读者:loss 的平滑下降,可能掩盖着能力的跳变——就像经济总量平滑增长的曲线里,看不出具体某项技术的突破。两年后 AI 圈吵翻天的「涌现能力」争论(小模型完全不会、大模型突然就会的能力),这里已经埋好了预告片。
后日谈:定律后来怎么样了?2022 年,DeepMind 的 Chinchilla 论文重做了这套实验,发现 Kaplan 配方把数据项算少了——最优配比其实是参数和数据等比放大(大约每个参数配 20 个 token),模型该更小、数据该喂更多:700 亿参数的 Chinchilla,就此在一众任务上打败了 2800 亿参数的 Gopher。配方的数字被修正了,但「性能可以被计算」这个范式毫发无损——GPT-4 的技术报告里,OpenAI 称在正式训练开始前,用万分之一算力的小模型准确预测了最终 loss。scaling law 从一篇论文,变成了每个前沿实验室的仪表盘。而 Chinchilla 怎么发现那笔账算错了、错在哪——正是下一篇的故事。
✎读完自测:先别往下翻,试着答
主动回忆一遍才记得住。三问,想好再看答案:
- 1. 定律说性能由哪三个变量决定?模型的「形状」(层数、宽窄)排在哪?
- 2. 突然给你 10 倍算力,按定律该怎么花?
- 3. 这条定律自己预言了什么时候失效?后来应验了吗?
答案1. 参数量 N、数据量 D、算力 C,三者各自与 loss 呈幂律;「形状」几乎不上桌——宽深比拉开 40 倍,loss 只差 3%,多花 22% 算力就能补回 1% 的差距。2. 约 5 倍放大模型、约 2 倍加数据吞吐(主要靠加大批次)、几乎不加训练步数;并且远在收敛之前就停——「大模型提前退场」胜过「小模型磨到毕业」。3. 它算出省数据的配方终将撞上过拟合红线,交点约在 1 万亿参数、1 万亿 token 附近(自注:上下一个数量级不确定);后来 Chinchilla(2022)证明配方的数据项确实算少了——数字被修正,但「性能可计算」的范式活了下来,还成了 GPT-4 的训练仪表盘。
→一句话带走,和下一步
只记一句:OpenAI 用一大批从 768 个参数到 15 亿参数的模型画出三条笔直的幂律线,证明语言模型的性能是参数、数据、算力的可计算函数——形状几乎不重要,大模型更省数据,最优策略是把钱优先花给「变大」且不必训到收敛;四个月后的 GPT-3 是这条定律的第一笔大注,而定律最物理学家的一笔,是连自己的失效点都一并算了出来。
启后:定律预言了万亿参数附近有一堵墙,而第一个跑去撞墙验货的是 DeepMind。他们重算了这笔账,发现 Kaplan 的配方把「数据」这一项算少了——于是有了「70B 打败 280B」的以小胜大,和一场大模型的节食革命。下一篇 P11《Chinchilla》,阶段三继续。
想再深入一点荐读一个最优源:Epoch AI 的《Scaling laws literature review》(epochai.org,免费公开)——把 Kaplan、Chinchilla 以来的规模定律研究梳成一张地图,读完你能接上这条线最新的进展。原论文:arXiv 2001.08361;关键前作:Hestness et al. 2017(arXiv 1712.00409,数据幂律的早期证据);后续修正:Hoffmann et al. 2022(arXiv 2203.15556,Chinchilla,下一篇的主角)。/ 互动钩子:定律说「loss 平滑下降」,但你在使用 AI 时感受到的进步是平滑的,还是一代代「突然变聪明」的跳变?欢迎评论区聊聊你的体感。