零阶优化能否重塑Transformer预训练范式

作者:Nicky2026.11.04 07:12浏览量:0

简介:本文围绕“不用反向传播训练Transformer”这一主题,系统解释零阶优化方法的基本定义、工作原理、与反向传播的核心差异,以及其在当前技术条件下的适用边界。通过拆解“虚拟种群”“激活噪声”“梯度估计”等关键概念,帮助读者理解这类方法为何值得关注、能解决什么问题、距离实际替代反向传播还有多远。

一、概念定义:什么是零阶优化

零阶优化,英文通常称为 zeroth-order optimization,是一类不依赖梯度计算的优化方法。它与常见的梯度下降法最大的不同在于:梯度下降需要计算目标函数对参数的导数,也就是一阶信息;而零阶优化只利用目标函数本身的值,也就是第零阶信息。

在深度学习语境下,反向传播是计算梯度的主流手段。它通过链式法则,将损失函数对输出的误差逐层回传,计算出每一层参数的梯度,再交给优化器更新权重。零阶优化不建立这条梯度回传链路,而是通过“试探—评估—更新”的方式工作:对当前参数施加若干随机扰动,观察损失函数是变大还是变小,再据此决定参数更新的方向。

换句话说,如果把训练神经网络比作在一片未知地形中寻找最低点,反向传播相当于每次都拿到了明确的坡度方向;零阶优化则更像在当前位置随机走几步,看看哪个方向更低,就往哪个方向挪一点。前者效率高但要求地形处处可测,后者笨拙但几乎不挑地形。

二、背景与价值:反向传播为什么“太成功”,又为什么“太受限”

过去十余年,反向传播一直是训练深度神经网络的事实标准。今天大多数主流架构、优化器设计、硬件加速方案,乃至分布式训练框架,都是围绕反向传播的梯度流构建的。GPU 上的高效矩阵运算、自动微分框架、混合精度训练、梯度累积、梯度裁剪、检查点技术,几乎都是为了让反向传播跑得更快、更稳、更省显存。

但反向传播存在一个常被忽略的强约束:它要求整个网络处处可微。任何一个不可微的模块,都会切断梯度传播路径,使得该模块之前的参数无法更新。

这个约束带来的影响比表面看起来更深远。离散计算不可微,例如采样、排序、选择、整数运算;外部程序不可微,例如调用传统规则引擎、数据库查询、物理仿真器;某些稀疏操作、硬注意力机制、量化与剪枝中的离散决策,也都难以直接嵌入反向传播链路。为了让这些模块参与训练,常见的做法是引入近似、松弛或替代梯度,但这些做法要么改变问题语义,要么引入额外偏差。

零阶优化的价值正在于此:它把“可微性”这一前提条件从训练回路中移除。只要能够计算损失函数值,无论网络内部是连续的还是离散的,是神经网络层还是外部程序,理论上都可以纳入训练。这为构建更灵活、更异构的模型结构打开了想象空间。

三、核心思路:一种名为“Dust”的零阶预训练方法

一家小型研究实验室近期提出了一种名为 Dust 的零阶优化方法,并公开了论文。其研究目标非常明确:在不使用反向传播的前提下,预训练 Transformer 模型。

Dust 的核心设计可以拆解为三个关键点。

1. 不扰动权重,而是扰动激活值

传统零阶方法通常对网络权重施加随机扰动,这在参数规模巨大时开销极高。Dust 选择了一条不同路径:不对权重加噪声,而是对每一层输出的激活值加高斯噪声。

这个选择的巧妙之处在于,激活值的维度远小于权重矩阵的维度。以一个常见的 Transformer 层为例,权重矩阵动辄拥有数百万甚至上千万参数,而单层激活向量通常只有数千维。扰动激活值将搜索空间从参数空间转移到了表示空间,大幅降低了单次扰动的成本。

2. 每个 token 独立加噪,构成“虚拟种群”

Dust 在序列中的每一个 token 上独立地添加噪声。一个包含数千个 token 的训练批次,在一次前向传播中就会产生数千个不同的扰动结果。

这相当于每个 token 都是一个独立的“虚拟实验个体”。同一批数据、同一组模型权重,仅仅因为每个 token 上叠加的噪声不同,就会得到数千个略有差异的损失信号。作者将这种机制称为“虚拟种群”。

这背后的思想与进化策略有相似之处,但实现方式截然不同。进化策略通常需要维护一组参数副本,每个副本独立加噪并评估,计算开销随种群规模线性增长。而虚拟种群只维护一份模型权重,通过在同一序列的不同位置注入不同噪声,在一次前向传播中同时获得大量评估结果,相当于把“种群评估”并行化了。

