EMO仅用12.5%的专家仍保持接近完整性能
The Decoder··作者 Jonathan Kemper
关键信息
EMO 与标准 MoE 训练的不同之处在于,它利用文档边界,让同一文档中的 token 从共享专家池里选择专家,从而促使专家对齐到更高层次的内容领域,而不是停留在浅层语言模式。作者还把负载均衡改为跨多个文档全局计算,并在训练中随机改变文档池大小,以便模型在推理时支持更小的专家子集。
资讯摘要
来自艾伦人工智能研究所和加州大学伯克利分校的研究人员提出了 EMO,这是一种模块化的混合专家语言模型,它让内部专家围绕内容领域形成分工。与标准 MoE 系统通常学到标点、功能词等浅层模式不同,EMO 被训练成让专家专门负责医学、政治等主题。其核心思路是把文档边界作为训练信号,因为同一篇文档中的 token 往往属于相同领域。训练时,文档内的 token 被强制从共享专家池中选择专家,而这个池通过对整篇文档的路由偏好进行平均来确定。为了保持训练稳定,研究团队把负载均衡从局部 batch 层面改为跨多个文档的全局计算,并在训练中随机改变文档池大小。研究人员使用 OLMoE 预训练语料中的 1 万亿个 token 训练了一个模型,该模型拥有 10 亿活跃参数、140 亿总参数、128 个专家,每个 token 激活 8 个专家。
EMO 的表现与同样训练方式的标准 MoE 持平,而且作者称它在使用五倍数据的情况下仍然优于 OLMoE。最重要的结果是,EMO 可以被大幅裁剪而几乎不掉性能:只保留 128 个专家中的 32 个时,整体性能只下降约 1 个百分点;只保留 16 个专家时,下降也只有约 3 个百分点。相比之下,以同样方式训练的标准 MoE 在相同裁剪条件下会下降 10 到 15 个百分点,有时甚至低于具有相同活跃参数数量的稠密模型。在数学基准 GSM8K 上,只保留 12.5% 专家的子集经过微调后又恢复到了完整模型的性能。论文还指出,要找出有用的专家子集,可能只需要相当少的数据。

