RNN 沿时间轴也能并行:Newton 迭代换来 500 倍评估提速

2026-10-01

把非线性递推改写成二次收敛的不动点迭代,线性部分用并行扫描求解;GRU 评估快 500 倍、训练快 10-22 倍,输出精度不变。

这篇在解决什么

RNN 与 Neural ODE 沿时间轴天然串行,第 t 步依赖第 t−1 步,GPU 的大规模并行算力用不上。Transformer 在语言建模上挤掉 RNN,训练可并行是重要原因之一;S4、LRU 这类线性递归靠 prefix scan 实现了沿时间并行,但非线性递归单元(LSTM、GRU)还是只能一步一步算。长序列任务上,串行评估成了整个训练流程的瓶颈,也把一批经典架构挡在现代实验之外。

方法

DEER(non-linear Differential Equation as fixed point itERation)把递推方程改写成不动点迭代,让每一步迭代内部全是可并行算子。

对 GRU 这类离散递归和 ODE 统一适用,不需要模型有任何特殊结构。唯一的额外超参数是收敛容差(float32 下 1e-4 足够)。

结果

V100 上用 GRU 测(序列长 100 万、隐维 1、batch 16):串行评估 8.7 秒,DEER 15 毫秒,快 500 倍以上;前向加梯度一起算超过 1000 倍;batch 降到 2 时超过 2600 倍。输出与串行结果在 float32 精度内一致。

任务结果
两体引力 HNN 训练(1 万时间点)比 RK45 快 11 倍,55k 步 1 天 6 小时 vs 约 2 周
EigenWorms(17984 步)GRU训练快 22 倍(超 1 天 → 1 小时),准确率 88.0%
EigenWorms LEM 复现92.3%,与原文持平,单 epoch 18 秒 vs 116 秒
顺序 CIFAR-10 multi-head GRU90.25%,为非线性递归单元最好成绩

隐维一大加速比就掉:n=64 时只剩约 25%,因为显式 Jacobian 与矩阵乘带来 O(n³) 开销。multi-head 方案(256 通道拆成 32 个 8 通道头、各配指数递增的 stride)把这堵墙绕开,代价是有效序列变短、加速回落到约 3 倍。

为什么重要

它打破了「非线性递归不能沿时间并行」的默认假设,且对架构零侵入。长序列训练快 10-22 倍直接换来实验吞吐:EigenWorms 上 GRU 88% 的成绩就是快速调参试出来的,经典递归单元在沉寂多年的基准上重新有了竞争力。对 Neural ODE 场景(物理系统辨识、科学计算)同样适用。

局限与存疑

Newton 法的毛病都还在:初值离解太远可能不收敛,全局收敛版本被留作未来工作。O(n²) 显存与 O(n³) 计算卡死隐维规模,论文自己承认这限制了可适用的模型大小。实现依赖 associative scan,成文时 PyTorch 缺少顺手的等价物,全部实验在 JAX 生态完成,复现有门槛。审稿人质疑任务覆盖窄(起初只有两个任务),CIFAR-10 实验是 rebuttal 期补的。加速数字全部来自小隐维设置,对大模型的意义文中未讨论。

术语

原文与代码

社区讨论

全部论文解读