如何循环 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 的压平策略,对比路由指标,成本不高,却能完整体验"提出假设 → 控制变量 → 验证"的研究闭环。

相关推荐
I Am a robert girl11 小时前
当扩散编辑器“看不见”参考图:从 RefGAP 拆解参考注意力分配问题
计算机视觉·注意力机制·扩散模型·1024程序员节·参考引导编辑·refgap·免训练方法
EDPJ1 天前
(2026|中科院自动化所,路由冗余,动态分配的价值在激进剪枝,多模态更脆弱)你只需要选定专家的 2/3:细粒度 MoE LLM 中的动态专家剪枝
transformer·剪枝·moe·混合专家模型
坤盾科技3 天前
DeepSeek 开源模型矩阵深度拆解:不追“全能“,用架构差异重新定义能力边界
架构设计·moe·开源模型·deepseek·推理模型·engram
QN1幻化引擎3 天前
信号场注意力(SFA):把 KV Cache 变成 O(1) 的双通道注意力——0.1B/0.3B 受控 A/B 精度反升 15.5% / 24.3%
pytorch·深度学习·大模型·transformer·注意力机制·推理优化
Web3&Basketball4 天前
Meta Muse 816B 实测:两台 Mac 本地跑通
macos·大模型·mac·本地部署·moe·显存优化·meta muse
EDPJ4 天前
MoE 与推测解码(Speculative Decoding)加速:为什么慢、什么时候慢、怎么让它不慢?
llm·负载均衡·大语言模型·moe·推测解码(sd)
️公子7 天前
Meta 开源 Muse Spark Open 之后:自建 Agent 推理栈先过权重许可、MoE 并行拓扑、上下文预算、工具解析器与安全后训练闸门
meta·vllm·moe·sglang·开源权重·agent推理·muse spark open
神奇的代码在哪里9 天前
Ling-3.1-flash 正式开源:560B 激活 25B,1M 上下文、MIT 许可
人工智能·开源·大模型·ai agent·moe
智码看视界11 天前
开源大模型追踪:Qwen3-VL-30B-A3B :30B 总参单卡到底能不能跑?
多模态·视觉语言模型·本地部署·vllm·moe·开源大模型·qwen3-vl
super大力张11 天前
技术支持日志2026.10.13——MOE 反应库显示 C2=0:原来是显式氢触发了输入限制
cadd·moe·药物设计