3. 用损失变化加权噪声,构造梯度估计

有了每个 token 的噪声和对应的损失值之后,下一步是构造一个更新方向。

基本逻辑是:如果某个 token 上叠加的噪声使得损失下降了,说明这个噪声方向是有益的;如果使得损失上升了,说明这个方向是有害的。Dust 根据每个噪声带来的损失改善程度为其赋予权重,然后对所有噪声做加权平均,得到一个“伪梯度”方向。这个方向虽然不是解析梯度,但在统计意义上捕捉了“往哪里走损失会下降”的关键信息。

具体来说,如果某个 noise vector 对应的损失下降越多,它在加权平均中的权重就越大;反之,如果损失上升,则该 noise 的贡献为负。加权后的噪声向量就构成了参数更新方向的估计。这个估计随着扰动数量增加而逐渐逼近真实梯度的方向。

四、工作原理:从“试探”到“更新”的完整流程

下面用一个简化的伪代码来说明零阶优化的基本流程,这里不涉及任何第三方专有工具,只描述通用思路:

  1. for batch in dataloader:
  2. # 前向传播,对每层激活值加噪声
  3. noisy_outputs = model.forward_with_activation_noise(batch)
  4. # 计算每个 token 对应的损失
  5. token_losses = compute_token_losses(noisy_outputs, batch.labels)
  6. # 根据损失变化为噪声赋权
  7. weights = assign_weights(noise_vectors, token_losses)
  8. # 加权平均得到伪梯度
  9. pseudo_gradient = weighted_average(noise_vectors, weights)
  10. # 用伪梯度更新参数
  11. model.parameters -= learning_rate * pseudo_gradient

这个流程有几个值得注意的特点。

第一,不需要反向传播。整个过程中没有梯度回传,只有前向计算和基于损失值的加权操作。因此,网络中任何不可微的部分都不会成为障碍。

第二,噪声评估高度并行。同一批次中数千个 token 同时充当实验个体,一次前向传播即可收集大量“试探”结果。这与传统零阶方法每个扰动都要单独前向一次的方案形成鲜明对比。

第三,伪梯度的质量取决于种群规模。虚拟种群越大,加权平均后的方向就越接近真实梯度的方向。论文明确指出,当种群规模足够大时,Dust 的更新方向可以很好地近似反向传播算出的梯度,并且在某些实验设置下甚至超过后者。

五、与反向传播的关键区别

理解零阶优化,需要将其与反向传播放在同一个坐标系中比较。两者之间的差异不仅体现在“要不要梯度”上,也不只涉及计算方式,还牵涉到优化路径、硬件依赖和适用边界等更深的层面。

1. 信息利用方式不同

反向传播利用的是解析梯度,每一步都获得精确的局部最陡下降方向。零阶优化利用的是损失函数值的相对变化,本质上是在做随机搜索,得到的是一个统计意义上的方向估计。

这个区别决定了它们的收敛行为。反向传播在每一步都有明确指引,因此在训练初期通常收敛更快;零阶优化的更新方向带有噪声,需要更多步数或更大种群来弥补方向估计的不确定性。

2. 可微性要求不同

反向传播要求前向计算链路中每一个环节都可微。零阶优化只需要能算出损失值。这个差异直接影响模型设计的自由度。

在反向传播框架下,要在模型中引入离散决策、排序操作、外部规则引擎或不可微的物理模拟器,几乎都需要专门的近似技术。而在零阶优化框架下,这些模块可以直接进入前向计算,训练回路完全不受影响。

3. 硬件友好度不同

反向传播高度依赖 GPU 上的高效矩阵乘法和自动微分框架。零阶优化的前向部分同样适合并行加速,但它消除了梯度回传对显存的巨大占用,也降低了对自动微分框架的依赖。

这一点在大模型场景下尤为值得关注。反向传播需要在前向计算之外额外保存大量中间激活值用于梯度回传,这是显存压力的主要来源之一。零阶优化不需要保存这些中间结果用于回传,理论上有助于缓解显存瓶颈。不过,它引入的大量噪声评估又带来了额外的计算开销,因此整体效率并不能简单判断优劣。

4. 计算成本结构不同

反向传播的计算成本主要由前向计算和反向计算两部分构成。零阶优化的计算成本主要体现在扩大的前向计算上——因为有大量虚拟个体同时参与评估。Dust 论文作者也坦承,目前 Dust 的计算成本远高于反向传播,需要再降低几个数量级才具备实际替代的资格。

