研究通过对照实验发现,2019至2025年AI预训练能力提升中,数据改进贡献的算力效率增益(12.0倍)是模型改进(3.7倍)的3倍以上;数据工程(如语料策展、过滤技术)成为被低估的关键驱动力,且其收益与模型改进基本独立;但大模型对数据质量依赖降低,引发对‘数据墙’及合成数据潜力的关切。
作者:Dwarkesh Patel
编译:深潮 TechFlow
深潮导读:过去六年 AI 模型能力突飞猛进,但进步到底来自算法还是数据?这篇文章用一组小规模对照实验给出一个反直觉结论:数据改进带来的算力效率提升是模型改进的 3 倍多。对关注 AI 基础设施投资和前沿实验室竞争的人来说,它揭示了一个被低估的驱动力:数据工程。
过去几年,我们在 AI 领域看到的快速进步,有多少来自数据改进,有多少来自模型改进?这个问题的答案,对前沿实验室的经济模型和未来进步速度都有重大影响。
我们对这个问题进行了相对小规模的调查,专门针对 2019 年到 2025 年的预训练。在这几年中,每年都会有一套新的开源模型方案发表,它总结了当年公开已知的算法调整(例如架构、优化器、初始化、学习率调度、超参数等方面的改进)。与此同时,每年也会出现新的公开数据语料库(由更大规模的抓取以及新的策展、提取、过滤技术产生)。
我们训练了这些代表不同年份水平的模型方案与数据语料库的各种组合,并在不同的训练算力规模下进行(最高到 1e19 FLOPs)。
显然,我们无法通过它们对某个固定数据集的交叉熵损失来比较这些不同模型,因为我们在改变它们所训练的数据集。因此,我们改为根据最终能力来评估这些模型,衡量标准是 OLMES 评估(它汇总了 10 个相对简单的基准,大部分是多项选择问答)。遗憾的是,评估最终能力而不是预训练损失,会给我们的结果增加一些噪音,你会在下面的图中看到这一点,不过我们尝试通过多次随机种子来获得更干净的界限。
我们发现,从 2019 年到 2025 年,在 1e19 FLOPs 的算力预算下,3.24 倍以上的算力效率提升来自数据改进,而不是模型改进(数据为 12.0 倍,模型为 3.7 倍)。

下面这张网格展示了在 3.16e18 FLOPs 算力下,我们训练的模型在最终测试能力上,相对于 2019 年数据加架构基线的提升程度。

