稀疏性作为一种缩放法则:关于大型语言模型中混合专家技术的综合技术报告
引言:条件计算的必要性
稠密模型的规模困境
在当代大型语言模型(LLM)的发展历程中,一个核心驱动力是所谓的"缩放法则"(Scaling Laws),该法则揭示了模型性能与参数数量、数据集规模以及训练计算量之间的强相关性[1](#1)。这一发现催生了一场军备竞赛,研究机构和企业纷纷致力于构建参数规模日益庞大的模型。然而,这种以规模换性能的策略在传统的"稠密"(Dense)架构中遇到了根本性的瓶颈。在稠密模型中,每一次前向传播(Forward Pass)都会激活模型中的每一个参数来处理输入的每一个令牌(Token)[2](#2)。这种设计导致了模型容量(总参数量)与推理成本(每次预测所需的计算量)之间存在直接且计算上难以承受的耦合关系[2](#2)。随着模型参数从数十亿扩展到数千亿,其训练和推理所需的计算资源呈爆炸式增长,使得进一步扩大规模在经济和工程上都变得愈发不可行。
MoE范式:解耦容量与计算
为了突破这一"规模困境",混合专家(Mixture-of-Experts, MoE)架构应运而生,它代表了向"条件计算"(Conditional Computation)范式的重大转变[3](#3)。MoE的核心思想是,一个模型可以拥有海量的参数(高容量),但在处理任何给定输入时,只激活其中一小部分最相关的参数子集[4](#4)。这种稀疏激活机制成功地将模型的总参数量与单次推理的计算成本解耦。
其结果是,MoE模型能够以显著更少的单令牌计算量(per-token compute)达到甚至超越规模远大于其激活参数量的稠密模型的性能水平,从而实现更快的预训练速度和更高效的推理过程[4](#4)。MoE的崛起从根本上重新定义了"模型规模"对性能的意义。它表明,模型性能的提升更多地来源于对一个庞大知识库(总参数)的访问能力,而非对每个令牌执行海量计算(激活参数)。例如,一个拥有1000亿总参数但每次只激活150亿参数的MoE模型,其表现可以优于一个700亿参数的稠密模型[5](#5)。这揭示了缩放的益处主要来自总参数量所提供的表征能力和知识存储,而针对特定令牌的推理或处理,则可以由一个更小、更专业的参数子集高效完成。因此,MoE不仅是一种效率优化技巧,更是一种关于智能如何缩放的新假设的架构体现。
混合专家模型的基础概念
历史前身
MoE的思想根源可以追溯到20世纪90年代初关于自适应学习系统和委员会机(Committee Machines)的早期研究[6](#6)。这些早期模型采用了一种集成学习的思路,将问题空间划分为多个子区域,并为每个区域训练一个"局部专家"(Local Expert)。一个"门控函数"(Gating Function)负责判断当前输入属于哪个区域,从而将任务分配给相应的专家[6](#6)。然而,这些经典的MoE模型通常是对所有专家的输出进行加权求和,其设计初衷更侧重于提升模型的模块化和专业化能力,而非节省计算成本[7](#7)。
现代突破:稀疏门控MoE
在深度学习时代,MoE的决定性转折点是Shazeer等人在2017年提出的"稀疏门控混合专家"(Sparsely-Gated Mixture-of-Experts, SMoE)层[8](#8)。这项工作革命性地引入了可训练的稀疏门控机制,使得在保持计算量不变的情况下,能够训练拥有数十亿甚至数万亿参数的模型[8](#8)。这一创新将MoE从一个理论概念转变为一种可行的、用于扩展神经网络(尤其是Transformer模型)规模的强大工程技术[8](#8)。
使MoE在现代LLM中变得可行的关键创新,是从"融合所有专家"到"选择少数专家"的理念转变。这是一个由深度学习硬件和模型规模的现实约束驱动的务实工程选择。经典MoE模型[7](#7)的设计虽然优雅,但对于深度学习范式而言计算效率低下,因为它要求为每个输入计算所有专家的输出。SMoE的开创性工作[9](#9)认识到计算是主要瓶颈。通过引入一个稀疏门控机制,该机制对给定令牌将大多数专家的门控值设为零,从而确保了只有一小部分网络子集被计算。这使得在不相应增加浮点运算次数(FLOPs)的情况下,可以大幅增加专家的总数(从而增加总参数量)。从全连接的专家集成到稀疏激活的专家选择,是实现像Mixtral和GLaM这类模型的唯一且最重要的概念飞跃。
核心架构组件
一个现代的MoE层主要由两个核心部分构成:
- 专家网络 (Expert Networks) :一组(例如N个)独立的子网络。在当前的LLM中,这些专家通常是具有独立参数的前馈网络(Feed-Forward Networks, FFNs)[10](#10)。
- 门控网络 (Gating Network) 或路由器 (Router) :一个规模较小、可训练的网络。它的作用是接收输入令牌的表征,并动态地决定应该由N个专家中的哪一个或哪几个来处理该令牌[10](#10)。
核心原理与数学表述
Transformer中的MoE层
在现代Transformer架构中,实现MoE的普遍做法是用一个MoE层来替换原来稠密的FFN子层[3](#3)。选择FFN层进行替换并非偶然。研究表明,在预训练的Transformer模型中存在一种"涌现的模块化"(Emergent Modularity)现象,即FFN层中的特定神经元与特定的任务或知识领域高度相关[11](#11)。这使得FFN层成为被拆分为离散专家模块的天然候选者,每个专家可以专注于学习数据的不同方面。
门控网络与专家评分
MoE层的计算过程始于门控网络(或称路由器),我们将其表示为 G G G。对于一个输入令牌的隐状态表征 x x x,门控网络会为全部 N N N 个专家计算一个 logit 得分。这通常通过一个简单的线性变换实现:
logits = x ⋅ W g \text{logits} = x \cdot W_g logits=x⋅Wg
其中, x x x 是维度为 d d d 的输入令牌的隐状态向量, W g W_g Wg 是一个可训练的权重矩阵,其形状为 ( d , N ) (d, N) (d,N)[10](#10)。
接着,这些 logit 得分会通过一个 Softmax 函数,生成一个在 N N N 个专家上的概率分布 P P P:
P = Softmax ( logits ) = Softmax ( x ⋅ W g ) P = \text{Softmax}(\text{logits}) = \text{Softmax}(x \cdot W_g) P=Softmax(logits)=Softmax(x⋅Wg)
在这个概率分布 P P P 中,第 i i i 个元素 P i P_i Pi 代表了门控网络认为专家 i i i 是处理输入 x x x 的正确选择的置信度[10](#10)。
稀疏门控与最终输出计算
SMoE的核心在于其门控向量 G ( x ) G(x) G(x) 是稀疏的。它并不使用 P P P 中的所有概率值,而是通过一个选择机制(如 Top-K)来挑选少数几个专家。
MoE层的最终输出 y y y 是被激活 的专家输出的加权和。假设被选中的专家索引集合为 I I I,则最终输出 y y y 的计算公式为:
y = ∑ i ∈ I G ( x ) i ⋅ E i ( x ) y = \sum_{i \in I} G(x)_i \cdot E_i(x) y=∑i∈IG(x)i⋅Ei(x)
其中, E i ( x ) E_i(x) Ei(x) 是专家 i i i 对输入 x x x 的输出, G ( x ) i G(x)_i G(x)i 是专家 i i i 经过重新归一化后的门控值。对于所有未被选中的专家 j ∉ I j \notin I j∈/I,其门控值 G ( x ) j G(x)_j G(x)j 被强制设为 0[10](#10)。这个稀疏化步骤确保了只有集合 I I I 中的专家的计算被实际执行,从而实现了条件计算。
这种数学表述揭示了一个深层结构:门控网络本身就是一个嵌入在每个MoE层中的微型分类模型。这种"模型中的模型"结构引入了独特的训练动态和优化挑战,这在稠密模型中是不存在的。门控网络的公式 P = Softmax ( x ⋅ W g ) P = \text{Softmax}(x \cdot W_g) P=Softmax(x⋅Wg) 与一个简单线性分类器的输出层在数学上是等价的[12](#12)。对于每个令牌,门控网络实际上在执行一个分类任务,其"类别"就是 N N N 个专家。这一事实带来了几个重要推论:
- 门控网络需要被有效训练,这就是为什么最初认为 Top-K 中 k k k 值大于 1 是必要的,因为这能为路由器提供更丰富的梯度信号以进行学习[13](#13)。
- 与任何分类器一样,它可能遭受"类别不平衡"问题,即路由器倾向于选择某些专家,这正是 MoE 中的负载均衡问题[7](#7)。
- 路由决策高度依赖于输入表征 x x x 的质量。这产生了一种相互依赖的学习动态:主干网络必须学习到高质量的表征以供路由器使用,而路由器必须学会做出正确的路由决策以促进专家的专业化。这种相互依赖关系是 MoE 文献中经常提到的训练不稳定性的根源之一[14](#14)。
专家选择(路由)与负载均衡:MoE的核心机制
MoE架构的性能和效率在很大程度上取决于两个相互关联的核心机制:专家选择(路由)算法和负载均衡策略。
标准路由策略:Top-K门控
目前最主流的路由策略是 Top-K 门控 。在该策略下,门控网络会从 N N N 个专家中选择得分最高的 k k k 个[15](#15)。
被选中的 k k k 个专家的门控值(即权重)通过对它们的原始概率进行重新归一化(通常是再次应用 Softmax)得到,而所有其他未被选中专家的门控值则被设为 0。其形式化定义如下:
g i ( x ) = { P i ∑ j ∈ TopK ( P ) P j if i ∈ TopK ( P ) 0 if i ∉ TopK ( P ) g_i(x) = \begin{cases} \frac{P_i}{\sum_{j \in \text{TopK}(P)} P_j} & \text{if } i \in \text{TopK}(P) \\ 0 & \text{if } i \notin \text{TopK}(P) \end{cases} gi(x)={∑j∈TopK(P)PjPi0if i∈TopK(P)if i∈/TopK(P)
其中, TopK ( P ) \text{TopK}(P) TopK(P) 函数返回概率向量 P P P 中 k k k 个最大值的索引集合[12](#12)。在实践中, k k k 通常是一个很小的值,例如 Switch Transformer 中为 1[16](#16),而在 GLaM 和 Mixtral 中为 2[5](#5)。
高级路由策略
随着研究的深入,学术界和工业界探索了超越标准 Top-K 的更复杂的路由策略,旨在提升模型的性能和训练稳定性。
- 带噪声的 Top-K 门控 (Noisy Top-K Gating) :为了改善负载均衡并防止路由器"收敛"到只选择少数几个专家,Shazeer 等人引入了在 Top-K 选择之前向门控 logits 添加可调高斯噪声的方法[8](#8)。其计算公式为:
H ( x ) i = ( x ⋅ W g ) i + StandardNormal ( ) ⋅ Softplus ( ( x ⋅ W noise ) i ) H(x)_i = (x \cdot W_g)i + \text{StandardNormal}() \cdot \text{Softplus}((x \cdot W{\text{noise}})_i) H(x)i=(x⋅Wg)i+StandardNormal()⋅Softplus((x⋅Wnoise)i)
最终的门控值则为 G ( x ) = Softmax ( KeepTopK ( H ( x ) , k ) ) G(x) = \text{Softmax}(\text{KeepTopK}(H(x), k)) G(x)=Softmax(KeepTopK(H(x),k))[10](#10)。这种噪声在训练期间鼓励了对专家选择的探索,有助于实现更均匀的负载分配。
- 动态与自适应路由 (Dynamic and Adaptive Routing) :这是 MoE 研究的一个前沿方向,旨在摆脱静态 k k k 值的限制。
- 基于置信度的路由 (Confidence-Based Routing) :不选择固定数量的 k k k 个专家,而是按概率高低依次激活专家,直到它们的累积概率总和超过某个预设的置信度阈值。这种方法允许简单的令牌使用较少的专家,而复杂的令牌则可以动用更多的专家资源[12](#12)。
- Ada-K 路由 (Ada-K Routing) :利用强化学习算法(特别是 PPO)来训练一个轻量级的"分配器模块"。该模块可以根据每个令牌的上下文动态地决定最优的 k k k 值,从而在模型性能和计算成本之间取得更好的平衡[17](#17)。
- 专家选择路由 (Expert Choice Routing) :这种策略颠覆了传统的路由逻辑。它不是让令牌选择专家,而是让每个专家从一个批次(batch)中选择它最想处理的 k k k 个令牌。这种方法从设计上保证了完美的负载均衡(每个专家处理的令牌数量完全相同),但其代价是可能存在某些令牌未被任何专家选中(即"令牌掉落")的风险[18](#18)。
从静态 Top-K 到动态自适应路由策略的演进,标志着一个重要的视角转变:从以硬件为中心(每个令牌的计算量固定)转向以智能为中心(根据问题难度分配计算资源)。静态 Top-K[12](#12) 简单且可预测,非常适合硬件优化,因为每个令牌触发的计算量都相同。然而,从建模的角度来看,这并不高效,因为并非所有令牌都具有同等的处理难度。像 Ada-K[17](#17) 或基于置信度的路由[19](#19) 这样的动态策略引入了可变的计算图。它们体现了一个原则,即模型应该在更复杂的输入上"思考得更努力"(即使用更多的专家/计算)。这是条件计算的一种更复杂的形式,也是迈向更高效、更强大推理系统的关键一步。
负载均衡的关键性
MoE 训练中的一个核心挑战是负载不均衡 (Load Imbalance)。在这种情况下,门控网络在训练过程中学会了偏爱一小部分专家,导致这些专家被过度使用,而其他专家则很少被激活。这不仅造成了模型参数的巨大浪费,也使得未被充分训练的专家无法发挥作用,同时还降低了硬件的并行计算效率[14](#14)。
为了解决这个问题,研究者们通常会在主训练目标(如交叉熵损失)之外,额外引入一个辅助负载均衡损失 (Auxiliary Load Balancing Loss)。Switch Transformer[20](#20) 提出了一种被广泛采用的损失函数形式。对于一个包含 T T T 个令牌的批次和 N N N 个专家,该辅助损失的计算公式为:
loss aux = α ⋅ N ⋅ ∑ i = 1 N f i ⋅ P i \text{loss}{\text{aux}} = \alpha \cdot N \cdot \sum{i=1}^N f_i \cdot P_i lossaux=α⋅N⋅∑i=1Nfi⋅Pi
其中:
- α \alpha α 是一个超参数,用于缩放该损失项的重要性,通常取一个较小的值,如 0.01[20](#20)。
- f i f_i fi 是该批次中被分配给专家 i i i 的令牌所占的比例[20](#20)。
- P i P_i Pi 是门控网络在该批次中分配给专家 i i i 的平均路由概率[20](#20)。
当令牌在所有专家之间均匀分布时,即 f i f_i fi 和 P i P_i Pi 都趋近于 1 / N 1/N 1/N 时,该辅助损失达到最小值。通过最小化这个损失,可以激励门控网络将令牌更均匀地分配给所有专家。
专业化与均衡的困境
尽管辅助损失在工程上解决了负载均衡问题,但它也引入了一个根本性的矛盾:专业化与均衡的困境 。一方面,我们希望专家能够"各司其职",发展出针对特定数据分布或任务的专业能力。另一方面,负载均衡损失却强制要求所有专家被均匀地使用,这直接抑制了任何专家专注于某个小众(因此出现频率较低)数据领域的可能性[21](#21)。
这种矛盾可能导致一个"自我强化的恶性循环":均匀的路由策略阻碍了专家的专业化发展,而由此产生的专家同质化又使得路由器更难找到进行专业化路由的依据[21](#21)。为了打破这一困境,近期的研究开始探索新的解决方案,例如在保持负载均衡损失的同时,引入额外的正交性损失 (Orthogonality Loss),以明确鼓励专家之间的功能多样性和专业化[21](#21)。
从更深层次看,负载均衡损失可以被视为一个"补丁",它掩盖了一个更深层次的架构问题:路由器的优化目标(将令牌准确分类到最合适的专家)与系统对硬件利用率的需求(所有并行单元均匀负载)之间的不一致。在没有外部约束的情况下,路由器会为了优化预测准确性而自然地将大多数令牌发送给少数几个能力最强的专家[22](#22)。然而,硬件在所有并行单元(如承载专家的 GPU)都同等繁忙时效率最高[23](#23)。辅助损失[20](#20) 作为一个外部约束,强迫路由器的行为与硬件需求对齐,但这是以牺牲其自身优化目标为代价的[21](#21)。这预示着,未来更优雅的架构可能会将负载均衡的概念直接整合到路由机制本身(例如专家选择路由[18](#18),尽管它有其自身的问题),而不是将其作为一个附加的惩罚项。
著名 MoE 架构巡览
本节将对几个里程碑式的 MoE 模型进行详细的比较分析,重点突出它们的架构选择和核心贡献。
稀疏门控 MoE (Sparsely-Gated MoE, 2017)
这是由 Shazeer 等人提出的开创性工作,首次将稀疏门控机制应用于 LSTM 模型,证明了在保持计算量恒定的前提下,将模型扩展至数十亿参数是可行的[8](#8)。该模型采用了带噪声的 Top-K 门控策略,为后续的 MoE 研究奠定了基础。
Switch Transformer (2021)
由 Google 的 Fedus 等人提出的 Switch Transformer 是 MoE 发展史上的一个重要里程碑,其核心贡献在于对 MoE 架构的极致简化以追求效率。它用一个 Top-1( k = 1 k=1 k=1) 的"开关"式路由器取代了传统的 Top-K 路由[16](#16)。这一简化不仅降低了路由计算和通信开销,而且实验证明其模型质量不降反升。此外,它还引入了前文所述的简化版辅助负载均衡损失函数[24](#24)。凭借这些创新,Switch Transformer 成功地将模型规模扩展到了万亿参数级别,充分展示了 MoE 架构的巨大潜力[20](#20)。
GLaM (2021)
GLaM(Generalist Language Model)是 Google 提出的另一个超大规模 MoE 模型,拥有 1.2 万亿参数。该模型的一个重要贡献是,它在多个基准测试中证明了 MoE 模型相比于同期的顶级稠密模型(如 GPT-3)具有显著的性能和效率优势[25](#25)。GLaM 的架构选择是 Top-2( k = 2 k=2 k=2)路由 ,每个 MoE 层包含 64 个专家,这表明激活第二个专家对于提升模型性能是有益的[26](#26)。与 Switch Transformer 将所有 FFN 层替换为 MoE 层不同,GLaM 采取了隔层替换的策略,即在每两个 Transformer 块中放置一个 MoE 层[27](#27)。
Mixtral 8x7B (2024)
由 Mistral AI 发布的 Mixtral 8x7B 是一个极具影响力的开源 SMoE 模型,它的出现极大地推动了 MoE 技术在开源社区和工业界的普及[5](#5)。其架构设计精炼而高效:每个 MoE 层包含 8 个专家,并采用 Top-2( k = 2 k=2 k=2)路由 [5](#5)。模型的命名"8x7B"指的是 8 个约 70 亿参数的专家。其总参数量约为 470 亿,但在推理时,对于任意给定的令牌,只有约 130 亿参数被激活(包括共享的自注意力层参数和 2 个专家的参数)[5](#5)。这种设计使得 Mixtral 8x7B 能够以一个小型模型的推理速度,达到甚至超越一个规模远大于其激活参数的稠密模型(如 Llama 2 70B)的性能水平[5](#5)。
下表对这些里程碑式的 MoE 架构的关键设计选择进行了结构化比较,以便清晰地展示 MoE 设计理念的演进和不同架构之间的权衡。
模型名称 | 基础架构 | 总参数量 | 激活参数量 | 每 MoE 层专家数 | Top-K 值 | 核心贡献 |
---|---|---|---|---|---|---|
Sparsely-Gated MoE | LSTM | ~137B | - | 高达 2048 | k > 1 k > 1 k>1 (带噪声) | 首次提出稀疏门控,证明了 MoE 在深度学习中的可行性^[9](#模型名称 基础架构 总参数量 激活参数量 每 MoE 层专家数 Top-K 值 核心贡献 Sparsely-Gated MoE LSTM ~137B - 高达 2048 k > 1 k > 1 k>1 (带噪声) 首次提出稀疏门控,证明了 MoE 在深度学习中的可行性9 Switch Transformer Transformer 高达 1.6T - 128-2048 1 极致简化为 Top-1 路由,提升效率,引入简化版辅助损失16 GLaM Transformer 1.2T 97B 64 2 证明了 MoE 相比顶级稠密模型 (GPT-3) 的效率和性能优势25 Mixtral 8x7B Transformer 47B 13B 8 2 高效的开源实现,推动了 MoE 技术的广泛应用5 DeepSeek-MoE Transformer 16B 2.8B 64 (含 2 个共享专家) 6 采用细粒度专家和共享专家设计,探索更复杂的专家分工21)^ |
Switch Transformer | Transformer | 高达 1.6T | - | 128-2048 | 1 | 极致简化为 Top-1 路由,提升效率,引入简化版辅助损失^[16](#模型名称 基础架构 总参数量 激活参数量 每 MoE 层专家数 Top-K 值 核心贡献 Sparsely-Gated MoE LSTM ~137B - 高达 2048 k > 1 k > 1 k>1 (带噪声) 首次提出稀疏门控,证明了 MoE 在深度学习中的可行性9 Switch Transformer Transformer 高达 1.6T - 128-2048 1 极致简化为 Top-1 路由,提升效率,引入简化版辅助损失16 GLaM Transformer 1.2T 97B 64 2 证明了 MoE 相比顶级稠密模型 (GPT-3) 的效率和性能优势25 Mixtral 8x7B Transformer 47B 13B 8 2 高效的开源实现,推动了 MoE 技术的广泛应用5 DeepSeek-MoE Transformer 16B 2.8B 64 (含 2 个共享专家) 6 采用细粒度专家和共享专家设计,探索更复杂的专家分工21)^ |
GLaM | Transformer | 1.2T | 97B | 64 | 2 | 证明了 MoE 相比顶级稠密模型 (GPT-3) 的效率和性能优势^[25](#模型名称 基础架构 总参数量 激活参数量 每 MoE 层专家数 Top-K 值 核心贡献 Sparsely-Gated MoE LSTM ~137B - 高达 2048 k > 1 k > 1 k>1 (带噪声) 首次提出稀疏门控,证明了 MoE 在深度学习中的可行性9 Switch Transformer Transformer 高达 1.6T - 128-2048 1 极致简化为 Top-1 路由,提升效率,引入简化版辅助损失16 GLaM Transformer 1.2T 97B 64 2 证明了 MoE 相比顶级稠密模型 (GPT-3) 的效率和性能优势25 Mixtral 8x7B Transformer 47B 13B 8 2 高效的开源实现,推动了 MoE 技术的广泛应用5 DeepSeek-MoE Transformer 16B 2.8B 64 (含 2 个共享专家) 6 采用细粒度专家和共享专家设计,探索更复杂的专家分工21)^ |
Mixtral 8x7B | Transformer | 47B | 13B | 8 | 2 | 高效的开源实现,推动了 MoE 技术的广泛应用^[5](#模型名称 基础架构 总参数量 激活参数量 每 MoE 层专家数 Top-K 值 核心贡献 Sparsely-Gated MoE LSTM ~137B - 高达 2048 k > 1 k > 1 k>1 (带噪声) 首次提出稀疏门控,证明了 MoE 在深度学习中的可行性9 Switch Transformer Transformer 高达 1.6T - 128-2048 1 极致简化为 Top-1 路由,提升效率,引入简化版辅助损失16 GLaM Transformer 1.2T 97B 64 2 证明了 MoE 相比顶级稠密模型 (GPT-3) 的效率和性能优势25 Mixtral 8x7B Transformer 47B 13B 8 2 高效的开源实现,推动了 MoE 技术的广泛应用5 DeepSeek-MoE Transformer 16B 2.8B 64 (含 2 个共享专家) 6 采用细粒度专家和共享专家设计,探索更复杂的专家分工21)^ |
DeepSeek-MoE | Transformer | 16B | 2.8B | 64 (含 2 个共享专家) | 6 | 采用细粒度专家和共享专家设计,探索更复杂的专家分工^[21](#模型名称 基础架构 总参数量 激活参数量 每 MoE 层专家数 Top-K 值 核心贡献 Sparsely-Gated MoE LSTM ~137B - 高达 2048 k > 1 k > 1 k>1 (带噪声) 首次提出稀疏门控,证明了 MoE 在深度学习中的可行性9 Switch Transformer Transformer 高达 1.6T - 128-2048 1 极致简化为 Top-1 路由,提升效率,引入简化版辅助损失16 GLaM Transformer 1.2T 97B 64 2 证明了 MoE 相比顶级稠密模型 (GPT-3) 的效率和性能优势25 Mixtral 8x7B Transformer 47B 13B 8 2 高效的开源实现,推动了 MoE 技术的广泛应用5 DeepSeek-MoE Transformer 16B 2.8B 64 (含 2 个共享专家) 6 采用细粒度专家和共享专家设计,探索更复杂的专家分工21)^ |
系统级实现:训练与推理
MoE 架构虽然在理论上极具吸引力,但其在实际系统中的部署,无论是训练还是推理,都带来了独特的工程挑战。
分布式训练与通信瓶颈
- 专家并行 (Expert Parallelism) :这是训练 MoE 模型的基础并行策略。由于 MoE 模型的总参数量巨大,通常无法装入单个计算设备(如 GPU),因此需要将不同的专家分布到不同的设备上[23](#23)。这本质上是一种模型并行(Model Parallelism)[28](#28)。
- All-to-All 通信 :专家并行的实现不可避免地引入了 All-to-All 通信原语。在每个 MoE 层,每个 GPU 都需要将其计算的、但需要由其他 GPU 上的专家处理的令牌发送出去,同时接收其他 GPU 发送过来的、需要由其本地专家处理的令牌[29](#29)。在一次完整的前向和后向传播中,每个 MoE 层都需要执行两次这样的 All-to-All 操作(一次用于分发令牌,一次用于聚合专家输出)[29](#29)。
- 瓶颈的转移 :随着 GPU 计算能力的飞速提升(例如 NVIDIA Hopper 架构),计算本身的时间被大幅压缩,导致 All-to-All 通信成为 MoE 训练中最主要的性能瓶颈。在某些情况下,通信开销甚至能占到总训练时间的 30% 到 50%[30](#30)。
- 优化策略 :为了缓解这一瓶颈,研究者们开发了多种先进的并行策略和调度算法。例如,MoE 并行折叠 (MoE Parallel Folding) [31](#31) 和 通信感知调度 (Communication-aware Scheduling) [29](#29) 等技术,旨在通过更智能的并行方案减少通信量,或者将通信与计算进行重叠,以掩盖通信延迟。
MoE 推理优化
MoE 模型的推理挑战与训练不同。其主要瓶颈并非计算量(FLOPs),而是巨大的内存占用。
-
内存墙 (The Memory Wall) :在推理时,模型的所有参数,无论是否被激活,都必须加载到高速的 GPU 显存(VRAM)中。这导致 MoE 模型的内存需求极其庞大,远超同等激活参数量的稠密模型,成为部署的最大障碍[10](#10)。
-
面向 MoE 的模型压缩:
- 训练后量化 (Post-Training Quantization, PTQ) :将模型参数从高精度(如 FP16)转换为低精度(如 INT8 或 INT4)是通用的模型压缩技术。然而,标准的 PTQ 方法在 MoE 模型上效果不佳,甚至会导致严重的性能下降[32](#32)。这主要是由 MoE 的独特性质造成的:
- 专家间不平衡 (Inter-expert Imbalance) :使用频率较低的专家缺乏足够的校准数据,导致量化不准确[32](#32)。
- 路由器敏感性 (Router Sensitivity) :路由器的决策(即 logits)对量化引入的微小误差非常敏感,容易导致错误的路由决策[33](#33)。
- 异构敏感性 (Heterogeneous Sensitivity) :MoE 层内部的不同部分(如专家的上投影层和下投影层)对量化误差的敏感度不同,需要差异化的处理[34](#34)。
- MoE 感知量化 (MoE-Aware Quantization) :为了应对这些挑战,研究界开发了专门针对 MoE 的量化框架,如 MoE-Quant[32](#32) 和 EAQuant[33](#33)。这些框架引入了新技术,例如:
- 专家均衡自采样 (Expert-Balanced Self-Sampling, EBSS) :构建一个在专家间分布均衡的校准数据集[32](#32)。
- 亲和力引导量化 (Affinity-Guided Quantization, AGQ) :在量化过程中考虑令牌与专家之间的关联强度[32](#32)。
- 路由器 Logits 分布对齐 (Router Logits Distribution Alignment) :通过特定技术保持量化前后路由器输出分布的一致性,以减少路由错误[33](#33)。
- 训练后量化 (Post-Training Quantization, PTQ) :将模型参数从高精度(如 FP16)转换为低精度(如 INT8 或 INT4)是通用的模型压缩技术。然而,标准的 PTQ 方法在 MoE 模型上效果不佳,甚至会导致严重的性能下降[32](#32)。这主要是由 MoE 的独特性质造成的:
-
内存与延迟优化:
- 专家卸载 (Expert Offloading) :这是一种关键的内存优化技术。它将当前不活跃的专家从高速但昂贵的 GPU VRAM 中移出,存放到速度较慢但容量更大的 CPU RAM 或 NVMe 固态硬盘中。当需要这些专家时,再将它们加载回 VRAM。这种方法以增加一定的访问延迟为代价,显著降低了对 VRAM 的峰值需求[35](#35)。
- 专家合并 (Expert Merging, MEO) :这是一种推理时优化技术。它不在计算前选择专家,而是在计算时,将被选中的 k k k 个专家的权重进行算术合并(加权求和),形成一个临时的"融合专家",然后只对这个融合专家执行一次前向传播。这巧妙地将 k k k 次专家计算的开销压缩为一次,极大地降低了计算延迟[36](#36)。其数学原理可以表示为:
y i = σ ( ( ∑ k ∈ T G k ( x i ) ⋅ W k ) x i + ( ∑ k ∈ T G k ( x i ) ⋅ b k ) ) y_i = \sigma \left( \left( \sum_{k \in T} G_k(x_i) \cdot W_k \right) x_i + \left( \sum_{k \in T} G_k(x_i) \cdot b_k \right) \right) yi=σ((∑k∈TGk(xi)⋅Wk)xi+(∑k∈TGk(xi)⋅bk))
其中 W k W_k Wk 和 b k b_k bk 是专家 k k k 的权重和偏置[36](#36)。
- MoE 的推测解码 (Speculative Decoding for MoE) :近期的研究发现,在特定条件下(如中等批次大小),推测解码技术在 MoE 模型上比在稠密模型上能获得更大的加速比,这为降低 MoE 模型的生成延迟提供了新的途径[37](#37)。
MoE 的工程挑战正在催生一个全新的领域------"稀疏感知系统"(Sparsity-aware Systems)。从并行策略、通信原语到量化算法和推理服务器,整个深度学习系统堆栈都必须重新设计,以高效地处理条件计算。稠密模型受益于成熟、易于理解的系统优化。而 MoE 打破了这些既有假设[38](#38)。对 All-to-All 通信的需求催生了对新网络拓扑和调度的研究[39](#39)。巨大的内存占用要求复杂的内存管理技术,如专家卸载[35](#35)。标准 PTQ 的失效导致了全新的、专为 MoE 设计的量化框架的诞生[32](#32)。这表明,MoE 不仅仅是一种新的模型架构,它是推动整个深度学习系统堆栈创新的催化剂。
此外,MoE 推理优化存在一种静态与动态优化的权衡。静态优化(如量化或专家合并)通过修改模型本身来获得普适的效率提升。而动态优化(如专家卸载或自适应路由)则根据当前的实时工作负载做出决策。量化[40](#40) 和专家合并[36](#36) 旨在创建一个更高效但固定的模型进行服务,其收益在不同请求间是一致的。相比之下,专家卸载[41](#41) 和动态路由[17](#17) 是运行时过程,它们可以适应变化的条件(例如,根据最近的请求模式卸载不常用的专家),但自身也引入了开销(如数据传输延迟、路由策略的计算成本)。最先进的推理系统很可能需要将两者结合:一个经过静态优化的模型(已量化、可合并),部署在一个能够进行动态资源管理的系统之上。
批判性分析与未来研究方向
解构"专业性":专家究竟学到了什么?
"专家"这个比喻虽然直观,但在学术上需要进行严格的审视。大量的实证分析表明,MoE 模型中的专家们往往没有形成清晰的、人类可以轻易理解的专业分工(例如,一个专门处理代码的"编程专家"或一个"历史专家")[42](#42)。
近期研究提出了一些替代性的假说来解释专家的行为[43](#43):
- 神经元作为微专家:FFN 中的单个神经元可能扮演着更细粒度的"微专家"角色。
- 基于启发式的路由:路由器可能学会了基于一些简单的启发式规则来选择专家,例如选择那些输出范数(output norm)较大的专家,而不是基于深层的语义理解。
- 知识冗余与专业化 :一些研究表明,为了满足负载均衡的要求,许多专家可能会学会复制通用的核心知识(如语言的语法结构),而只在处理更小众的信息时才体现出专业化,这导致了知识的冗余[7](#7)。
这种模糊性是当前 MoE 领域一个核心的开放性问题:MoE 究竟是通往模块化、可解释知识表示的康庄大道,还是一种极其有效的结构化稀疏技术?[43](#43)。
整个 MoE 领域目前正运行在一个强大的经验性结论之上------稀疏性对于模型缩放是有效的------但仍然缺乏一个完整的理论基础来解释其工作原理。关于"专家学到了什么"的争论正是这一理论空白最明显的体现。我们有充分的证据表明,在同等计算成本下,MoE 模型优于稠密模型[44](#44)。我们已经开发出成熟的系统来训练和服务它们[45](#45)。然而,"专业化"这一核心机制的本质仍然难以捉摸[46](#46)。我们实际上是在优化一个高效的"黑箱"。这表明,未来的重大突破可能来自于更深层次的理论理解。如果我们能够真正地控制和引导有意义的专业化,我们或许能解锁远超当前模型的能力,例如实现定点知识编辑、更好的可解释性以及更鲁棒的迁移学习。当前对性能和效率的研究是必要的,但下一个前沿将是理解和控制其内部的知识表征。
开放性挑战与研究前沿
综合本报告的分析,MoE 领域面临的关键挑战和未来的研究方向可归纳如下[14](#14):
- 训练稳定性与专业化/均衡困境 :开发更先进的路由算法和损失函数,既能鼓励真正的专家专业化,又能维持高效的负载均衡[14](#14)。
- 通信开销 :作为当前的主要瓶颈,开发新颖的硬件互联技术、通信规避算法以及更高效的并行策略至关重要[14](#14)。
- 高效推理 :通过更好的模型压缩(量化、剪枝)、动态路由和软硬件协同设计,持续降低 MoE 模型的内存和延迟开销[47](#47)。
- 理论理解 :建立一个更深层次的理论框架,以解释 MoE 的工作原理,包括专家专业化的动态过程和路由函数的数学性质[4](#4)。
- 新颖架构 :探索层级式 MoE(Hierarchical MoE)、稠密-MoE 混合模型(如 Snowflake Arctic 2),以及将 MoE 与检索增强生成(RAG)、智能体(Agent)等其他范式相结合[6](#6)。
- MoE 特定操作 :研究在稀疏架构背景下,除了标准训练之外的新型操作,例如模型遗忘(Unlearning)[48](#48) 或模型合并(Model Merging)[49](#49)。
结论:稀疏性在大型语言模型未来中的主导地位
本报告对大型语言模型中的混合专家(MoE)技术进行了系统性的梳理和深入分析。综合各项证据,可以得出结论:基于稀疏激活的条件计算是当前扩展大型语言模型最可行的路径。
MoE 的核心架构原则------由可训练的路由器动态选择一部分专家进行计算------成功地解耦了模型的知识容量与单次推理的计算成本。这一范式转变使得我们能够构建参数规模空前庞大的模型,同时将训练和推理的开销控制在可接受的范围内。然而,这种收益并非没有代价。本报告详细阐述了 MoE 所面临的关键权衡,包括专家专业化与负载均衡之间的内在矛盾,以及推理时巨大的内存占用与计算效率之间的冲突。
为了应对这些挑战,一个完整的、围绕 MoE 的工程生态系统已经形成。从专家并行、通信优化等分布式训练策略,到 MoE 感知的量化、专家卸载和专家合并等推理优化技术,整个系统堆栈都在为适应稀疏计算而进行创新。
尽管在理论理解、训练稳定性和系统效率等方面仍有许多开放性问题亟待解决,但 MoE 在提升训练效率和模型性能方面所展现出的压倒性优势,已经使其从一种小众技术,发展成为未来大规模人工智能开发的核心支柱之一[6](#6)。稀疏性,作为一种新的缩放法则,正在引领大型语言模型走向一个更加高效和强大的未来。
参考文献
-
Can Mixture-of-Experts Surpass Dense LLMs Under Strictly Equal Resources? arXiv, accessed July 28, 2025, https://arxiv.org/pdf/2506.12119 ↩︎
-
MoE vs Dense vs Hybrid LLM architectures | hybridMoe -- Weights & Biases. Wandb, accessed July 28, 2025, https://wandb.ai/zaiinn440/hybridMoe/reports/MoE-vs-Dense-vs-Hybrid-LLM-architectures--Vmlldzo3NzYwNzAw ↩︎ ↩︎
-
What is mixture of experts? IBM, accessed July 28, 2025, https://www.ibm.com/think/topics/mixture-of-experts ↩︎ ↩︎
-
Can Mixture-of-Experts Surpass Dense LLMs Under Strictly Equal Resources? arXiv, accessed July 28, 2025, https://arxiv.org/html/2506.12119v1 ↩︎ ↩︎ ↩︎
-
Mixtral of Experts. accessed July 28, 2025, http://arxiv.org/pdf/2401.04088 ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎
-
Mixture of Experts in Large Language Models. arXiv, accessed July 28, 2025, https://arxiv.org/html/2507.11181v1 ↩︎ ↩︎ ↩︎ ↩︎
-
Mixture of experts. Wikipedia, accessed July 28, 2025, https://en.wikipedia.org/wiki/Mixture_of_experts ↩︎ ↩︎ ↩︎ ↩︎
-
Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer. accessed July 28, 2025, https://www.researchgate.net/publication/312619873_Outrageously_Large_Neural_Networks_The_Sparsely-Gated_Mixture-of-Experts_Layer ↩︎ ↩︎ ↩︎ ↩︎ ↩︎
-
OUTRAGEOUSLY LARGE NEURAL NETWORKS: THE SPARSELY-GATED MIXTURE-OF-EXPERTS LAYER. accessed July 28, 2025, http://cslt.org/mediawiki/images/f/f0/OUTRAGEOUSLYLARGENEURALNETWORKSTHESPARSELY-GATEDMIXTURE-OF-EXPERTSLAYER.pdf ↩︎ ↩︎
-
Mixture of Experts Explained. Hugging Face, accessed July 28, 2025, https://huggingface.co/blog/moe ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎
-
A Comprehensive Survey of Mixture-of-Experts: Algorithms, Theory, and Applications. arXiv, accessed July 28, 2025, https://arxiv.org/html/2503.07137v1?utm_source=chatgpt.com ↩︎
-
arXiv.org, accessed July 28, 2025, https://arxiv.org/html/2403.07652v1 ↩︎ ↩︎ ↩︎ ↩︎
-
OUTRAGEOUSLY LARGE NEURAL NETWORKS: THE SPARSELY-GATED MIXTURE-OF-EXPERTS LAYER. OpenReview, accessed July 28, 2025, https://openreview.net/references/pdf?id=B1cg-FK7g ↩︎
-
Harnessing the Power of Mixture-of-Experts (MoE): Innovations for Scaling Large Language Models. John, accessed July 28, 2025, https://llms-blog.medium.com/harnessing-the-power-of-mixture-of-experts-moe-innovations-for-scaling-large-language-models-1bd4aa7b5c2c ↩︎ ↩︎ ↩︎ ↩︎ ↩︎
-
Mixture of Experts LLMs: Key Concepts Explained. neptune.ai, accessed July 28, 2025, https://neptune.ai/blog/mixture-of-experts-llms ↩︎
-
Switch transformers: Scaling to trillion parameter models with simple and efficient sparsity. Alastair Reid, accessed July 28, 2025, https://alastairreid.github.io/RelatedWork/papers/fedus:arxiv:2021/ ↩︎ ↩︎ ↩︎
-
Ada-K Routing: Boosting the Efficiency of MoE-based LLMs. accessed July 28, 2025, https://openreview.net/forum?id=9CqkpQExe2 ↩︎ ↩︎ ↩︎
-
Mixture-of-Experts with Expert Choice Routing. accessed July 28, 2025, https://papers.neurips.cc/paper_files/paper/2022/file/2f00ecd787b432c1d36f3de9800728eb-Paper-Conference.pdf ↩︎ ↩︎
-
Harder Task Needs More Experts: Dynamic Routing in MoE Models. ACL Anthology, accessed July 28, 2025, https://aclanthology.org/2024.acl-long.696.pdf ↩︎
-
Switch Transformers: Scaling to Trillion Parameter Models with. accessed July 28, 2025, https://arxiv.org/abs/2101.03961 ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎
-
Advancing Expert Specialization for Better MoE. arXiv, accessed July 28, 2025, https://arxiv.org/html/2505.22323v1 ↩︎ ↩︎ ↩︎ ↩︎ ↩︎
-
Mixture of Experts in Mistral AI. Tahir, Medium, accessed July 28, 2025, https://medium.com/@tahirbalarabe2/mixture-of-experts-in-mistral-ai-057c70cd6c8b ↩︎
-
Accelerate Mixtral 8x7B pre-training with expert parallelism on Amazon SageMaker. AWS, accessed July 28, 2025, https://aws.amazon.com/blogs/machine-learning/accelerate-mixtral-8x7b-pre-training-with-expert-parallelism-on-amazon-sagemaker/ ↩︎ ↩︎
-
Scaling to Trillion Parameter Models With Switch Transformers. Zia Babar, Medium, accessed July 28, 2025, https://medium.com/@zbabar/scaling-to-trillion-parameter-models-with-switch-transformers-88ca5fb95e5c ↩︎
-
GLaM: Efficient Scaling of Language Models with Mixture-of-Experts. arXiv, accessed July 28, 2025, https://arxiv.org/pdf/2112.06905 ↩︎ ↩︎
-
Google GLaM. GPT-3 Demo, accessed July 28, 2025, https://gpt3demo.com/apps/google-glam ↩︎
-
Brief Review --- GLaM: Efficient Scaling of Language Models with Mixture-of-Experts. accessed July 28, 2025, https://sh-tsang.medium.com/brief-review-glam-efficient-scaling-of-language-models-with-mixture-of-experts-94c5824e1aad ↩︎
-
Overview of Popular Distributed Training Techniques for Large Models. Ray, Medium, accessed July 28, 2025, https://medium.com/@r9644360/overview-of-popular-distributed-training-techniques-for-large-models-1531200d5673 ↩︎
-
Accelerating Distributed MoE Training and Inference with Lina. USENIX, accessed July 28, 2025, https://www.usenix.org/system/files/atc23-li-jiamin.pdf ↩︎ ↩︎ ↩︎
-
MegaScale-MoE: Large-Scale Communication-Efficient Training of Mixture-of-Experts Models in Production. arXiv, accessed July 28, 2025, https://arxiv.org/html/2505.11432v1 ↩︎
-
MoE Parallel Folding: Heterogeneous Parallelism Mappings for Efficient Large-Scale MoE Model Training with Megatron Core. arXiv, accessed July 28, 2025, https://arxiv.org/html/2504.14960v1 ↩︎
-
MoEQuant: Enhancing Quantization for Mixture-of-Experts. arXiv, accessed July 28, 2025, https://arxiv.org/abs/2505.03804 ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎
-
EAQuant: Enhancing Post-Training Quantization for MoE Models via Expert-Aware Optimization. arXiv, accessed July 28, 2025, https://arxiv.org/html/2506.13329v1 ↩︎ ↩︎ ↩︎
-
Automated Fine-Grained Mixture-of-Experts Quantization. ACL Anthology, accessed July 28, 2025, https://aclanthology.org/2025.findings-acl.1386.pdf ↩︎
-
Efficient MoE Inference: Optimization Techniques. ApX Machine Learning, accessed July 28, 2025, https://apxml.com/courses/mixture-of-experts-advanced-implementation/chapter-4-efficient-moe-inference ↩︎ ↩︎
-
Merging Experts into One: Improving. ACL Anthology, accessed July 28, 2025, https://aclanthology.org/2023.emnlp-main.907.pdf ↩︎ ↩︎ ↩︎
-
Unveil Speculative Decoding's Potential for Accelerating Sparse MoE. accessed July 28, 2025, https://arxiv.org/abs/2505.19645 ↩︎
-
Getting Started with DeepSpeed-MoE for Inferencing Large-Scale MoE Models. accessed July 28, 2025, https://www.deepspeed.ai/tutorials/mixture-of-experts-inference/ ↩︎
-
MegaScale-MoE: Large-Scale Communication-Efficient Training of Mixture-of-Experts Models in Production (2505.11432v2). Emergent Mind, accessed July 28, 2025, https://www.emergentmind.com/articles/2505.11432 ↩︎
-
EXAMINING POST-TRAINING QUANTIZATION FOR MIXTURE-OF-EXPERTS: A BENCHMARK. OpenReview, accessed July 28, 2025, https://openreview.net/pdf?id=sMwYn2lZjO ↩︎
-
Toward Efficient Inference for Mixture of Experts. OpenReview, accessed July 28, 2025, https://openreview.net/forum?id=stXtBqyTWX\¬eId=p7ADDxdU8g ↩︎
-
Paper page - Mixtral of Experts. Hugging Face, accessed July 28, 2025, https://huggingface.co/papers/2401.04088 ↩︎
-
A Closer Look into Mixture-of-Experts in Large Language Models. arXiv, accessed July 28, 2025, https://arxiv.org/html/2406.18219v3 ↩︎ ↩︎
-
Revisiting MoE and Dense Speed-Accuracy Comparisons for LLM Training. arXiv, accessed July 28, 2025, https://arxiv.org/html/2405.15052v1 ↩︎
-
Training MoEs at Scale with PyTorch. accessed July 28, 2025, https://pytorch.org/blog/training-moes/ ↩︎
-
Is Mixture of Experts the path to AGI? Reddit, accessed July 28, 2025, https://www.reddit.com/r/agi/comments/1al0tao/is_mixture_of_experts_the_path_to_agi/ ↩︎
-
A Survey on Inference Optimization Techniques for Mixture of Experts Models. arXiv, accessed July 28, 2025, https://arxiv.org/html/2412.14219v2 ↩︎
-
SEUF: Is Unlearning One Expert Enough for Mixture-of-Experts LLMs? arXiv, accessed July 28, 2025, https://arxiv.org/html/2411.18797v2 ↩︎
-
Create Your Own Mixture of Experts Model with Mergekit and Runpod. Plaban Nayak, accessed July 28, 2025, https://medium.aiplanet.com/create-your-own-mixture-of-experts-model-with-mergekit-and-runpod-8b3e91fb027a ↩︎