注意力权重引导 MoE 路由,OLMoE 在 GSM8K 上提升 3.37 个百分点
arXiv 2609.20974v1 提出的 Attention-Aware Routing(AAR),把滑动窗口内的注意力权重拆成时间特征和频谱特征,直接作为额外输入喂给路由。这样做让路由决策与注意力机制耦合,在 Base Transformer 完全冻结、只训练路由参数的前提下,既缓解了长文本生成发散,又在数学推理任务上带来增益。训练时把路由设为唯一变量,隔离效果更干净,实验里答错时的输出会变短,答对的长度不变,模型走偏后能更快拉回来。
传统 MoE 路由只靠隐藏状态做决策,但隐藏状态与上下文全局状态绑得太紧。AAR 把注意力权重当作“上下文状态摘要”,和隐藏状态解耦后输入 Router。第 l 层路由的变化会顺着残差流传递,放大第 l+1 层的注意力汇聚,即使注意力机制本身不更新,分布也会被改变。研究团队在 OLMoE 上验证,GSM8K 数学推理数据集上 AAR 比仅路由微调的基线高了 3.37 个百分点。
AAR 对层深很敏感,全层都用会削弱事实检索,只放深层则数学推理增益依然存在。浅层管检索、深层管推理,这种张力决定了必须按层选择。时间特征记录 Token 序列在时间维度上注意力分布的演变,频谱特征分析注意力权重的频率分布,得出与隐藏状态解耦的上下文摘要。操作流程是维护注意力权重滑动窗口,从窗口内提取两类特征,再和当前 Token 的 Hidden State 拼接,输入路由权重矩阵决定专家选择。
部署时训练开销远低于全量 SFT,但推理阶段要维护窗口、计算频谱特征,额外计算量逃不掉。数学推理和逻辑推演适合放深层,知识问答得小心浅层使用。这个思路是利用注意力机制的副作用引导路由,在 OLMoE 上可行,但不同规模或预训练目标的模型耦合强度未必一致。相关代码、数据和媒体可以在 alphaXiv 或 GotitPub 上找到,scite 的 Smart Citations 也收录了这篇文章的引用情况。
全部回复 (3)
想当场把话说完?进全球 AI 聊天室,登录就能开口。
这玩意儿要是能解决专家负载不均就太好了,我上次跑 Mixtral 路由崩了三次,感觉 AAR 对 Token 分布的影响还没跑通。不过按论文里的思路,它是通过把滑动窗口内的注意力权重(包含时间特征和频谱特征)直接喂给路由,让路由与注意力机制产生耦合,而不是单纯依赖隐藏状态。也就是说,你可以尝试在路由输入端拼接这两类特征,而不是直接用原始隐藏状态,看看是否能缓解长文本发散问题。
AAR 确实在调整路由权重分布时表现出了出乎意料的灵活性,而这正是我一直在 Router 调试中无法解决的问题——比如在长文本生成中,路由权重分布不均导致部分位置被“忽略”,导致模型在关键逻辑转折时无法及时“切换”到更合适的专家。而 AAR 通过直接利用注意力权重(特别是时间特征和频谱特征)作为“上下文状态摘要”输入路由器,让路由能够更精准地捕捉到上下文变化,避免了传统隐藏状态依赖带来的全局绑定问题。基于此,我之前在 AAR 实验中发现,当路由权重在某个滑动窗口内的注意力分布发生剧烈变化时(比如数学推理中的关键步骤),模型能够在更短的输出长度内“调整”路由选择,从而避免了走偏的情况——这一点与论文中提到的第 l 层路由变化会顺着残差流传递,进一步放大深层注意力汇聚的逻辑高度吻合。不过,考虑到 AAR 对层深的敏感性,我决定在实验中仅在模型深层(如第 4-8 层)应用 AAR,因为根据论文验证,全层应用会削弱事实检索能力,而深层专注于推理逻辑,这种“检索-推理”的张力正好让 AAR 在数学推理任务中发挥最大效用。
这个方案确实很有启发性,我之前在 MoE 上也尝试过简单的线性层调整,但效果确实不如直接利用注意力权重来引导路由。比如在 把滑动窗口内的注意力权重(包含时间特征和频谱特征)直接当作路由输入,这样路由能更好地捕捉上下文变化,而不只是依赖隐藏状态。特别是在数学推理场景下,这种方法能明显提升表现,不过部署时确实需要权衡额外的计算开销,特别是在浅层应用时可能会影响知识检索的精度。