这项由加州大学伯克利分校与艾伦人工智能研究所(Allen Institute for AI)联合完成的研究,以预印本形式于2026年5月7日发布,论文编号为arXiv:2605.06663,有兴趣深入了解的读者可通过该编号查阅完整论文。
你的手机里大概存着一堆App——地图、购物、记账、游戏。每个App各司其职,你用导航的时候不需要把购物记录也加载进内存,这样手机才跑得快、存得下。然而今天绝大多数AI大模型的工作方式恰恰相反:它上知天文下知地理,但每次你只是想让它帮你改一段Python代码,它依然要把整个庞大的自己都"唤醒"塞进内存,哪怕其中99%的内容跟编程毫无关系。这不仅费时费电,更要命的是费钱——高端显存就那么多,装不下越来越大的模型。
研究团队注意到这个矛盾,并提出了一个叫做**EMO**(Emergent Modularity,涌现式模块化)的新型AI架构。EMO的核心雄心是:让一个大模型在训练结束后,能被拆成若干个"专科小模型"来使用,同时组合在一起又是一个强大的"全科大模型"。更妙的是,这种分科能力不需要人类事先规划,而是模型在学习海量文字的过程中,自然而然地"长出来"的。
一、为什么现有的AI模型必须整体上阵?
要理解EMO解决的问题,不妨先想象一家医院的运作方式。假设这家医院所有的医生都被捆在一起,你去看皮肤科,骨科、心脏科、神经科的医生也必须一起出诊,白白占据诊室和资源——这显然荒唐。但现在的大语言模型,基本上就是这样工作的。
现代大语言模型里有一类特别流行的架构,叫做"专家混合模型"(Mixture of Experts,简称MoE)。它的设计初衷其实很聪明:把模型内部的计算单元分成许多个小模块,每个模块叫做一个"专家",处理每个词的时候只激活其中几个最合适的专家,而不是全部。这样,模型参数可以做得很大,但每次实际运算消耗的算力却很少。以这篇论文训练的模型为例,它总参数量高达140亿,但处理每个词时只需要用到10亿参数——理论上很省力。
然而有个致命问题:这些"专家"其实并没有按照领域分工。当你给模型喂一篇数学文章时,里面的"的"字可能会激活专家5,"因此"会激活专家12,"π"会激活专家37……同一篇文章里每个词使用的专家都不一样,七零八落。结果就是,整个模型有128个专家,处理一篇数学文章可能128个专家都被动用到了。你根本没办法说"这批专家专门负责数学,我只加载这些就行",因为数学文章的词也需要用到那些"负责标点符号"或者"负责介词"的专家。
研究团队专门做了验证实验,结果证实了这个直觉:在普通MoE里,专家的分工基本是"语法层面"的——某个专家负责介词(of/in/for/to),某个专家负责冠词(the/a),某个专家负责标点符号。这就像一个图书馆不是按照"数学书区""文学区""历史区"来排列,而是按照"所有书里'的'字出现的页面"放一堆、"所有书里第一个字母是A的章节"放一堆——这样分类对于"我只想借数学书"这个需求毫无帮助。
当你强行只保留一部分专家来专门服务数学任务时,效果急剧崩溃。实验数据显示,普通MoE在保留25%专家的情况下,MMLU(一个综合学科测试基准)成绩下降超过10个百分点,保留12.5%专家则下降超过15个百分点——性能比从头训练一个小得多的密集模型还要差。
二、EMO的核心思路:用文章边界当"自然分科线"
既然问题出在"专家分工太碎、太底层",那怎么让专家按照"领域"而非"语法功能"来分工呢?
一个直觉上简单的方案是:人工给训练数据贴标签,强制规定"数学文章只能用数学专家""代码文章只能用代码专家"。这条路有人走过,比如类似BTX和FlexOlmo这样的工作。但这个方案有两个大麻烦:第一,给海量训练数据贴标签本身就很费力,而且很多文章是跨领域的,强行分类会产生歧义;第二,训练时领域是固定的,遇到训练集里没见过的新领域,模型就抓瞎了。
EMO团队选择了一条更优雅的路:不贴任何领域标签,只利用一个天然存在的结构——文章边界。
道理很简单:一篇文章里的所有句子,通常属于同一个领域。一篇讲量子力学的论文里,每一句话都是在讲量子力学;一篇美食博客里,每一段文字都在聊吃喝玩乐。因此,同一篇文章里的不同词汇,应该依赖相似的专家来处理——这些专家共同构成这篇文章所代表领域的"专属工具包"。
具体的做法是这样的:在训练时,模型处理每一篇文章之前,先根据所有词的路由倾向(也就是模型觉得哪些专家最有用)算出一个"本文档专家池"——比如在128个专家里选出32个。接下来,这篇文章里所有的词只能在这32个专家中选择自己需要激活的专家,不能跑出这个池子去用其他专家。不同的文章可以选出不同的32个专家组成自己的专家池。
这就像给每篇文章分配一个"工具箱":处理一篇编程文章,系统从128把工具里挑出32把最适合编程的,整篇文章只用这32把;处理一篇生物医学文章,换另一套32把工具。训练下来,模型就会慢慢学到:某几个专家组合在一起,特别擅长处理数学内容;另外几个专家组合在一起,特别擅长处理代码;还有一批专家组合,特别适合处理生物医学文献。领域性的专家群体就这样自然地"涌现"出来了。
三、训练过程中的两个关键技术挑战
这个思路看起来直觉上很清晰,但实现起来有两个必须处理好的技术难点,研究团队在论文中做了详细说明。
第一个挑战是"负载均衡"的冲突。所谓负载均衡,是让128个专家都能被均匀使用,避免某几个专家被疯狂激活、其他专家闲置。在普通MoE里,负载均衡的实现方式是在每个小批次数据(micro-batch)内计算各专家的使用频率,然后惩罚使用不均衡的情况。但在EMO的设定下,一个小批次里往往只有几篇文章,每篇文章都被限制在自己的32个专家池里——这意味着整个批次内有大量专家根本没被使用。若在这个层面强制要求均衡,系统就会推着每篇文章去使用更多不同的专家,直接和"专家池限制"背道而驰,导致训练极不稳定,损失曲线像心电图一样剧烈震荡。
解决方案是改用"全局负载均衡"——把均衡统计的范围扩大到整个数据并行组,也就是同时处理的所有批次合在一起统计。这样,均衡是在成百上千篇不同文章之间实现的:每篇文章可以专注于自己的专家池,只要整体上各专家被不同文章均等地使用就行。这个改进直接让训练变得稳定流畅,梯度范数的异常峰值几乎消失。这一方法与Qwen3模型使用的技术一脉相承,论文中也明确引用了这一技术来源。
第二个挑战是"专家池大小"的灵活性问题。如果训练时始终固定用32个专家作为每篇文章的专家池,模型就只会在"32个专家"这个特定大小下表现良好。部署时如果想用16个专家或者64个专家,效果就会变差——模型根本没练过这种配置。
解决方案是:让专家池大小在训练时随机变化。每处理一篇文章,系统就从一个范围内随机抽取一个数字作为本次的专家池大小,可能这篇文章用32个专家,下一篇用64个,再下一篇用16个。这样训练下来,模型学会了在各种大小的专家子集下都能正常工作,部署时无论内存预算如何,都能从容应对。
此外,研究团队还发现在EMO里加入"共享专家"(一个始终对所有词都激活的专家,不参与路由选择)能进一步提升性能。同时,采用"前归一化"替代原版OLMoE模型的"重排序归一化",并去除QK归一化,也带来了稳定的性能提升。这些架构上的小改动累积起来,让这篇论文的基线MoE模型在仅用1万亿个词训练后,就超越了OLMoE(一个公开的标准MoE模型)用5万亿个词训练的性能——同样的架构理念,EMO也继承了这些改进。
四、实验设置:谁和谁比、怎么比
研究团队训练了两个对照模型:一个是按EMO新方式训练的,另一个是完全相同架构但用普通方式训练的标准MoE,两者都用了1万亿词的相同数据,激活参数都是10亿,总参数都是140亿,128个专家(127个可路由专家加1个共享专家),每次每个词激活8个专家。这样的对照设计确保任何性能差异都只来自训练目标本身,而非模型大小或数据差异。
评估分两个维度。第一个维度是"整体能力":把模型当作一个完整系统,测试它在广泛任务上的综合表现,包括MC9(9个多选题基准的平均值)、Gen5(5个生成任务的平均值)、MMLU(一个覆盖57个学科的综合知识测试)、MMLU-Pro(更难的升级版)以及GSM8K(小学数学推理题)。
第二个维度是"选择性专家使用":为某个特定领域(比如"生物学"或"数学")挑选出最相关的一部分专家,然后只用这部分专家来回答该领域的问题,测试缩减后的模型还能保留多少性能。选专家的方式有两种:一种是简单地统计哪些专家在处理该领域样本时被路由概率最高,排名靠前的就保留;另一种是使用一个叫Easy-EP的更复杂的最优化算法来选专家。两种方式都验证了,还额外测试了随机选专家作为下限参照。
五、实验结果:整体持平,局部大幅领先
整体能力测试的结果是:EMO和标准MoE势均力敌,各项分数非常接近。在1万亿词训练版本中,标准MoE的MMLU得分42.4,EMO是42.8;MC9分别是63.9和63.1;GSM8K分别是13.9和12.0。两者都远超参数量相当的密集模型(Dense)——这说明稀疏结构本身的优势是真实的,而EMO引入的新训练目标没有损害这种优势。EMO甚至在MMLU上略微超越了标准MoE,但总体来说两者的差异在统计上不显著,可以认为性能相当。
选择性专家使用的结果就大相径庭了。在MMLU上,标准MoE从128个专家缩减到32个(保留25%)时,性能从42.4掉到30.8,下降了11.6个百分点;缩减到16个(保留12.5%)时,性能更是跌到24.6,几乎和随机猜测差不多。EMO在相同的缩减下,从42.8降到41.4(保留25%,仅降1.4个点),降到16个专家时是39.9(仅降2.9个点)。即便只保留8个专家(6.2%),EMO依然有36.1分,而标准MoE此时仅剩22.7分,性能已经崩溃。
在数学推理任务GSM8K上,EMO的表现格外亮眼。保留8个专家经过微调后,EMO的表现(23.3分)与使用全部128个专家(27.8分)差距极小,而同样设置下标准MoE仅能达到4.5分,几乎完全失能。
更重要的是,EMO的16专家子集(只占总参数的12.5%)在MMLU上的表现,不仅超越了同等内存大小下从零训练的32专家标准MoE,甚至超过了同等计算量下从零训练的密集模型。这意味着不需要为每个领域单独训练一个小模型——只需要训练一个EMO,然后根据任务按需取用对应的专家子集,就能同时做到省内存、高性能。
无论用简单的路由概率选专家,还是用更复杂的Easy-EP算法选专家,EMO的表现都很稳健,两种方法的结果相差无几。相比之下,对普通MoE来说,哪怕用最好的专家选择算法,也挽救不了大幅缩减专家后的性能崩溃。这说明模块化能力必须在训练阶段就被"植入"模型,靠事后挑专家是无法补救的。
六、专家真的按领域分工了吗?数据说话
EMO在性能上的优势是否真的源于专家实现了语义级别的领域分工?研究团队设计了一系列分析来验证这一点。
第一个分析是对训练数据的词汇聚类实验。从12000篇文章中各取前100个词,提取每个词的路由概率分布(一个128维的向量,表示这个词"想用"哪些专家),然后用主成分分析降维、L2归一化,最终用球面k-means聚成32组。
在标准MoE里,这32组分别对应什么类型的词?答案是:第一组是词内部的子词碎片(比如把"unbelievable"切成"un""believ""able"后的那些碎片),第二组是介词(of/in/for/to/on/with),第三组是小品词和连词,第四组是冠词和所有格(the/my/your)……基本都是功能词、语法词。同一篇文章的词,被分散在十几二十个不同的簇里。
在EMO里,同样是32组,内容变成了:电影/音乐/电视/书评,个人博客与休闲评论,健康与医疗内容,技术支持与网页开发,新闻报道,源代码,生物医学研究,宗教与哲学……基本都是有明确领域含义的主题簇。同一篇文章的词,绝大多数都聚集在同一个簇里。研究团队为此专门做了一个交互式可视化网站(emovisualization.netlify.app),任何人都可以直观看到这种对比。
第二个分析是领域间的相似度矩阵。利用WebOrganizer数据集(一个对网页文档做了24个人工标注领域分类的大型数据集,研究团队使用了其中2000万篇文档),为每个领域构建一个"专家激活向量"(把该领域所有文章的路由概率平均起来),然后计算任意两个领域之间的余弦相似度。
结果以热力图形式展示时,标准MoE的热力图几乎全部是暖色调——所有领域之间的相似度都在0.6以上,意味着不管是"软件开发"还是"时尚美容"还是"运动健身",用的专家组合几乎一样,领域之间毫无区分度。EMO的热力图则冷热分明:相关领域之间(比如"软件开发"和"电子硬件")相似度较高,不相关领域之间(比如"源代码"和"宗教哲学")相似度低于0.4。而且这种分化随着网络层数加深而愈发清晰——早期层(第0层)各领域间区分不大,到了中后期层(第10层、第15层),EMO的领域分化已经非常明显,而标准MoE始终是一锅粥。
还有一个有趣的细节:每篇文章的第一个词会激活一个专有的"开篇专家簇",因为第一个词没有任何上下文。但从第二个词开始,模型就迅速进入了稳定的文档级路由模式,并在整篇文章中保持一致。这说明EMO在看到极少的内容后,就能快速判断"这篇文章属于哪个领域"并锁定对应的专家组合。
七、从一个模型变成一套"专科工具箱",还能怎么用?
研究团队在论文的未来方向部分,讨论了EMO除了节省内存之外,还能带来哪些更广泛的可能性。
第一个应用方向是对模型行为的精细控制。因为EMO的专家是按照语义领域聚集的,某些专家子集对应着"垃圾邮件/赌博/成人内容",某些对应着"生物医学研究",某些对应着"儿童教育内容"。面向不同应用场景部署时,可以主动关闭或屏蔽对应的专家子集,而不需要修改模型权重或重新训练。比如儿童教育类应用可以直接关掉那几个"不适宜内容"专家;对安全敏感的场景可以限制某些高风险领域的专家组合。这是一种比"训练数据过滤"更灵活、更动态的安全控制手段。
第二个应用方向是模块化开发和维护。当前的大模型更新需要把整个模型、所有数据、全部算力同时到位,才能重新训练。而如果模型是模块化的,就可以只针对某个领域的专家子集做单独的增量训练,然后把更新后的专家插回整体模型。研究团队做了一个初步验证:取出EMO里32个专家组成的数学子集,专门在数学数据上微调,然后把这32个专家替换回128专家的完整模型。替换后的完整模型在数学任务上比原来更好,虽然还没达到单独数学子集的最高水平,但证明了这条路是可行的。
第三个应用方向是可监测性和可调试性。当用户向模型提一个数学问题时,如果发现模型主要激活的是"创意写作"或"低质量网页内容"对应的专家,这个信号本身就值得警惕。专家激活模式提供了一种结构化的"行为信号",让开发者能更直观地理解和调试模型行为,而不是面对数以亿计的参数一筹莫展。
研究团队还专门测试了"退而求其次"的方案:如果已经有一个训练好的标准MoE,能不能用EMO的训练目标在退火阶段(训练末期的精调阶段)把它改造成模块化的?测试结果(被称为EMO-anneal)显示,这样做确实能让模型展现出一定的模块化特性,但在大多数任务和专家子集大小下,表现不如从头按EMO方式训练的模型。这说明模块化最好从预训练一开始就是第一目标,事后补救效果有限但仍然有价值。
说到底,EMO做的事情可以用一句话概括:让一个大模型学会"分科存储",这样部署的时候只需要"搬来用得上的那个科室",而不是整栋医院都挪过来。更关键的是,这种分科能力不是人工规划出来的,而是模型在读了一万亿个词之后自己学会的——唯一的监督信号,是每篇文章自然存在的开头和结尾。
这项研究的意义在于,它打破了一个长期以来被默认接受的前提:大模型必须以整体的形式存在和运行。一旦模型可以被可靠地分解成专题子集,许多事情就变得可能了——在边缘设备上运行大模型、按需付费使用特定能力、动态更新某一领域的知识而无需全量重训、更直观地理解和监控模型在做什么。
当然,这项研究目前还处于早期阶段,也有一些局限。EMO的专家子集在处理"跨领域混合"或"通用"任务时,比专门为该任务大小训练的小模型还要差一些——这是模块化设计的固有代价,专才在通才任务上未必比通才强。此外,目前的实验规模是140亿总参数,随着模型规模进一步扩大,EMO的训练开销和模块化效果是否依然成立,还需要进一步验证。
研究团队已将EMO模型和对照基线模型全部开源,并提供了完整的可视化工具,这对有志于在这个方向继续探索的研究者来说是一份难得的起点。如果你想亲眼看看那个"领域聚类热力图"或者EMO的专家激活可视化,emovisualization.netlify.app是个不错的入口;想查阅原始论文和代码,arXiv:2605.06663和github.com/allenai/EMO都有完整资料。
Q&A
Q1:EMO和普通MoE模型相比,整体能力上有没有损失?
A:在全模型评测中,EMO和普通MoE的表现非常接近,基本持平。以训练了1万亿词的版本为例,两者在MMLU、MC9等主流基准上相差不到一个百分点,说明EMO引入的文档级专家池限制并没有损害模型的整体通用能力,代价几乎为零。
Q2:EMO选专家需要多少标注数据?
A:EMO对专家选择非常"省数据"。实验表明,即使只用单个样本(带少样本示例的提示)就能选出有效的专家子集,性能几乎不下降。少量验证数据就足够完成专家选取,不需要额外的大规模标注。
Q3:EMO能不能用于已经训练好的普通MoE模型?
A:可以尝试,但效果不如从头训练EMO。研究团队测试了"EMO-anneal"方案,即在普通MoE训练完1万亿词后,再用EMO的文档级专家池目标进行退火微调(约500亿词)。结果显示这个方案确实能让模型具备一定的模块化特性,但在多数任务和专家子集大小上仍比从头训练的EMO差,说明模块化目标最好从预训练一开始就引入。