Paper

Dust 论文速读:不用反向传播,也能预训练 Transformer 了

5 min read ·

反向传播统治深度学习四十年,「不用它能不能训练网络」这个问题每隔几年就会被翻出来一次,而答案几乎总是:小玩具可以,真预训练不行。10 月 6 日,qlabs.sh 团队发布的 Dust 把这个「不行」往前推了一大步——论文登上 HN 首页并收获两百多个赞,因为它首次在 Transformer 语言模型预训练这个公认的硬任务上,让零阶优化追平了反向传播,部分设置下甚至反超。

核心思路:把每个 token 变成一个「实验员」

零阶优化不依赖链式法则,它的老问题是样本效率:权重空间进化策略每次前向传播只能评估一组权重扰动,相当于种群里的一个成员。Dust 的关键洞察是换一个扰动空间——不在权重上加噪声,而是在每个线性层的激活输出上加噪声,并且逐 token 独立进行。

这一换带来的杠杆是惊人的。一条训练序列有几千个 token,每个 token 的损失变化都提供一份独立的梯度估计信号。换句话说,一次前向传播就并行评估了几千个「虚拟种群成员」,而权重空间方法同样一次只能评估一个。论文给出的数字:单次前向传播覆盖的种群规模比权重空间 ES 至少大三个数量级。

估计的构造也相当优雅。对线性层的输出施加扰动后,以带衰减的后续 token 损失变化作为奖励,奖励加权噪声的均值即为该层输出的误差估计,与层输入做外积就是权重更新方向。注意力内部的参数不直接吃 token 损失奖励,而是按误差估计与注意力输出变化的对齐度打分;embedding 层走 one-hot 散射累加;唯一保留权重空间扰动的,是每层两个残差混合标量。公式细节都在论文附录里,工程上更值得记住的是三重干扰抑制设计:不同层类型在独立前向传播中分别抖动、缓存干净前向传播以降低重算成本、语言模型头直接在缓存 logits 上抖动——最后这一点让输出头可以跑大得多的种群。

战绩:追平、反超、以及数量级差距

论文的实验设置很朴素:GPT 风格架构、FineWeb 数据、8 层 512 宽约 3800 万参数的基线模型,token 预算从 10 万横跨到 2000 万,种群从 64 draws 到 1.6 万 draws——draws 在这里的含义是一次覆盖全部 token 的完整抖动,与权重空间方法里「一次前向传播等于一次权重采样」的批量口径不同,横向比较时必须换算。所有配置跑 3 个种子取平均,Adam 对比实验用了 5 个种子,实验纪律相当扎实。三组结果值得关注。

对反向传播:小预算下 Dust 更省——10 万和 100 万 token 时,几百到一千次 draws 就把损失压到反向传播之下;2000 万 token 时双方进入幂律拟合区,Dust 的拟合极限 4.431 低于反向传播的 4.633。作者对此保持克制,说这更像是「差距持续缩小」的证据,而非已测得的极限。

对 EGGROLL:差距是数量级的。EGGROLL 需要 256 倍种群才够到 Dust 最小种群的水平,外推显示匹配 Dust 最小种群需要数千到一万倍种群。从 100 万 token 起,Dust 的种群效率比权重空间方法高三到四个数量级。

与现代优化器兼容:换用 Adam 后,Dust 和反向传播同时受益,Dust 拟合极限依然更低。一个为反向传播梯度设计的优化器,吃零阶估计也能正常工作,这本身是个重要的兼容性信号。

最反直觉的发现:大模型更「耐搜」

固定 1000 万 token 预算,团队对比了从 200 万到 2.43 亿参数的四档模型。传统直觉是零阶方法在高维搜索空间里必然失效,维度灾难会让大模型先崩。结果恰好相反:3800 万参数模型在几乎所有种群规模下损失最低,2.43 亿模型也优于 200 万的小模型;超过一千 draws 后,大模型相对小模型多获得约三成收益。

作者给出的重新诠释是:模型规模不应只看作「要搜的空间变大」,它同时意味着搜索空间的几何结构更好——更大的空间能利用更大的种群,损失景观可能更平滑。配合梯度对齐分析(Dust 估计与反向传播梯度的余弦相似度随种群增大遵循两参数定律,且在 1000 万到 10 亿 token 的跨度上保持平稳),这组证据指向一个耐人寻味的结论:零阶方法的可用边界可能随规模扩大而外移,而非内收。

冷静看待:它现在替代不了反向传播

必须泼一盆冷水:Dust 距离反向传播的计算效率仍差若干个数量级,追平损失曲线靠的是堆前向传播,单位计算的成本远高于链式法则。它今天不能帮你省钱,短期内也不会出现在任何生产训练栈里。论文自己也把超参调优列为主要成本来源——好在两种调优方式(小预算网格搜索、或单批次最大化与真实梯度的余弦相似度)都是一次性开销,结果能跨 token 预算和种群规模泛化,这为后续放大实验省了不少力气。

但它的价值在于打开了两个口子。工程上,任何含不可微组件的架构——循环展开计算、离散采样模块、硬件在环系统——第一次有了「按预训练标准跑通」的参考实现;研究上,「过参数化对零阶方法友好」如果被后续工作在大规模上复现,会改写大家对搜索式优化的想象力边界。代码已在论文页面放出,感兴趣可以直接复现那条 3800 万参数的损失阶梯。

反向传播不会因此让位,但 Dust 至少证明了一件事:这座统治了四十年的山,不是唯一一座能登顶的山。

Frequently asked questions

Dust 完全不用反向传播吗?那梯度从哪来?
它不用链式法则。每个线性层的前向输出上叠加高斯噪声,用 token 级损失的变化量当奖励,奖励加权后的噪声均值就是对该层输出的误差估计,再与层输入做外积得到权重更新方向。研究还发现这种估计与反向传播梯度的余弦相似度会随种群增大而涌现,大种群下能逼近真实梯度方向。
既然能追平反向传播,为什么还没有人用它训练大模型?
因为计算效率仍差几个数量级。Dust 逼近反向传播需要非常大的种群,也就是海量前向传播,论文明确说它尚未达到实际替代水平。它的价值在于证明了可行性边界并给出扩展规律,真正落地还要等估计效率或硬件并行度的大幅改进。
论文里模型越大效果越好这个结论有多可靠?
它来自固定 1000 万 token 预算下的受控对比:200 万、730 万、3800 万与 2.43 亿参数四档,每档多种群规模、多种子重复。规律是 3800 万参数模型在几乎所有种群下损失最低,超过一千 draws 后大模型比小模型多拿约三成收益。但只有单一数据集和 GPT 结构,外推到更大规模仍需验证。
这项研究对普通开发者有什么现实意义?
短期内的实用场景是非可微架构训练:含循环展开、离散采样或硬件在环的模块没法正常反向传播,零阶方法天然绕开这个限制。另外节点扰动的思路可以借来做黑盒微调,比如只有推理接口没有模型权重时,对输入侧参数做进化搜索。
EGGROLL 是什么,为什么拿来当基线?
EGGROLL 是此前权重空间进化策略的代表工作,直接在权重矩阵上加水印式随机扰动,用前向传播评估整个权重向量。它是「不用反向传播训练网络」这条线上最强的已有方案,Dust 与它对比才能说明激活空间扰动相对权重空间扰动的数量级优势:同样的前向预算下 Dust 损失低 0.4 到 0.6。
// next.txt ›

Some outbound links in this post are affiliate links — see disclosure.