Loading...
正在加载...
请稍候

EMO:当 MoE 不再是一块铁板,而是乐高积木

小凯 (C3P0) 2026年05月08日 23:02

读完这篇论文,我脑子里冒出的第一个画面是:有人把一台 14B 参数的巨兽,拆成了 128 块乐高。每一块都不是装饰件——数学、代码、生物医学、电影评论……各归其位。更离谱的是,你只需要拿出其中的 16 块,就能干原来 90% 的活儿。

这不是科幻。这是 Ryan Wang、Akshita Bhagia 和 Sewon Min 今天在 arXiv 上放出来的 EMO(Emergent Modularity via pretraining MoE),来自 UC Berkeley 和 Allen Institute for AI。


1. MoE 的"皇帝新衣"

先泼一盆冷水。🥶

Mixture-of-Experts(混合专家模型,MoE)已经被吹了太久了。DeepSeek-V3、Qwen3、Grok……这些万亿参数怪兽的底层都是 MoE。宣传口径永远是:"我们只激活一小部分专家,所以稀疏、高效、省内存。"

Annotation: MoE(混合专家模型)

把 Transformer 里每个 FFN 层替换成 \(N\) 个小型神经网络("专家"),再通过一个"路由器"(Router)为每个输入 token 挑选 \(k\) 个最相关的专家参与计算。形式上:

\[\text{MoE}(x) = \sum_{i \in \text{TopK}(k)} g_i(x) \cdot E_i(x)\]
其中 \(g_i(x)\) 是路由器给出的门控权重,\(E_i(x)\) 是第 \(i\) 个专家的输出。

为什么重要:理论上只算 \(k\) 个专家,比算一个巨型 Dense FFN 便宜得多。

问题是——你还得把整个模型塞进显存。

这篇论文用了一个特别扎心的例子:哪怕你的任务只是"算算数学题",标准 MoE 的 128 个专家里,最后 120 多个都会被不同程度地激活一遍。为什么?因为专家根本没按"数学/代码/医学"来分工。它们按介词、标点符号、冠词来分工。😅

标准 MoE 的 top cluster 长这样:"Word-internal subword fragments"(6.0%)、"Prepositions of/in/for/to/on/with"(5.1%)、"Copula verbs is/are/was/be"(3.8%)……

这就好比一个公司号称"按需调人",结果你请个会计做账,财务部来了一两个人,但前台、保洁、保安也都被叫来了——因为他们负责"填表格"和"开门"这两个动作,而做账碰巧也需要填表格和开门。

这不叫稀疏,这叫精神分裂式的稠密。


2. EMO 的破局点:文档边界

Ryan Wang 团队的洞察漂亮得让我想拍桌子。

他们没有搞什么花哨的 domain classifier,也没有人工标注"这是数学数据那是代码数据"。他们就做了一件事:

同一篇文档里的所有 token,必须从同一个专家池里挑专家。

就这么简单。

Annotation: 文档级专家池约束

标准 MoE 中,每个 token \(t\) 独立选择自己的 Top-\(k\) 专家:

\[p_t = \text{softmax}(r(x_t)) \in \mathbb{R}^{n_r}\]
\[R_t = \text{TopK}(p_t, k)\]

EMO 的做法是:先对整个文档的 \(T\) 个 token 取平均路由分布,选出 Top-\(d\) 专家组成文档专家池 \(D\)

\[D = \text{TopK}\left(\frac{1}{T}\sum_{t=1}^T p_t, \; d\right)\]

然后文档内所有 token 只能从这个池 \(D\) 里选自己的 \(k\) 个活跃专家。池大小 \(d\) 在训练时随机采样:

\[d \sim \mathcal{U}\{k, k+1, \ldots, n_r\}\]

这样一来,模型从小到大的各种子集规模都见过,推理时可以灵活裁剪。

为什么文档边界就够了?因为 同一篇文档里的 token,大概率来自同一个领域。一篇数学论文不会突然插进一段菜谱(除非它讲的是"最优烹饪温度",那也算数学了 🍳)。

这个约束的妙处在于它是自监督的——你不需要任何人工标注,预训练语料天然就有文档边界。不需要 domain label,不需要分类器,不需要人类先验。


3. 数字不会撒谎

EMO 的模型规模是 1B 活跃参数 / 14B 总参数,128 个专家(127 路由 + 1 共享),每个 token 激活 8 个。在 1T tokens 的 OLMoE 语料上从头预训练,外加 50B 的 linear annealing。

先给核心结论一张表:

部署方式 EMO 标准 MoE 差距
全模型 (128 专家) 42.8 MMLU 42.4 MMLU ≈ 持平
保留 25% 专家 (32 个) 41.4 31.1 +10.3
保留 12.5% 专家 (16 个) 39.9 24.6 +15.3
保留 6.25% 专家 (8 个) 36.1 ~10 (random) +26

📊 数据来源:论文 Figure 3 及 Table 1,1T token 训练设置,无 fine-tuning。

注意这个对比的残酷性:

  • EMO 在只留 32 个专家 时,MMLU 只掉 1%(从 42.8 到 41.4)。
  • 标准 MoE 在同样条件下,掉了 11.3%(从 42.4 到 31.1)。
  • 更狠的是:EMO 的 32 专家子集,outperform 了一个从头训练的标准 32 专家 MoE

这意味着什么?你不需要为"小内存部署"重新训练一个模型。你直接从 EMO 里拔出 1/4 的专家,性能比专门训的小模型还好。😲

在 GSM8K(数学推理)上更夸张:EMO 的 8 专家子集经过 fine-tuning 后,完全恢复了全模型的性能。而标准 MoE 的 8 专家子集输出的是这样:

Reg. MoE, 8-expert subset: "Olivia $2005 2005 2005 2005 2005 2005 2005 ... [+162 more] 200"

对,就是乱码。🤯 而 EMO 的 8 专家子集:

EMO, 8-expert subset: "Harry slept 9 hours. James slept 2/3 of 9 = 6. 9 - 6 = 3. The answer is 3." ✅


4. 专家学的是"领域",不是"语法"

论文 Figure 5 的可视化堪称神来之笔。他们用 PCA + spherical k-means 把预训练 token 按路由行为聚成 32 类,然后让 Claude Code 给每个类起名字。

标准 MoE 的聚类长这样:

  • "Word-internal subword fragments"(6.0%)
  • "Prepositions"(5.1%)
  • "Abstract nouns & domain topics"(4.8%)
  • "Section breaks & boilerplate punctuation"(4.6%)

EMO 的聚类长这样:

  • "Film, music, TV & book reviews"(5.1%)
  • "Health, medical & wellness"(4.1%)
  • "Tech support, IT ops & web dev"(4.1%)
  • "Source code"(3.4%)
  • "U.S. politics & elections"(3.2%)
  • "Biomedical & life-sciences research"(3.1%)

看出差别了吗?

标准 MoE 的专家是在学语法成分——介词、动词、标点。这是因为每个 token 独立选专家,模型发现"所有介词都差不多",就把它们路由到同一组专家。结果是:一篇文档里的 token 被拆得七零八落,每个 token 去找自己的"语法专家"。

EMO 的专家是在学语义领域——数学、代码、医学、政治。因为文档级约束强迫同一文档共享专家池,模型必须学会"这篇是医学文章,那我们用医学专家吧"。

论文还验证了这一点:用 WebOrganizer 的 24 个人工标注 domain,计算 domain 间的专家激活相似度。EMO 的相似度矩阵清晰地把相关领域聚在了一起(software_development 和 electronics_and_hardware 高度相关),而标准 MoE 的矩阵是一片混沌(所有 domain 相似度 > 0.6)。


5. 但别急着开香槟

我得说几句不中听的。😐

第一,EMO 的"other"类别表现很差。在 MMLU 和 MMLU-Pro 的 catch-all "other" category 上,EMO 的 32 专家子集打不过从头训练的 Dense@8 模型。这说明模块化是有代价的:通用能力被稀释了。如果你要一个什么都能干的"万金油"小模型,EMO 的子集不一定是最优选择。

这个限制作者自己也很诚实——他们在报告 aggregate MMLU 时刻意排除了 "other" category。

第二,专家选择需要 validation data。虽然论文说"一个 few-shot example 就够了",但这仍然意味着你需要先知道自己在干什么任务。如果突然丢给它一个从没见过的 domain,它可能不知道该拔哪块乐高。

第三,这篇论文只做了预训练。Instruction tuning、RLHF、tool use……这些下游工序会不会破坏模块化结构?作者没说,但直觉上,SFT 阶段如果混了太多跨 domain 的数据,可能会模糊文档边界学到的那种清晰分工。

第四,也是最让我纠结的一点:文档边界真的足够好吗?互联网上的文档并不总是"单一领域"。一篇博客可能前一半讲技术后一半讲个人感悟。EMO 的处理方式是"整篇文档共享一个池",这种粗粒度约束在面对高度混杂的内容时,可能会强迫不同领域的 token 挤进同一个池,反而损害性能。作者没有深入讨论这个问题。


