FrontiersMind研究团队提出的查询头专家混合机制

这项由FrontiersMind研究团队完成的研究以预印本形式发布于2026年6月18日,论文编号为arXiv:2606.20945,有兴趣深入了解的读者可通过该编号查询完整论文。

一、为什么AI每次"读文章"都要全力以赴?

每当我们用大语言模型处理一段很长的文字时,模型内部发生的事情有点像一个极度认真的学生在读书——不管面对的是一篇哲学论文还是一句"嗯嗯好的",他都会把书中每一个单词与其他所有单词逐一比对,一字不落,绝不跳过。这种"一视同仁"的方式固然严谨,但代价极高:文章越长,比较的工作量就以平方级别暴涨。一篇一千个词的文章需要进行约一百万次比对,而一篇一万个词的文章则需要一亿次。

这种机制在AI领域被称为"自注意力"(Self-Attention),是现代大语言模型(Transformer)的核心引擎。它的工作方式可以理解为:模型为文本中的每个词配备了若干个"阅读视角",每个视角负责从不同角度理解这个词与其他词的关系。这些视角被称为"注意力头"。问题在于,无论一个词是意义深远的关键术语,还是毫无信息量的标点符号,模型都会动用全部阅读视角来处理它,没有任何差别。

这就引出了一个自然的问题:一个逗号真的需要十六种不同的阅读视角吗?FrontiersMind的研究者认为答案是不需要的,而且他们设计了一套机制来证明这一点。

二、先了解一下现有的"节约方案"

在理解这项新研究之前,有必要先认识一个已经在工业界广泛使用的优化方案——分组查询注意力(GQA,Grouped-Query Attention)。

GQA的核心思路可以用图书馆的参考书来打比方。在传统的多头注意力机制(MHA)里,每个阅读视角都拥有一套完全属于自己的"参考书"(也就是键值缓存,Key-Value Cache)。这些参考书需要占用大量存储空间,尤其是在模型处理很长的文本时。GQA的做法是让几个阅读视角共用一套参考书,而不是每人一套。这样参考书的数量大幅减少,存储和读取的成本随之降低,但模型依然保留了多个不同的阅读视角来产生查询(Query)——也就是说,提问的视角多样,但翻阅的参考书是共享的。

GQA在减少存储压力方面效果显著,但有一个局限没有被解决:它依然让每个词激活所有的查询视角,就像那个认真的学生,哪怕是面对一个逗号,也要从十六个角度去审视它。FrontiersMind的研究者正是瞄准了这一点。

三、专家分工的灵感从哪里来

解决"全员上阵"问题的灵感,来自AI领域另一个已经成熟的设计——混合专家机制(MoE,Mixture of Experts)。

混合专家机制在AI的"思维处理"模块(也就是MLP层)中已经大量应用。它的逻辑非常直观:与其让一个超级通才处理所有问题,不如培养一批专才,每次根据问题的性质,只调用最合适的几位专家来作答。这样模型虽然拥有大量潜在的处理能力,但每次实际运转时只启动一小部分,大幅节省了计算资源。

以往研究者把这种"按需分配专家"的思路用在MLP模块上,但很少有人尝试把它搬到注意力机制里,尤其是搬到GQA的查询头上。FrontiersMind的研究者决定做这件事,并将其命名为"分组查询专家"(GQE,Grouped Query Experts)。

核心理念是:在GQA的每一个共享参考书组内,设置多个查询视角作为"候选专家",每次处理一个词时,让模型自动挑选其中最合适的少数几个专家来工作,其余专家保持沉默。参考书(键值缓存)的部分保持不变、始终全员工作——这样GQA节省存储的优势得以完整保留,同时查询侧的计算量进一步压缩。

四、GQE是怎么运作的:从"派遣"到"汇报"

具体来看,GQE的工作流程可以分成几个紧密相连的环节,每个环节都有其独特的设计考量。

首先是分组结构。整个注意力模块被划分为若干个组(等于共享参考书的数量),每个组内包含多个查询专家。在研究者的主要实验设置中,整个模型有16个查询头和8个共享参考书组,每组因此有2个候选专家。这些专家各自拥有独立的查询投影矩阵,能从不同角度"提问",但它们翻阅的是同一套参考书。

