多车道并行推理:LaneRoPE 如何让 AI 的多条思路互相"偷看"
一个尴尬的现状
你让 AI 解一道数学题,它给出一个答案。不确定?那就让它同时生成 N 个答案,选最好的。这就是 best-of-N——测试时扩展(test-time scaling)最朴素的方法。
但这里有个微妙的问题:这 N 条推理路径是完全独立的。第一条路径在第 3 步犯了个错,第二条路径在第 5 步走了弯路,第三条路径其实在第 2 步就有了正确洞察——但它们彼此不知道。
想象一个考场里 N 个考生做同一道题,每个人都在自己的草稿纸上独立推导,谁也看不到谁的。如果他们能偶尔偷看一眼旁边同学的中间步骤呢?
这就是 LaneRoPE 要解决的问题。
从一维到二维:位置编码的维度跃迁
要理解 LaneRoPE,先得理解它要改什么。
RoPE(Rotary Position Embedding)是大语言模型位置编码的事实标准。它的核心思想:用旋转矩阵编码 token 的位置,使得两个 token 的注意力权重只取决于它们的相对距离。q_i 和 k_j 的内积,只和 i-j 有关。
这在单序列生成时完美运作。但当你同时生成 N 条序列时,问题来了:第 1 条序列的第 5 个 token 和第 2 条序列的第 5 个 token,在 RoPE 看来位置完全相同——它们都是"位置 5"。模型无法区分"自己序列里的第 5 个 token"和"隔壁序列的第 5 个 token"。
LaneRoPE 的解决方案优雅得令人赞叹:把位置编码从一维扩展到二维。
原来 RoPE 只编码一个维度——token 在序列中的位置。LaneRoPE 加上了第二个维度——token 属于哪条序列(lane)。数学上,这等价于在 RoPE 的旋转矩阵上再乘一个"车道旋转矩阵":
\[f_{q/k}(x_i, i, m) = R_{\Omega, m} \cdot R_{\Theta, i} \cdot (W_{q/k} x_i + b_{q/k})\]
其中 \(R_{\Theta, i}\) 是原始 RoPE 的旋转(编码 token 位置 i),\(R_{\Omega, m}\) 是新增的车道旋转(编码序列编号 m)。
关键性质:由于旋转矩阵的正交性,同一序列内的注意力权重完全不变。\(R_{\Omega,m}\) 同时作用于 query 和 key,内积抵消。这意味着 LaneRoPE 对单序列行为是零侵入的——N=1 时自动退化为标准 RoPE。
跨车道注意力:让推理路径互相可见
有了二维位置编码,下一步是让序列之间可以互相注意。
标准因果注意力只允许 token 看到同一序列中更早的 token。LaneRoPE 引入了跨车道因果注意力:序列 m 的第 i 个 token 可以看到序列 n 的第 j 个 token(j ≤ i),但不能看到未来的 token。
这保证了因果性——没有信息从未来泄漏到过去。但它允许序列 m 在生成第 i 步时,参考序列 n 在第 1 到 i 步已经生成的内容。
效果:如果序列 n 在第 3 步发现了一个有用的中间结果,序列 m 可以在第 4 步直接利用它,而不需要自己重新推导。
GroupThink 是 LaneRoPE 的特例
论文揭示了一个漂亮的数学关系:已有的 GroupThink 方法,其实是 LaneRoPE 的一个特殊初始化。
GroupThink 的做法是把 N 条序列"虚拟拼接"成一条长序列——第 m 条序列的 token i 被赋予虚拟位置 K·m + i(K 是序列间距)。这在 RoPE 空间中等价于设置车道频率 Ω = K·Θ。
但 GroupThink 有个问题:高编号序列的 token 在 RoPE 空间中出现在低编号序列的"未来"位置。当序列 1 的 token 试图注意序列 2 的 token 时,相对位置是负数——这对因果预训练模型来说是分布外的。
LaneRoPE 通过独立的二维频率避免了这个问题。它还支持 NTK-aware 初始化和可学习频率,让模型自己找到最优的跨序列位置编码。
实验结果:协作的力量
在 DeepSeek-R1-Distill-Qwen-7B 上的数学推理任务:
7B 模型 + KTO 训练 + LaneRoPE(NTK)*:
- MATH500:单车道 90.5% → 双车道 91.5% → 四车道 90.7%
- AIME24:单车道 44.4% → 双车道 46.5% → 四车道 46.3%
- 平均分:单车道 63.0 → 双车道 63.9 → 四车道 64.1
对比基线:
- Hogwild!(另一种并行方法):7B 模型上从 52.1% 暴跌到 21.8%,几乎完全失效
- GroupThink 初始化(不加训练):1.5B 模型上从 43.5% 跌到 16.0%,同样崩溃
- Bridge(另一种协作方法):7B 上从 59.3% 提升到 61.9%,但提升幅度不如 LaneRoPE
关键发现:
- 协作需要训练:直接用 GroupThink 初始化不训练,性能反而下降。模型需要学会如何利用跨车道信息。
- 可学习频率很重要:NTK*(可学习车道频率)比固定 NTK 初始化效果更好,说明最优的跨序列位置编码不是人能手调出来的。
- 推理开销可忽略:跨车道注意力的额外计算量不到 5%,因为 batch 推理本身已经把所有序列放在同一个前向传播里了。
为什么这比"多试几次"更好?
Best-of-N 的逻辑是"多试几次,选最好的"。它假设每条路径独立探索,最后靠奖励模型挑出最优解。
LaneRoPE 的逻辑是"多条路径协作探索"。每条路径不是闭门造车,而是可以实时参考其他路径的中间结果。这改变了搜索的结构:
- Best-of-N:N 条独立路径,每条深度 D,总搜索空间 N × D
- LaneRoPE:N 条协作路径,每条深度 D,但每步都可以利用其他路径的发现,有效搜索空间远大于 N × D
打个比方:best-of-N 是 N 个人各自走迷宫,谁先到终点算谁的。LaneRoPE 是 N 个人走迷宫时可以互相喊话——"左边是死路!""右边有捷径!"——每个人都能更快地找到出路。
局限与未来
论文坦诚地指出了几个限制:
- 实验只在数学推理任务上验证,代码生成、多轮对话等场景未知
- 车道数量 N 目前只测试了 2 和 4,更大 N 的扩展性未验证
- 跨车道注意力的最优掩码策略(全因果 vs 部分)还需探索
- 需要额外的训练来让模型学会协作,不是即插即用
但方向是清晰的:并行推理不应该是"各自为战"。当多条推理路径可以互相参考时,1+1 > 2。LaneRoPE 用最小的架构改动(一个额外的旋转矩阵)和可忽略的推理开销,打开了这个可能性。
论文:LaneRoPE: Positional Encoding for Collaborative Parallel Reasoning and Generation (arXiv: 2605.27570)
作者:Gabriele Cesa, Thomas Hehn, Aleix Torres-Camps, Àlex Batlle Casellas, Jordi Ros-Giralt
注:本文撰写时论文未公开官方代码仓库