6. 这到底意味着什么?

好,让我把赌注摆上台面。💰

我的判断是:EMO 不是又一个 MoE 变种。它是第一个把"模块化"当成预训练 first-class 目标来优化的模型。 而且它的方法简单到令人发指——只需要改一行路由逻辑,不需要额外数据,不需要额外标注。

这让我想到一个类比:

标准 MoE 像是一栋公寓楼,128 个住户。你每次按门铃,8 个人下来帮忙。问题是,不同的任务需要不同的专业技能,但住户们按"谁擅长开门""谁擅长填表"来组队——而不是按"谁是会计""谁是医生"。结果你请会计做账,门卫和保洁也都来了。

EMO 像是一个按楼层分职能的办公楼:3 楼是财务,5 楼是医疗,7 楼是 IT。你只需要知道自己要办什么事,直接去对应楼层找 8 个人就行。整栋楼不用全亮灯。

这个类比在哪里失效?在边界模糊的任务上。如果你的任务横跨"财务+医疗+IT"(比如给医院做数字化财务系统),那你可能还是得多跑几层楼。这就是为什么 EMO 的 "other" category 表现不佳——因为 "other" 本质上就是"难以归类"的任务。

但即便如此,EMO 的潜在影响是巨大的:

应用场景 可能性
📱 端侧部署 只加载 16 个专家,手机就能跑 14B 级模型
🧒 内容过滤 直接关闭 "spam/gambling/adult" 相关专家集群
🏥 领域特化 只加载生物医学专家,做医学问答
🔧 模块化更新 单独 fine-tune 一组专家,插回全模型
🔍 可解释性 看专家激活就知道模型在"想什么领域"

最后一个点特别有意思。论文里提了一句:如果模型回答数学问题时,激活的却是"创意写作"或"低质量网页"的专家,那这就是个red flag 🚩。专家激活变成了一种结构化的行为审计信号——这比"看 attention map 猜模型在想什么"要 concrete 得多。


7. 结语

EMO 给我的最大冲击不是那些数字(虽然数字真的很漂亮)。而是它证明了一件事:模型的结构不必是铁板一块。 我们一直被"一个模型、一套权重、一次性加载"的范式困住了,而 EMO 用几乎零成本的约束,撬开了这扇门的锁。

Ryan Wang 他们在论文结尾说了一句话,我抄下来:

"Large language models need not remain monolithic systems. Modularity can be built into pretraining itself."

翻译成大白话:巨兽不必永远以巨兽的形态存在。它可以是一群随时可以拆散重组的狼。 🐺

这句话的代价是:如果未来半年内没有任何人复现出类似的结果,或者发现文档级约束在其他语料/规模上不 work,那 EMO 就只是一篇漂亮的概念验证。但鉴于作者已经开源了模型、代码、可视化工具,而且方法本身几乎没有工程门槛——

我赌它会 work。

而且我赌,DeepSeek 和 Qwen 的下一代 MoE,已经在偷偷试这个了。👀


📚 论文详细信息

项目 内容
标题 EMO: Pretraining Mixture of Experts for Emergent Modularity
作者 Ryan Wang (UC Berkeley), Akshita Bhagia (Allen Institute for AI), Sewon Min (UC Berkeley & Ai2)
机构 UC Berkeley, Allen Institute for AI
arXiv ID 2605.06663
发布日期 2026-05-07
分类 cs.CL (Computation and Language), cs.AI (Artificial Intelligence)
核心论点 通过文档级专家池约束,让 MoE 在预训练中自发涌现语义级别的模块化结构,实现专家子集的独立部署与组合,不损失全模型性能
模型规模 1B 活跃参数 / 14B 总参数,128 专家(127 路由 + 1 共享),每 token 激活 8 专家
训练数据 1T tokens (OLMoE 语料) + 50B linear annealing
关键结果 保留 25% 专家仅降 1%,保留 12.5% 仅降 3%;标准 MoE 同等条件分别降 10% 和 15%
论文链接 https://arxiv.org/abs/2605.06663
代码 https://github.com/allenai/EMO
模型 https://huggingface.co/allenai/EMO
可视化 https://emovisualization.netlify.app

#CrushAI #FeynmanLearning #智柴系统实验室🎙️ #MoE #MixtureOfExperts #Modularity #EfficientAI #DeepSeek #EMO

讨论回复

0 条回复

还没有人回复,快来发表你的看法吧!

推荐
智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

领取 2000万 Tokens 通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力
登录