接下来是路由决策。当模型处理某个词时,一个轻量级的"调度员"(路由器,Router)会快速评估当前词的特征,为每组内的各个专家打分,然后按照分数从高到低,只激活得分最高的k个专家。在研究者的主要实验中,k等于1,也就是说每组只选一个最合适的专家。对于8个组而言,每次共有8个路由专家被激活,相当于路由专家池的一半。

然后是输出整合。被选中的专家各自独立完成注意力计算,产生各自的输出结果。这些结果通过硬拼接的方式组合在一起,形成当前词的主要注意力输出。值得注意的是,研究者发现仅仅做硬拼接是不够的——还需要一个特殊的"加权汇总槽",将所有被选专家的输出按照路由器给出的评分加权平均,产生一个额外的综合输出。这个加权汇总的意义在后面会详细说明。

最后是共享头的稳定作用。除了被路由的专家,GQE还设置了一个始终全员激活的"共享注意力头",无论路由器做出什么决策,这个共享头都会参与计算。三部分——硬拼接的专家输出、加权汇总输出、共享头输出——合并在一起,经过最终的输出投影,产生当前层的注意力结果。

五、最棘手的问题:路由器如何学会"做决策"

研究过程中,研究者遭遇了一个非常实际的困难:路由器不知道怎么学习。

这背后有一个技术原因。路由器做的是一个"离散选择"——选或不选,没有中间状态。这种非此即彼的决策对于神经网络的训练来说是一个麻烦,因为训练神经网络的核心方法(梯度下降)依赖于连续可微的信号,就像沿着山坡滑下去需要知道坡度。一个硬性的"只选第一名,其余全部忽略"的操作,让梯度无法有效地流回路由器,路由器因此学不会做出好决策。

这正是"加权汇总槽"存在的意义。虽然硬拼接部分不提供梯度信号,但加权汇总槽用被选专家的路由评分作为权重,产生一个可微的输出,语言模型的训练损失可以通过这个槽流回路由器,告诉它"这次的选择好不好,下次应该怎么调整"。

研究者还引入了一个辅助的负载均衡损失,防止路由器形成"偏爱症"——即总是只挑某个固定的专家,导致其他专家从未得到训练机会。这个辅助损失鼓励不同的词在训练过程中分散地激活不同的专家,使整个专家池都能得到充分锻炼。

六、实验验证:三个变种的对比故事

为了弄清楚GQE的哪些设计元素是真正起作用的,研究者做了一场严格的对比实验。所有变种都在相同的条件下训练:2.5亿参数规模、300亿训练词元、相同的数据集(来自FineWeb-Edu)、相同的优化器设置。评估指标包括三个常见的语言理解基准:HellaSwag(日常推理)、PIQA(物理常识)和ARC-Easy(基础推理问答)。

基准对照组是一个标准的GQA模型,拥有16个查询头和8个共享参考书,所有查询头在每个词上都全员激活。这个基准的三项测试平均得分为55.86分。

第一个对比变种叫"加权拼接但无重归一化槽"。这个变种尝试用路由器的评分直接对专家输出做加权,但没有单独设置一个重归一化的加权汇总槽。结果得分降到了55.18分,比基准低了约0.68分。这说明简单地用评分加权并不能有效地给路由器提供学习信号。

第二个对比变种叫"纯硬拼接"。这个变种只做选择、只做拼接,完全不计算任何加权,路由器得到的梯度信号极其微弱。得分为55.43分,比加权拼接的变种略好,但仍比基准低了0.43分。

最后是完整的GQE设计,包含重归一化加权汇总槽和常驻共享头。这个配置的平均得分为56.04分,不仅追平了全员激活的GQA基准,还微幅超出了0.18分——而此时每个词只激活了8个路由专家(路由池的一半),加上共享头共9个查询注意力计算单元,相比基准的16个节省了约44%的查询侧计算。

这个对比实验清晰地说明了一件事:稀疏路由本身并不自动带来好结果,关键在于路由器能否接收到有效的学习信号,以及模型是否有一个稳定的"底座"(共享头)来防止学习过程因路由随机性而崩塌。

七、速度提升:序列越长,节省越多

理论上的计算节省只有转化为实际速度提升才有真正的意义。研究者测量了从2千词元到超过100万词元的不同序列长度下,GQE相对于GQA基准的实际速度比。

在较短的序列(2千词元)下,GQE的速度提升约为1.15倍。这个数字偏小,原因在于路由调度本身有固定的额外开销,而当序列很短时,注意力计算本身工作量不多,路由开销占比相对较大,稀疏计算的收益被部分抵消。

