首页 > 教程攻略 > ai资讯 >AI模型中的混合专家(MoE)

AI模型中的混合专家(MoE)

来源:互联网 时间:2026-08-13 14:01:27

传统上,模型训练的权衡总是绕不开规模和计算资源这对矛盾。模型越大,通常性能越好,但计算需求也水涨船高。混合专家(MoE)的出现,打破了这种常规——它用更少的计算量就能完成预训练,相当于在同样的计算预算下,把模型或数据集的规模再往上推一大截。这就意味着,在预训练阶段,MoE模型可以更快地追平传统密集模型的质量水平。

AI模型中的混合专家(MoE)

什么是 MoE

定义和组件

从根本上看,MoE(特别是在Transformer模型里)由两个核心元素构成:稀疏MoE层和门网络(也叫路由器)。

稀疏 MoE 层和专家的作用

和Transformer中常见的密集前馈网络(FFN)不同,MoE用的是稀疏MoE层。每一层里都塞了好几个“专家”——每个专家本身就是一个神经网络,通常也是FFN结构。这些专家的复杂程度可以不一样,有趣的是,有的专家内部甚至还能再套一层MoE,形成分层的嵌套结构。

门网络功能

门网络的作用,就是决定把每个token路由给哪个专家。举例来说,token“更多”可能被分给一位专家,而“参数”则被分给另一位。这个路由过程不仅对MoE的运行至关重要,而且路由决策本身也很有讲究——路由器本身就是一个在预训练过程中不断学习的实体,它会跟着训练一起进化。

挑战和解决方案

训练和推理挑战

虽然MoE在预训练和推理速度上有优势,但也不是没有麻烦。

训练挑战

一个主要障碍是微调阶段的泛化问题——MoE容易过拟合。

推理挑战

参数很多,但每次推理只有其中一部分被激活,所以处理速度是快了。但这也意味着内存压力很大——不管哪些参数被激活,所有参数都得先加载到RAM里才行。

解决方案和策略

为了应对这些挑战,业界采用了各种策略。比如负载均衡,防止某些专家被过度使用;再比如引入辅助损失,保证所有专家都能公平地得到训练。

历史背景与演变

MoE的概念最早可以追溯到1991年的一篇论文《Adaptive Mixture of Local Experts》(局部专家的自适应混合)。那项早期工作为MoE奠定了基础,提出了一个由门控网络引导、各专家分别处理不同训练样本子集的系统。

2010年到2015年间,MoE的发展有了重要突破。其中就包括把MoE作为更深层网络的组件来使用,以及Yoshua Bengio提出的条件计算——根据输入数据动态激活网络组件。

稀疏性原则

稀疏性的概念

稀疏性这个概念,是Shazeer在翻译任务中探索MoE时引入的,它的基础就是条件计算。这样一来,模型规模可以扩大,但计算量不会同比增加,因此每个MoE层里可以塞下成千上万个专家。

门控机制

各种门控机制都有人试过,比如噪声Top-K门控。它在路由过程中加入噪声,然后选出前“k”个值,这样就在专家利用效率和多样性之间找到了平衡点。

MoE 在 Transformers 中

GShard在Transformer中实现的MoE,是大规模应用最典型的例子。它引入了随机路由、专家容量等新概念,确保了大规模负载和效率的平衡。

Switch Transformers 的突破

Switch Transformers是MoE领域的重大进展。它简化了路由过程,降低了通信成本,同时保持了模型质量。专家容量的概念在这里进一步完善,在token分配和计算效率之间取得了更好的平衡。

微调 MoE

微调MoE会带来独特的挑战,尤其是过拟合的问题。常用的策略包括提高专家内部的正则化强度、调整辅助损失等。另外,在微调过程中有选择地冻结MoE层的参数,在保持性能的同时简化了流程,也很有前景。

在小任务(左)中,能明显看到过拟合——稀疏模型在验证集上的表现差很多。而在较大的任务(右)中,MoE的表现则相当不错。这张图来自ST-MoE论文。

实际应用和未来方向

MoE已经在多个领域落地,尤其是语言翻译和大模型方面。它在AI领域的潜力还很大,正在进行的探索也在不断拓展新的应用场景。

一个方向是把稀疏的MoE蒸馏回参数更少但数量相当的密集模型。另一个方向是MoE的量化——2023年10月的QMoE迈出了一大步,把MoE量化到每个参数不到1比特,将原本需要3.2TB翻跟斗的1.6T Switch Transformer压缩到了仅160GB。