IT 论文精读 · PAPER 12
Kaplan、McCandlish 等 · OpenAI · 2020
2020 年初,OpenAI 一队人(Kaplan、McCandlish 等)系统研究了一件事:把语言模型(就是 ChatGPT 那类"猜下一个词"的模型)越做越大,到底能好到什么程度?他们发现一条惊人整齐的规律——模型的预测水平,随着三样东西(模型多大、喂多少文本、花多少算力)的增加,沿着一条极其平滑、可以提前算出来的曲线稳步变好。好到什么地步?你还没开始训练,就能算出一个大十倍的模型将会有多强。这条规律,直接给了 OpenAI 底气去造 GPT-3,也点燃了后来整个"越大越强"的大模型军备竞赛。
凭直觉,"把模型做大"应该会撞到天花板:一开始进步快,慢慢边际收益递减,最后停在某个水平。可他们把模型从很小做到很大、数据从很少加到很多,画出来的进步曲线居然是一条笔直的下坡——没有拐点、没有饱和,横跨好几个数量级都不弯。就像你每多花十倍的力气,成绩就稳稳往上提固定的一截,屡试不爽。
人们原本以为网络怎么"搭"很关键——搭多深、多宽、放几个注意力单元。结果发现:只要总的"零件数"(参数量)一样,你把它搭得又高又瘦、还是又矮又胖,最终成绩几乎一样。真正决定成绩的,就剩三个朴素的数字:模型多大、数据多少、算力多少。这等于说,能不能变强,主要不看你多聪明地设计,而看你舍得投多少资源。
它把一个原本靠猜的问题变成了算术题:给你一笔固定的算力预算,该拿去买一个更大的模型,还是拿去喂它读更多的书?他们算出了配比——把大头压在"把模型做大"上,而且别傻等模型把手里的书读到滚瓜烂熟,读个大概就该收手、去投下一批算力。一句话:与其让小模型死磕到底,不如让大模型囫囵吞枣。正是靠这条账,他们敢一步跳到 GPT-3 那个史无前例的规模。
诚实说一句代价:这个"配比"后来被 DeepMind 发现算偏了——同样的算力,其实该配一个没那么夸张的模型、喂它多得多的书。规律的形状对了,最优点却放错了地方。
它把"模型该做多大、要喂多少、值不值得"从一门玄学,变成了可以先在纸上算、再决定烧钱的工程。今天各家发布大模型前都会先跑一遍"缩放律"预测投入产出——这套先算后做的打法,就是从这篇开始的。
语言模型的水平,会随着"模型多大 + 数据多少 + 算力多少"沿一条平滑、可预测的曲线稳稳变好,跨好几个数量级都不弯;网络具体怎么搭反而不重要。于是"要不要投更多资源、怎么分配"第一次能提前算出答案——这既是 GPT-3 的底气,也是整个"大就是好"时代的定量依据。
想看那几条幂律的确切指数、算力最优配比,以及后来 Chinchilla 的修正? → 切到精读版
这篇论文用大量对照实验证明:Transformer 语言模型的测试损失,随模型参数量 N、训练数据量 D、训练算力 C 三者,各自遵循一条平滑的幂律(power law)下降——跨越七个数量级仍是一条直线;而网络的深宽比等结构细节几乎不影响结果。由此,给定算力预算,最优做法是训练很大的模型、在数据上不必训练到收敛就提前停。这套"缩放律"把大模型的投入产出变成可预测的工程,直接支撑了 GPT-3 的诞生。
y = a·x^k 的关系。特点是在双对数坐标里画出来是一条直线,斜率就是指数 k;它意味着"每翻十倍,都提升固定比例"。作者是 Jared Kaplan、Sam McCandlish 领衔的 OpenAI 团队(含 Tom Brown、Dario Amodei、Alec Radford 等),2020 年 1 月放出。它上承 GPT-2(2019)"大模型 + 无监督预训练"的路线,把"越大越好"从口号变成定量定律;下启同年的 GPT-3(正是照着这套账押注 1750 亿参数)与整个"scaling"时代。两年后,DeepMind 的 Chinchilla(Hoffmann 等 2022)修正了它的最优配比,与本文构成必须对读的一组。
2019 年前后,大家已经隐约感到"模型做大、数据加多,效果就更好",但这只是经验直觉:没人说得清好多少、到哪会饱和、钱该花在"更大的模型"还是"更多的数据"上。每训一个大模型都极贵,全靠试错等于烧钱赌博。
作者想把它变成科学:固定其他条件、只动一个变量,系统地测损失怎么变。他们训练了从几千到十亿量级参数的一大批 Transformer,扫过不同的数据量、模型形状、训练时长,看能不能从一堆散点里找出一条干净的定律——好让人"先算后做"。
最核心的结论:当另外两个因素不成为瓶颈时,测试损失 L 对参数量 N、数据量 D、算力 C 分别是平滑的幂律下降:L(N) ∝ N^(−0.076)、L(D) ∝ D^(−0.095)、L(C) ∝ C^(−0.050)。别被数字吓到,白话就是:把它们画在双对数坐标里,都是一条直线,能一路直到七个数量级都不弯——没有拐点、没有饱和的迹象。那几个很小的指数(0.05~0.1)说的是"回报虽稳、但要翻倍地投才换来一小截提升"。
为什么这惊人?因为它意味着可外推:在小模型上拟合出这条直线,就能相当准地预告一个大得多的模型能到什么水平——训练前就知道结果,这在深度学习里极罕见。
他们扫了不同的网络"形状"——同样的参数量,做得更深还是更宽、注意力单元多还是少、前馈层比例不同……结果在很宽的范围内,形状几乎不影响损失,真正决定成绩的是总参数量 N。这句话分量极重:它把"要不要精雕细琢架构"这件长期投入巨大的事,降格成了次要项,把注意力全部推向了规模。
同样读一批数据,大模型学得更快、更省样本——达到同一损失需要看的 token 更少。把 N 和 D 的效应合成一个公式,形如 L(N,D) = [ (Nc/N)^(αN/αD) + Dc/D ]^αD:直觉上,模型太小时,参数量是瓶颈;数据太少时,会开始过拟合。要不过拟合,数据只需随模型亚线性增长(约 D ∝ N^0.74),而不必等比例暴涨。
推到算力预算上就得到那条著名建议:给定固定算力 C,最优是把大头投给"更大的模型",并在数据上不训练到收敛就提前停。按本文的拟合,最优模型大小随算力增长得很快(约 N ∝ C^0.73),数据只需慢慢增(约 D ∝ C^0.27)。翻成人话:与其让小模型把少量数据啃到烂,不如把钱砸在更大的模型、让它把海量数据囫囵读个大概。正是这条账,让 OpenAI 敢直接跳到 GPT-3 的规模。
证据是几百个训练点连成的干净直线:损失对 N、D、C 的幂律各自跨越六到七个数量级都高度吻合,拟合误差极小。合成公式 L(N,D) 同时预测了"参数不够"和"数据不够"两种瓶颈,并给出二者的最优权衡。他们还发现最优 batch 大小可由"梯度噪声尺度"预测。最有说服力的是外推验证:用小规模拟合出的曲线,去预测更大模型的损失,结果相当准——这正是次年 GPT-3 敢押注的依据。
它把大模型从"炼丹"推向"工程":投多少资源、怎么分配、能得到什么,第一次能提前算出来。三点深远影响——其一,为 GPT-3 直接提供了定量依据,也奠定了此后各家训练前先跑缩放律预测的标准流程;其二,把研究重心从"设计更巧的架构"转向"扩大规模",塑造了"scale is all you need"的时代信念;其三,它开创的"用小实验拟合定律、外推大模型"的方法论,被后续大量工作沿用(缩放律如今是训练任何前沿模型的必备工具)。
① 一句话:Transformer 语言模型的损失,对参数量 N、数据量 D、算力 C 各是一条平滑幂律,跨多个数量级不弯、可外推。
② 痛点:以前"大就是好"只是直觉,说不清好多少、到哪饱和、钱该投模型还是数据——每次都靠烧钱试错。
③ 幂律:L(N)∝N^−0.076、L(D)∝D^−0.095、L(C)∝C^−0.050——双对数坐标里都是直线,小指数意味着回报稳但要成倍投入。
④ 规模压倒结构:同参数量下,网络深宽比等形状几乎不影响损失,决定成绩的是总参数量。
⑤ 大模型更省样本;给定算力最优是"训练很大的模型、数据上不到收敛就提前停"(本文:约 N∝C^0.73、D∝C^0.27,偏重模型)。
⑥ 验证:几百个点连成的直线跨六七个数量级高度吻合;小规模拟合能外推大模型——GPT-3 的直接依据。
⑦ 影响:把大模型从炼丹变工程,塑造"scale is all you need"时代,缩放律成为训练前沿模型的标配工具。
⑧ 局限:Chinchilla 修正了配比(模型/数据应等比例、约 20 token/参数),当年许多模型被训练不足;损失≠下游能力;外推不可无限;只知其然不知其所以然。