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

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


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

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

④ 选型建议

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

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

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

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

⑤ 未来展望

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

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

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

相关推荐
东姬AI2 天前
文心5.5 Flash今日发布:内容管线连配音都自动化了,最后卡住的为什么是「会表演」?
百度·大模型·数字人·ai视频·moe·文心5.5·联合生成
一条大祥脚4 天前
深入理解 PyTorch FlexAttention:从 Score Mod 到 Mask Mod 的稀疏加速之道
人工智能·pytorch·python·注意力机制·flex attention·可编程注意力
神奇的代码在哪里7 天前
ERNIE-5.5-Flash-Base 开源速览:280B-A14B MoE 基座,微调与推理支持 1M 上下文
大模型·模型部署·文心大模型·moe·ernie5.5
deepseek2312 天前
Mistral Large 4开源部署账:1T参数52B激活MoE,显存估算与自托管成本临界点怎么算
moe·mistral·大模型部署
DevOps老兵14 天前
Transformer拆解01:Transformer为什么出现,RNN到底卡在哪里
rnn·深度学习·大模型·transformer·注意力机制
Agent世界15 天前
摩尔线程开源万卡训练底座:大模型 MoE 训练的四个开关
人工智能·开源·moe
骑着蜗牛撵大象32716 天前
558 万美元训出 671B 模型:DeepSeek-V3 算法与系统的协同拆解
分布式·算法·moe·deepseek-v3·mla·fp8训练
前进的李工16 天前
Agent 学习笔记 04:KV Cache 与上下文缓存
笔记·学习·缓存·agent·注意力机制·kv cache·prompt cache
智码看视界16 天前
字节 Seed-2-OSS 开源,内部豆包能力的开源释放
agent·moe·开源大模型·字节跳动·长上下文·apache-2.0·seed-2-oss
super大力张17 天前
MOE抗体的理性设计教程(06):Protein–Protein Docking——如何预测抗原–抗体的结合模式?
cadd·moe·药物设计