一句话定义:无反向传播预训练(Backprop-Free Pretraining)指不依赖反向传播(backpropagation)算出的全局梯度,改用局部信号、前向信号或零阶近似,从零开始训练神经网络——典型对象是 Transformer。
为什么想甩掉反向传播
标准流程是:前向算出损失,反向逐层把梯度传回去更新参数。反向传播必须把每一层的中间激活值(activation)留在显存里等回程使用;层越深、批次越大,这笔"激活账本"越厚。而且前向可以并行,反向只能逐层串行。
打个比方:反向传播像公司季度亏损后,从 CEO 层层追责到每个员工,要求每个人 KPI 都挂到最终财报上——链条长、回流慢,还得把每个人的工作记录都存着备查。无反向传播预训练则像改成各小组自己定小目标,看眼前的信号就调整,不必等总部回头算总账。
三条常见路线
| 路线 | 用什么替代梯度 | 省掉什么 | 主要代价 |
|---|---|---|---|
| 局部学习(local learning) | 每层自己的小目标、"好坏度"(goodness) | 全局反向图与激活缓存 | 层间目标不一致,表示未必最优 |
| 前向式信号(forward signal) | 前向模式自动微分给出的方向导数、随机方向投影 | 整个反向遍历 | 估计方差大,要多跑前向 |
| 零阶近似(zeroth-order) | 只看损失数值变化,用有限差分估方向 | 完全不需要梯度图 | 维度越高越不准,收敛慢 |
Hinton 提出的前向-前向算法(Forward-Forward)属第一类:正负样本各做一次前向,每层只负责抬高正样本的"好感度"、压低负样本的。零阶近似则在参数上加随机扰动、比较两次损失值估出方向,通常只要两次前向、不存激活。近期像 Dust 这类工作,正是在探索用这类信号从零预训练 Transformer;具体设定、规模与结论以官方论文页面为准。
别和这几件事搞混
- AI 词典:梯度检查点">梯度检查点、混合精度:仍在用反向传播,只是把显存省着花。
- 零阶微调(如 MeZO 一类):在已预训练模型上做参数高效微调;无反向传播预训练是从随机初始化开始训。
- 进化策略等无梯度优化:零阶近似基本属于这一族,区别是它强调在高维参数空间做随机方向估计。
实际意义
对从业者:主流预训练目前仍默认反向传播,这类方法的价值集中在显存受限、或必须嵌入不可微模块的场景。看这类工作时重点问三件事:替代信号是什么、省下的是显存还是时间、规模能推到多大——它眼下更像有潜力的支线,而非替代品。对普通人:它指向"训练大模型未必永远绑定单一算法与硬件",短期不影响你用的产品,长期可能影响训练的成本结构。
