拖更三年,长文刷屏——北大校友翁荔新智元
拖更了三年的博客,Lilian Weng终于发出来了。
就在刚刚,前OpenAI副总裁Lilian Weng一篇拖了三年多的长文刷屏了。
在这篇名为《Scaling Laws, Carefully》博客里,她直接把Scaling Laws从头拆到尾——
AI行业砸了数百亿美元押注的这条定律,远比任何人想象的脆弱。
一分钟速览:这篇万字长文讲了什么
一条公式管了全行业五年。Scaling Laws说「模型做大、数据喂多、算力堆够,性能就会按固定比例往上涨」。它让AI从玄学变成了能算账的生意,间接指挥了上千亿美金的流向。
OpenAI和DeepMind给出了相反的答案。同一个问题「算力预算怎么分配」,2020年OpenAI说模型该比数据涨得快,2022年DeepMind说两边得一起涨。后来发现,分歧的根源是一个参数统计口径的差异,加上实验规模不够大。
赢家的公式里也藏着bug。DeepMind那条被全行业照抄两年的最优配比,2024年被人逐行复现时发现:损失函数取了均值而不是求和,导致优化器提前停了,输出的参数根本不是最优解。
拿小模型的规律去预测大模型,要非常小心。这条曲线是在相对小的模型上拟合出来的,外推到万亿参数级别时,一个四舍五入的差别就能让结论差出一大截。博客里附了一个交互式模拟器,拖一下滑块就能亲眼看到。
还有个更根本的问题:数据快用完了。公式默认数据可以无限供应,但高质量文本是有限的。这也是为什么整个行业集体转向强化学习、测试时计算和合成数据。
一条直线,千亿美金
众所周知,Scaling Laws的核心可以简单地总结成一句话——
模型越大、数据越多、算力越猛,表现就越好。而且这个「越好」不是随机的,它有精确的数学规律。
把模型训练的损失画在对数坐标上,它随着模型参数量N、数据量D、算力C的增加,呈一条直线下降。
用公式写就是L(x) = E + A/x^α,其中x可以是N、D或C,E是理论最优损失(数据本身的熵),A和α是拟合出来的常数。
训练一个N参数的模型跑D个token,总算力C ≈ 6ND——前向传播2ND,反向传播4ND。
这条直线意味着性能提升是可预测的。
先跑几个小模型,拟合出那条直线,往右外推,就能预估大模型训出来的表现。不用真花几亿美元把大模型训完才知道它行不行。
在这之前,深度学习一直被讥讽为「炼金术」,知道什么有效,不知道为什么有效。
2020年OpenAI的Kaplan发表了这条幂律,第一次把玄学拽进了「可预测」的地界。
这就是所有大模型公司敢砸钱的底气。
但公式给出的最关键建议,给定算力预算,模型和数据怎么分配,OpenAI和DeepMind给出了相反的答案。
OpenAI和DeepMind做出了相反的答案
2020年OpenAI的Kaplan团队得出的结论是:最优模型大小N_opt ∝ C^0.73。
翻译过来就是:算力翻10倍,5.5倍给模型、1.8倍给数据——模型涨得要比数据快得多。
这直接指导了GPT-3的训练方案。
1750亿参数的模型,只喂了3000亿个token(token是模型处理文本的最小单位,大约一个词对应1-2个token)。
按后来的标准看,这属于严重训练不足。
2022年DeepMind的Chinchilla团队得出了相反的结论:N_opt ∝ C^0.50,模型和数据应该等比增长。
工程师们后来把它提炼成一个张口就来的数字:最优token和参数比大约20:1。
然后DeepMind做了一场正面对决。
自家的Gopher,2800亿参数配3000亿token。Chinchilla,700亿参数配1.4万亿token。两个模型用了相同的算力。
Chinchilla全面碾压。
一个又小又「吃得多」的模型,把又大又「饿着」的对手打趴下了。
整个行业的共识因此翻转:从「把模型做大」变成「大多数模型都训练不足」。
0.73 vs 0.50,同一个问题,相反的答案,会让你把算力预算往两个完全不同的方向分配。
原因竟是一个「簿记问题」
2024年,两位研究者在机器学习顶刊TMLR发了一篇调和论文,把这个分歧追到了底。
结论让人哭笑不得。
第一个原因:两边数参数的方式不一样。
模型里有一类叫embedding的参数层,负责把文字转换成模型能理解的数字向量。小模型里这一层占总参数量的比例非常大,几千万参数的模型可能占到三分之一。
Kaplan在统计参数量时把embedding排除在外,Chinchilla则把它算进去了。
就这么一个参数统计口径的差异,就足以扭曲最终拟合出来的幂律指数。
他们给出了一个简洁的校正公式:N = N_\E + ω·N_\E^(1/3),其中N_\E是去掉embedding后的参数量,ω是常数。小模型时第二项占比大,embedding影响显著;模型越大,第二项趋近于零,两种数法殊途同归。
第二个原因:Kaplan的实验规模太小。
Kaplan测试的最大模型只到15亿参数,而Chinchilla的实验扫到了160亿以上。在对数坐标里,微小的拟合偏差在外推时会被急剧放大。
他们用统一的参数统计口径重新推导了Chinchilla的公式,发现了一个关键规律——
幂律指数会随着算力规模的增大而变化。在Kaplan的小规模实验范围内,指数确实接近0.73;但规模增大后,指数收敛到0.50。
Kaplan没有「错」,他在自己的实验范围内是对的。