我们发现,数据改进和模型改进带来的收益大多是相互独立的,彼此之间没有交互作用(也就是说,实现某项模型改进的收益,不需要依赖某个特定的训练数据堆,反之亦然)。使用线性模型,OLMES 分数中 88% 的方差可以由模型改进和数据改进的加性效应来解释。
作为背景,让我们简要总结一下 2019 年到 2025 年,数据侧和模型侧分别发生了什么变化。
在模型侧,我们从 GPT-2 走到了 OLMo-2,包括优化器、位置编码、归一化、激活函数、初始化等方面的关键创新。
在数据侧,我们 2019 年从 OpenWebText 开始,它只包含 Reddit 上被充分点赞的链接网页,经过去重和过滤后,最终只有大约 90 亿 token(这基本上就是 GPT-2 的训练数据)。到 2025 年,UltraFineWeb 这类开源数据语料库不仅规模大得多(通过对整个互联网的抓取),还使用了复杂得多的过滤方法(例如训练一个分类器,用来预测哪些数据能实际提升模型性能)。
对我们结果的一种朴素解读是:2019 到 2024 年(预训练时代)AI 的大部分进步,其实只是更好的数据工程(提取、策展等),而那一时期所有的模型工作远没有那么重要。
但这可能是看待模型改进价值的错误方式。模型改进的主要贡献未必是算力效率,也就是用更少的 FLOPs 达到相同性能。相反,它首先让更大规模的算力变得可用。随着参数量、上下文长度、运行时长和集群规模扩大,各种问题都容易出故障(梯度爆炸或消失、内存和带宽耗尽、训练变得不可能地慢)。模型研究的很大一部分内容,就是移除或推后这些对扩展的限制。许多最重要的创新都属于这一类,例如 MoE、稀疏注意力变体、稳定性创新(归一化位置、初始化等)以及像 FlashAttention 这样的系统与内核级优化。
我们在这里研究的数据改进,对更大的模型来说可能不那么重要。小模型(就像我们训练的这类)从数据质量提升中获益显著,因为它们容量有限,所以你必须非常小心地决定往里面塞什么。而大模型有大量过剩容量,也许你只想尽可能多地往里扔数据,即使大部分是垃圾,随机梯度下降的魔力也会把信号从噪音中分离出来。如果你选择激进过滤,就不得不做几十轮 epoch,而实证结果往往比使用平均质量较低但规模更大的数据集更差。事实上,如果再考虑到前沿模型相对于 Chinchilla 最优标准最多过度训练 100 倍,以尽量减少用于强化学习和部署的推理算力,那么激进的数据策展危害就更大了。
一个类比可能是帆船和集装箱船的区别:集装箱船未必走得更快,但它能运载数千吨货物(相当于数百个万亿 token 的预训练数据),而且不会在波涛汹涌的海面上被掀翻(相当于在数十万个 GPU 上稳定训练)。
现在我们有了容量更大、更坚固的集装箱船,就不必纠结于装载什么货物了,我们可以把所有哪怕只是勉强有点用的东西都装上去。而对于 2019 年那些又小又脆弱的帆船来说,你必须极其小心,只能携带最值钱的货物。
但如果预训练进步的本质,只是往这艘船里装更多货物,那我们是不是快没有货物了?这是关于数据墙的问题,也是关于合成数据在多大程度上帮助我们越过这堵墙的问题。合成数据显然已经在各实验室被广泛使用,而我们完全还没有研究它是否能在不损害模型性能的前提下有效扩展数据语料库。如果这类收益有限,那么预训练进步的主要驱动力将会停滞,因为我们不会生成更多的互联网内容,而一个固定数据集能被策展的程度也是有限的。需要说明的是,我们目前没有任何积极理由认为真会如此。但考虑到数据对推动预训练进步似乎如此重要,这似乎是一个关键问题,值得进一步研究。
Ryan Greenblatt 指出,许多历史性的预训练数据语料库改进,看起来像是自动化研究人员可以直接通过实证测试来推动的那类进展,例如运行基于不同数据训练的消融实验,看看模型表现如何。因此,它与我们的结果完全一致:如果 AI 研发实现自动化,那些自 2019 年以来推动预训练进步的数据进展可能会大幅加速。
我们想澄清一点:孤立地看预训练进步会加速还是放缓,并不是整体 AI 进步最重要的问题,因为过去两年的许多收益来自强化学习。
以下是一些我们认为会很酷、也很重要的未来研究方向和问题:
我们想研究数据在推动 AI 进步中扮演了什么角色。还有很多其他方法可以探究这个问题,其中一些可能比我们的方法更巧妙、更有信息量。而且我们的实验规模非常小。我们确实认为可能遗漏了一些东西,很想知道其他人会如何研究这个问题,最好也能看到他们的结果!
特别感谢 Charlie O'Neill 的许多有益讨论。