资讯正文
研究人员训练出一种只用 12.5% 专家就能接近满性能的 AI 模型
要点
- Allen Institute for AI 和 UC Berkeley 开发了 EMO,这是一种模块化语言模型,其内部模块专门负责医学或政治等特定主题领域,而不只是语法,但仍能保持很强的整体性能。
- 该系统在训练中使用固定的文档边界,这会促使各个模块发展出对不同内容领域的专长,而不是只学习纯粹的结构性语言模式。
- 当 EMO 只保留四分之一的模块时,性能仅下降约 1 个百分点,同时显著节省存储空间,并且可以有针对性地控制模型覆盖哪些内容领域。
Allen Institute for AI 和 UC Berkeley 的研究人员构建了 EMO,这是一种在预训练过程中会形成模块化结构的 mixture-of-experts 模型。几乎不损失性能的情况下,这个模型可以缩减到只保留极少一部分专家。
Mixture-of-experts(MoE)架构如今已成为 DeepSeek-V4 或 Qwen3.5 之类语言模型的标准配置。它们每个 token 只激活少数几个专家,从而能够把参数规模扩展到数千亿级,同时不会让计算成本失控。但完整模型仍然必须常驻内存,因为同一任务中的不同 token 会调用不同的专家。如果你只想做数学或写代码,不能简单地只加载模型的一部分就算完事。
根据论文所述,这是因为标准 MoE 中的专家往往会依附于浅层语言模式。它们响应的往往是介词、标点或冠词之类的特征,而不是数学或代码这类更高层次的领域。这就使得很难切出一个真正有用的子集。
将文档边界作为训练信号
EMO 通过一个简单技巧解决了这个问题。作者没有像 BTX 或 Ai2 自家的 FlexOlmo 那样,事先把训练数据按数学或生物学等固定领域分类,而是使用文档边界。通常来说,一个文档中的 token 都属于同一领域。
EMO 强制文档中的所有 token 都从同一个共享池中选择它们的活跃专家。模型通过对文档内所有 token 的路由器偏好取平均,来决定哪些专家应当进入这个池,并保留被最频繁选中的那些专家。
为了保持训练稳定,研究人员还做了两项调整。首先,他们不再在每个训练批次内局部计算负载均衡——负载均衡的目标是让工作在各个专家之间尽可能均匀分配。取而代之的是,他们在许多文档之间进行全局计算。否则,这两个训练目标会彼此冲突:一个会把同一文档中的 token 绑定在一起,另一个则会尽可能把它们分散到更多专家上。
其次,研究人员在训练期间随机改变文档池的大小,而不是将其固定下来。这样可以让模型在推理时学会处理不同规模的专家子组。
四分之一的专家,性能只损失 1%
研究团队训练了一个 MoE(Mixture of Experts,专家混合)模型,拥有 10 亿个活跃参数、共 140 亿个参数,包含 128 个专家,每个 token 启用 8 个专家,并在来自 OLMoE 预训练语料库的 1 万亿个 token 上进行训练。作为完整模型,EMO 与一个以相同方式训练的标准 MoE 表现相当。作者称,尽管使用的数据量多出 5 倍,它仍然击败了 OLMoE。
随后,研究人员开始移除专家,看看模型还能撑到什么程度。仅保留 25% 的专家(128 个中的 32 个)时,EMO 在多个基准上的平均绝对性能只下降约 1 个百分点。保留 12.5% 的专家(16 个)时,降幅约为 3 个百分点。
在同样的设置下,标准 MoE 会直接崩溃,性能下降 10 到 15 个百分点,在某些情况下甚至低于一个具有相同活跃参数数量的稠密模型。在数学基准 GSM8K 上,仅保留 12.5% 专家的子集在微调后又恢复到了与完整模型相同的性能。
作者表示,找到合适的专家并不需要太多数据。只需一个 few-shot 示例,就足以选出一个表现与基于完整验证集选择出的子组相当的子群体。EMO 既可以使用简单的基于路由器的选择方法,也可以使用更专门的 Easy-EP 方法。
专家学到的是主题,而不是标点符号
为了弄清楚 EMO 实际学到了什么,研究人员分析了模型内部如何把 token 分配给各个专家。对于每个 token,他们记录路由器把它发送给每个专家的概率。这些模式会为每个 token 形成一种指纹,然后他们将具有相似指纹的 token 分组为聚类。
差异非常明显。在标准 MoE 中,专家聚类对应的是表层语言类别:介词、专有名词、定冠词。EMO 的聚类则对应真实主题:健康、医疗与健康、美国政治与选举、电影、音乐、电视和图书评论。来自同一文档的 token 在 EMO 中会汇聚到同一个聚类;而在标准 MoE 中,它们会散落到许多不同聚类。在线上可以查看这些聚类的交互式可视化。
在 WebOrganizer 数据集中的 2000 万篇文档样本上,这些文档带有 24 个人工标注的领域标签,作者检查了相关领域是否也会激活相似的专家。在 EMO 中,这些模式分离得明显更清晰,尤其是在模型更深层的表示中;而在标准 MoE 中,它们的重叠更多。
用途不止于节省内存
最明显的应用,是在内存受限的环境中运行模型,只加载与特定领域相关的专家。在一对一比较中,EMO 的专家子组与一个拥有 32 个专家的标准 MoE 以及一个具有 8 个活跃参数的稠密模型相比,表现相当甚至更好,而这两个基线模型都是从头训练的。
研究人员还讨论了在运行时对模型进行微调。例如,一个面向儿童的应用可以关闭那些对垃圾信息、赌博或成人视频内容有响应的聚类。在一次初步测试中,作者重新训练了 EMO 的一个 32 专家子组,并将其重新接回 128 专家模型中。这提升了完整模型的表现,但仍未达到独立子组的水平。EMO 也有助于监控,因为这些专家会让人看清某个输入正在使用模型的哪些部分。
Ai2 正在发布 EMO 模型、一个经过可比训练的标准 MoE 基线,以及训练代码,均可在 Hugging Face 和 GitHub 上获取。研究人员还发布了一个 token 激活的交互式演示。当前仍有一些开放问题:如何最好地选择并组合专家子 समूह,如何针对特定任务重新训练单个模块,以及如何利用这种模块化结构让模型更具可解释性。
来源与参考
收录于 2026-05-17