AB
AiBoss站
百科

什么是注意力头混合(Mixture of Attention Heads)?——把 MoE 机制引入多头注意力的模型结构

注意力头混合(MoA)是 Zhang 等人于 2022 年在 EMNLP 发表的模型结构,把混合专家(MoE)的条件计算机制从 Transformer 的前馈层搬到多头注意力层:每个注意力头拥有独立参数,由路由器为每个 token 动态挑选 k 个头参与计算。论文称该结构在机器翻译与掩码语言建模任务上优于标准多头注意力,并能在保持计算效率的同时扩大头数与参数量。

注意力头混合(Mixture of Attention Heads,MoA)是一种把混合专家(Mixture-of-Experts,MoE)机制与多头注意力(multi-head attention)结合起来的 Transformer 模型结构。它维护一组各自拥有独立参数的注意力头,并让一个路由器(router)针对每个输入 token 动态选择其中 k 个头参与计算,而不是像标准多头注意力那样让所有头对每个 token 都做一遍运算。它要解决的问题是:在 Transformer 中,条件计算(conditional computation)此前主要被用在前馈层上,注意力层本身仍是「全量激活」,模型扩容时注意力部分的计算量会随头数线性增长。

为什么重要

按该论文的表述,MoE 网络此前被提出作为一种高效扩大模型容量、实现条件计算的方式,但对 MoE 组件的研究大多集中在 Transformer 架构的前馈层(feedforward layer)上。也就是说,稀疏激活、按输入选择专家的思路已经在 FFN 上被反复使用,注意力子层却基本保持稠密计算:头数增加,每个 token 都要经过全部注意力头,计算开销随之上升。

这带来两个直接痛点。其一是扩容代价:想通过增加注意力头来提升表达能力,就要接受与之成正比的计算量。其二是头之间的同质化:标准多头注意力中所有头对每个 token 都参与,头与头之间的分工只能靠训练后观察注意力图去猜测,缺少一种显式的、由结构保证的差异化机制。

MoA 的意义在于把「按 token 选择专家」这一条件计算范式从 FFN 扩展到注意力子层,使注意力头也可以成为可稀疏激活的专家池。论文认为,这一改动同时触及性能、可扩展性与可解释性三个方向。

工作机制

论文给出的 MoA 结构可以拆成以下几个要点:

  • 头即专家:MoA 包含一组注意力头,每个头都有自己独立的一套参数,而不是共享同一组投影后再切分。这一点是它与标准多头注意力最本质的区别——标准多头注意力通常由一组投影矩阵切分出多个头,MoA 则把每个头当作一个参数独立的专家。
  • 逐 token 路由:给定一个输入,路由器为每个 token 动态选择一个大小为 k 的注意力头子集。选择发生在 token 粒度上,因此同一个序列中不同位置的 token 可能激活不同的头组合。
  • 稀疏门控:被选中的只有 k 个头,其余头在该 token 上不参与计算。论文把这种设计称为稀疏门控(sparsely gated)的 MoA,并指出它使得扩大注意力头数量与参数总量变得容易,同时保持计算效率。
  • 条件计算:上述路由加稀疏激活合起来构成一种条件计算模式。论文称,正是这一模式让 MoA 取得比标准多头注意力层更强的性能。
  • 头效用的自动分化:论文还提到,MoA 会自动区分各个头的效用(utilities),这为讨论模型可解释性提供了一个新的视角——头的分工不再只是训练后的观察结果,而是路由机制直接作用的对象。

需要说明的是,上述机制描述均来自论文本身的主张与设计说明;论文摘要层面并未展开路由器的具体打分函数、负载均衡辅助损失等实现细节,此处不作推测。

典型例子

论文在若干重要任务上进行了实验,摘要中明确点名的两类任务是:

  • 机器翻译(Machine Translation):作为序列到序列生成的代表性任务,用于检验 MoA 在注意力层引入稀疏选择后的效果。
  • 掩码语言建模(Masked Language Modeling):作为编码器式预训练的代表性任务,用于检验逐 token 路由在理解类目标上的表现。

论文称,在这些任务上,MoA 相对于包含大型、非常深的模型的强基线(strong baselines)取得了有希望的结果。这里应严格按论文口径理解:这是作者在其设定下报告的实验结果,而非独立复现或跨研究的普遍结论;论文摘要未给出具体数值、数据集名称或基线规模,因此本条目也不列具体数字。

该工作发表于 EMNLP 2022,作者为 Xiaofeng Zhang、Yikang Shen、Zeyu Huang、Jie Zhou、Wenge Rong、Zhang Xiong,收录于会议论文集第 4150–4162 页。

边界与常见误解

它不是 MoE 的替代品,而是 MoE 在另一个子层上的应用。常见的误解是把 MoA 当成一种全新的稀疏化框架。按论文的定位,MoE 本身早已存在,MoA 的贡献是把这一机制从 Transformer 的前馈层迁移并适配到多头注意力层。两者解决的是同一类「如何用条件计算扩大容量」的问题,只是作用位置不同。

它不等于「减少注意力头数量」。MoA 的稀疏性体现在每个 token 只激活 k 个头,但模型总头数可以随参数扩容而增加。论文强调的是「扩大头数与参数量的同时保持计算效率」,而不是简单地砍掉头。把 MoA 理解为一种剪枝方法并不准确。

逐 token 路由带来路由开销与训练稳定性问题。路由器需要为每个 token 做出选择,这本身引入额外计算与需要学习的参数;稀疏门控在训练中通常还需要处理负载均衡,否则容易出现少数头被过度选中。论文摘要未讨论这些工程细节,因此本条目不对其代价作量化断言,只指出这是此类稀疏结构的一般性关注点。

可解释性主张需要谨慎对待。论文称 MoA 会自动区分头的效用,为可解释性讨论提供新视角。这是作者提出的研究视角,而非已经确立的结论;「头有分工」与「分工可被人读懂」之间仍有距离。

适用边界。论文的实验集中在机器翻译与掩码语言建模两类任务上,摘要未声称该结构在其他模态或任务上同样有效。把它推广到任意序列建模场景属于外推,缺乏该论文的直接支持。

参考资料