我们在不同数据语料上从零开始预训练这些模型配方,使用不同算力预算,并设置多个独立种子6。我们的算力预算为:1e17、3.16e17、1e18、3.16e18 和 1e19 FLOP。算力计算惯例是使用名义算力 C = 6ND(N 为非嵌入参数量,D 为数据 token 数)。
在每个算力预算下,我们调整参数量,从而调整训练的 token 数,以确定每种训练配方与语料组合的算力最优配比。我们使用语料上的留出损失来确定这个算力最优点。然后我们可以得到每种组合下游性能的算力扩展曲线,从中最终提取算力乘数。
我们在所有运行中强制使用共享分词器和上下文长度:GPT-2 BPE(tiktoken,50257 词表)和 T=2048,batch = 262144 token。
我们训练运行的最终能力高度依赖超参数。显然,不可能遍历所有可能的超参数组合,超参数调优确实是一门精细艺术!我们尽量对此进行控制,并将峰值学习率视为最主要的关键超参数。
一些算法版本确实提供了峰值学习率应调至何值的规范,作为其他相关变量(如模型大小、数据预算、批大小等)的函数。这些为我们判断最优学习率提供了良好的先验。
我们首先在 5 个锚点上扫描学习率:3 种不同模型大小和 2 种不同 D/N 比率。我们确定这些锚点的最优学习率,并拟合最优学习率参数形式。
对于除 OLMo-2 之外的所有模型配方,我们拟合一个共同的指数 a 和 b,以及一个模型特定的 lr₀。对于 OLMo-2,我们使用该模型配方所规定的最优学习率。我们这样处理 OLMo-2 的原因是 Ai2 发布了小模型阶梯作为配方的一部分,其中规定了我们所研究规模下的最优超参数。我们还在 3.16e18 FLOP 的算力最优点验证了我们的生产学习率处于或接近最优。


我们观察到,在模型和数据两个维度上,算力效率随时间普遍提升,这符合预期。我们观察到的一些异常值:
同样重要的是要注意,我们的消融实验有许多原因无法完全捕捉算力效率提升的全部范围。事实上,从 2019 年到 2025 年,我们观察到模型侧的年同比算力效率提升为 1.24 倍 [1.19, 1.29],数据侧为 1.51 倍 [1.45, 1.57]。联合测量时,我们观察到年同比算力效率提升为 1.57 倍 [1.49, 1.65]7。这确实远低于 Anson Ho 等人年同比 3 倍的平均估计,原因如下:
我们还想指出,我们没有研究其他数据侧的改进,例如从新来源收集更多高质量数据、人类专家生成的数据、合成数据生成方法等。我们研究的大多数语料都是同一 Common Crawl 的策展(子集),而不是扩展可用数据集合。这显然是在消耗有限存量,这个杠杆能推进的程度是有限的。
我们做了以下调查,以确定模型配方和数据集的收益之间有多独立。我们查看了在 3.16e18 FLOPs 下的 OLMES 得分网格。对 OLMES 得分进行线性回归,模型为 OLMES 得分 = 均值 + 模型效应 + 数据效应,得到 R 平方为 0.88。这意味着 OLMES 得分中 88% 的方差可以由模型和数据改进的加性效应解释,只有约 12% 的方差来自交互项或更高阶项,以及评估噪声。这提示复杂的模型与数据交互(即利用某种模型改进依赖于某种特定数据工程,或反之)相对较小。

Anson Ho 等人估算软件效率改进(在预训练中)为每年 3 倍(95% 置信区间:1.5 倍到 64 倍)。正如 Ho 在这篇博客中提到的,“大多数软件进步实际上可能来自数据质量改进”,以及“来自少数几个与规模相关的算法变化的扩展”。
我们使用 C = 6ND 这一名义约定来计算算力。
2019 年的模型配方是 GPT-2,2025 年的模型配方是 OLMo-2。2019 年的数据集是 OpenWebText,2025 年的数据集是 UltraFineWeb。
我们实现的 GPT3 在 Pile 上遇到了一些训练不稳定问题(梯度尖峰)。
这些包括:优化器改进、预热加衰减调度、用 RoPE 替代学习绝对位置、RMSNorm 加 SwiGLU 门控 MLP、Norm 重排、QK-norm、Z-loss 正则化以及更干净的初始化。
对于算力扩展图,我们每个使用至少 3 个种子。对于在 3.16e18 预算下的模型配方和数据集组合的 7x7 网格,我们每个只使用了 1 个种子。
1.57 倍的同比乘数是使用从 2019 年模型和语料到 2025 年模型和语料的联合改进来计算的,而不是模型侧 1.24 倍改进与数据侧 1.51 倍改进的乘积。