六、典型场景与适用边界

零阶优化的“不依赖梯度”特性,使其在某些场景中具有天然优势。但它目前远未到可以普遍替代反向传播的程度。

更适合的场景

模型结构探索:当研究者希望尝试包含不可微模块的新型架构时,零阶优化可以让这些想法快速落地验证,而不必先解决可微性问题。

多模态与外部工具集成:如果模型需要调用外部知识库、搜索引擎、代码执行器或业务规则引擎,而这些外部组件不可微或难以嵌入自动微分框架,零阶优化提供了一种可行的训练思路。

黑盒优化场景:当只能访问模型的输入和输出、无法获取内部梯度链路时,零阶优化几乎是唯一的选择。例如迁移到某些推理框架或部署环境后,模型内部结构被封装为不可见的黑盒。

研究与验证:零阶优化的核心价值之一是证明“不用反向传播也能训练 Transformer”这一命题的可行性。它拓展了我们对训练范式边界的认识。

暂时不适合的场景

大规模预训练:论文中的实验规模最大为 243M 参数、20M token 训练预算,与工业界动辄千亿 token 的预训练规模差距悬殊。在零阶优化成本下降几个数量级之前,它无法在大规模预训练中与反向传播竞争。

对计算资源敏感的生产环境:如果算力预算有限,又需要快速收敛,反向传播依然是更务实的选择。

对收敛精度要求较高的任务:有第三方复现指出,在与反向传播使用一轮相同数据训练时,零阶方法的结果可以复现但与反向传播差距不大;一旦给反向传播足够的训练轮数或更合适的优化器,反向传播便明显领先,且计算成本低得多。这说明零阶方法在收敛效率和精度上还有明显差距。

七、使用与研究中的注意事项

对于关注或尝试零阶优化方法的技术团队,以下几点值得注意。

第一,种群规模与计算预算的平衡。 零阶优化中伪梯度的质量直接取决于参与评估的扰动数量。种群太小,方向估计噪声大,训练不稳定;种群太大,计算成本急剧上升。实际使用中需要根据任务规模和算力条件找到一个合理的折中。

第二,噪声设计是方法的核心。 加噪声的方式直接影响优化效果。Dust 采用对激活值逐 token 加高斯噪声的方式。这并非唯一选择,扰动权重、扰动激活、扰动输入或混合扰动都值得探索。噪声分布的方差也直接影响探索范围与收敛稳定性之间的关系。

第三,评估指标不应只看最终损失。 零阶优化的意义不仅在于最终能达到多低的损失,还在于它能否解锁反向传播无法支持的模型设计和外部模块集成。衡量这类方法的价值时,需要同时关注可微性限制被解除后带来的新的可能性。

第四,谨慎看待“替代反向传播”的叙事。 从当前公开的研究结果来看,零阶优化距离替代反向传播还有相当距离。将其定位为“一种补充性的训练范式”或“特定场景下的替代方案”,比将其包装为“下一代训练范式”更加客观。

第五,继续关注计算效率的改进空间。 零阶优化在高维问题上面临“维度灾难”式的统计效率挑战。真正让它走向实用,需要从噪声结构设计、分层扰动策略、与其他优化方法的混合使用等角度持续降低成本。

八、总结

零阶优化是一类不依赖梯度信息、只使用损失函数值来指导参数更新的优化方法。它用“随机试探—评估—加权更新”替代了“反向传播—梯度下降”的训练回路,从而彻底解除了可微性约束对模型设计的限制。

Dust 方法展示了零阶优化在 Transformer 预训练任务上的可行性:通过扰动激活值并利用虚拟种群在单次前向中并行评估大量扰动,它能够构造出与真实梯度方向相近的更新信号。这一成果的意义在于证明零阶方法的潜力边界比此前认为的更宽。

但同时也必须清醒地看到,零阶优化目前仍存在显著的计算效率瓶颈。它在统计效率与计算效率之间存在着深刻的权衡。虚拟种群越大,方向越准,成本也越高。在当前算力条件下,反向传播依然是大规模预训练不可动摇的首选方法。

零阶优化的真正价值不在于今天取代反向传播,而在于它提供了一条不同的技术路径。当模型结构越来越复杂、多模态与外部工具集成越来越深入、可微性约束越来越成为创新瓶颈时,这条路径可能成为打破约束的关键。对于技术团队而言,理解零阶优化的原理与边界,既是拓宽技术视野的需要,也是在未来技术演进中保持判断力的基础。