☰
如何循环 MoE:压平专家,解开注意力
2026/10/5 7:51:42 网站建设 项目流程

从今天觉醒,技术赋予每一个人数字生命


如何循环 MoE:压平专家,解开注意力

① 技术背景

过去两年,大模型架构的演进基本沿着两条独立路线展开。一条是循环 Transformer(Looped Transformer):把同一组层反复用几遍,用额外算力把固定尺寸的模型"榨"得更充分,让参数被复用得更彻底。另一条是稀疏混合专家(MoE):每个 token 只激活众多专家中的少数几个,从而在总参数量膨胀的同时控制单 token 计算量。

两条路线其实在回答同一个问题——如何更划算地花算力。循环是"时间维度上的复用",MoE 是"参数维度上的稀疏"。把它们合起来,直觉上很诱人:循环 MoE 应该能同时吃到两份红利。但真正动起手来,问题立刻冒出来——MoE 到底该怎么循环?是把整个 MoE 块原封不动循环几遍?还是把专家拆开?注意力要不要跟着一起循环?

这篇论文给出的答案叫Foil,核心就两个动作:压平专家(flatten the experts)和解开注意力(untie the attention)。下面我们顺着"要回答什么问题 → 怎么设计 → 为什么有效"的链路,把关键抽象拆开看。

② 主流方案盘点

方案一:标准循环 Transformer。代表工作是 Universal Transformer 一脉。职责很清晰——把一层(或一个块)重复 N 次,每一遍共享同一套权重。优点是参数零增长就能加深有效深度;缺点是循环次数一多,梯度传播和表达多样性都会受限。

方案二:标准稀疏 MoE。代表如近年的 DeepSeek、Qwen 系列 MoE 变体。职责是让每层有大量专家、每 token 只路由到 top-k 个。核心抽象是路由器(router)和专家池(expert pool)。优点是总参数大、激活参数小;缺点是路由容易塌缩到少数专家,负载不均。

方案三:朴素循环 MoE(baseline)。把整个 MoE 块循环几遍,专家和路由器全共享。这是最省事的做法,也是论文要对比的基线。问题是:每一遍的路由决策都从同一个专家池里选,循环带来的额外计算并没有扩大"可选范围"。

方案四:Foil。在固定专家参数总量和固定单 token 专家计算量的前提下,做两件事:把专家层数减半、每层专家数翻倍、循环遍数翻倍,让每次路由从更大的池子里选;同时解开注意力,每一遍有独立的注意力参数,而专家和路由器仍然共享。

③ 对比与优劣

维度标准循环 Transformer标准稀疏 MoE朴素循环 MoEFoil
参数复用方式全块共享不循环全块共享专家/路由共享,注意力独立
单 token 专家计算无固定固定固定
路由可选池无每层固定每遍相同池每遍更大池
注意力多样性低单遍低高(每遍独立)
主要风险表达塌缩负载不均循环收益递减实现复杂度上升

论文实验里,20B token 时每个 Foil 模型的预训练 loss 都低于未压平的循环基线;到 100B token,loss 随压平程度单调改善,压得最狠的 Foil 在等参数等算力下比基线低 0.012 nat,下游准确率持平或更好。解开注意力还带来了更均衡、更自信的路由。

④ 选型建议

场景一:算力紧张、想压榨小模型。优先考虑循环结构,但别急着上 Foil——先把循环 Transformer 跑通,确认循环确实带来收益,再考虑引入 MoE。

场景二:已有 MoE 想提效。Foil 的压平思路值得试:把专家层减半、每层专家翻倍、循环翻倍。关键约束是保持专家参数和单 token 专家计算不变,否则对比就不公平。

场景三:研究路由行为。解开注意力是低成本高回报的改动。论文指出路由置信度比负载均衡更能反映专家是否被健康使用——如果你在调路由,别只盯 load balance 指标。

面试/作业常被追问的点:为什么压平能提升路由?因为可选池变大,路由决策的"信息量"更高;为什么注意力要解开?因为循环时若注意力也共享,每一遍看到的表示几乎一样,循环就退化成重复计算。

⑤ 未来展望

Foil 给出的设计指引很明确:稀疏循环 MoE 应该用更多专家、更多遍数。循环的收益和加宽专家层的收益会相互放大,而不是简单叠加。

但仍有未解问题:压平到什么程度会触顶?路由置信度作为健康指标是否在所有规模都成立?注意力解开后参数量上升,如何在更大模型上控制成本?代码和配置已开源,这些问题正等着被更多人验证。

对在校学生和转行者来说,这是一个很好的"可写进作品集"的小课题——复现 Foil 的压平策略,对比路由指标,成本不高,却能完整体验"提出假设 → 控制变量 → 验证"的研究闭环。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询