随着序列长度增加,这种平衡迅速倒转。从4千词元开始,速度提升稳步攀升,在32千到100万词元的范围内,速度提升稳定在1.67倍到1.80倍之间。这个趋势与设计逻辑完全吻合:注意力计算中有一部分与序列长度成平方关系增长,而GQE跳过了一部分查询专家,省掉的正是这部分随长度急剧膨胀的计算量。序列越长,被节省的这块"蛋糕"越大,相对于固定路由开销的优势也越明显。

这对实际应用有直接的含义。现代大语言模型越来越多地被要求处理长文档、长对话或大段代码,上下文窗口动辄数万乃至数十万词元。在这些场景下,GQE能够以接近两倍的速度完成同样的任务,同时保持相近的输出质量。

八、研究的边界与尚待探索的方向

研究者对自己工作的局限性保持了坦诚的态度,这一点值得单独关注。

全部实验都在2.5亿参数规模下进行,这在当今大模型的标准下属于相对小型的模型。研究者明确指出,GQE相较于基准的那一点点微弱优势(0.18分)不应被过度解读为稳健的性能提升——它更应该被理解为"持平",因为没有经过多次随机种子的重复验证。在更大规模(如数十亿、数百亿参数)的模型上,这种路由机制是否依然有效,仍需后续实验验证。

此外,每组内的候选专家数量(M)在主要实验中只有2个,这意味着每组的"选择空间"非常有限。更大的专家池(比如每组设置4个、8个候选专家)理论上能给模型提供更丰富的专注方向组合,让不同类型的词有更多差异化的处理方式,但这部分大规模搜索实验留待未来工作展开。研究者还提到,未来将把GQE与其他长序列架构(如Mamba)进行横向比较,进一步检验这种设计在不同体系下的适用性。

说到底,这项研究做了一件看起来简单但实际上需要多个关键设计细节配合才能奏效的事:把"按需分配专家"这个在AI处理模块中已经被验证的想法,移植到了注意力机制的查询计算上,并找到了让路由器真正学会决策的关键——一个提供可微梯度路径的加权汇总槽,加上一个始终在线的稳定共享头。缺了任何一个,稀疏路由不仅不能匹配基准,还会拖累性能。

归根结底,这个研究告诉我们一件很有意思的事:AI系统在处理信息时,并非每个词都需要"全力以赴"地从所有视角审视。一个逗号和一个专业术语,对注意力资源的需求本来就不同。让模型学会区分它们、因材施计,不仅能节省大量计算,还能保持甚至微幅改善整体表现。这种"懂得偷懒"的能力,反而可能是更聪明的设计。

对于普通用户而言,这意味着未来的AI助手在处理长篇文章、超长对话或大量文档时,可能在相同的硬件上运行得更快,或者在相同的速度下处理更长的内容,而不必牺牲回答的质量。有兴趣追踪这一方向后续进展的读者,可以通过arXiv编号2606.20945找到原始论文,跟进研究团队未来在更大模型规模上的验证工作。

Q&A

Q1:GQE和GQA有什么区别?

A:GQA(分组查询注意力)通过让多个查询头共用一套键值缓存来节省存储空间,但仍然激活所有查询头。GQE在GQA基础上进一步引入了路由机制,让每个词只激活组内得分最高的少数查询专家,从而减少查询侧的实际计算量。两者的键值缓存部分完全相同,区别在于查询头是否全员工作。

Q2:GQE为什么需要加权汇总槽和共享头,少一个行不行?

A:实验表明两者缺一不可。加权汇总槽为路由器提供可微的梯度信号,让路由器能通过训练学会做出好的专家选择;共享头则提供一个始终稳定的注意力通道,防止模型在路由器尚未学好时完全依赖不稳定的路由结果。单独只有硬拼接的版本和只有加权但无重归一化的版本,测试得分均明显低于全员激活的GQA基准。

Q3:GQE在短文本上也有速度优势吗?

A:在短序列(约2千词元)下速度提升较小,约为1.15倍,因为路由调度的固定开销相对注意力计算本身占比较大。随着序列长度增加,速度提升迅速扩大,在3.2万到100万词元范围内稳定在1.67到1.80倍之间。GQE的速度优势在长文本场景下最为显著。

作者声明:作品含AI生成内容
举报/反馈
分享到: 微博 QQ 空间
对本文内容有合作意向?
我们将在 1 个工作日内与您联系
留言咨询