所属: 模型资产层。本页边界: 怎样以稀疏激活增加参数容量,以及路由为何成为瓶颈。
#核心公式
#符号说明
| 符号 | 含义 | 单位/条件 |
|---|---|---|
| 一个 token 的输入隐藏状态与 MoE 输出 | ||
| 专家总数;第 e 个专家网络记为 | 正整数、函数 | |
| router 输出的专家权重分布 | ||
| token 与专家分别记为 时的门控权重 | 非负标量 | |
| router 投影矩阵、Top- 后选中的专家集合 | 矩阵、集合 | |
| Top- 路由中每 token 激活的专家数 | ||
| 批内专家 的实际 token 比例与平均路由概率 | ||
| 负载均衡辅助损失的系数 | 非负标量 | |
| 专家负载均衡辅助损失 | 非负标量 | |
| 当前路由批次中的 token 数 | 正整数 | |
| 每专家容量及 capacity factor | token 数、正实数 | |
| 专家 的负载偏置项(ALF-LB) | 实数 | |
| 偏置更新率(ALF-LB) | 正实数 | |
| 序列级重要性比率 | 正实数 | |
| 专家 的 token 选择容量 | 正整数 |
若 Top- 后重新归一化,正文使用 表示保留专家的归一化门控权重。
#技术要点
- router 为 token 选择少数专家。路由机制正从离散 Top- 向可微分路由(ReMoE 的 ReLU 路由)和无辅助损失负载均衡(DeepSeek 的 ALF-LB)演进。
- 总参数、激活参数和通信成本必须分开报告。专家激活比(activated/total)在 5%–15% 区间通常最优,模型越大倾向于越稀疏。
- 负载均衡策略已从辅助损失项演进到偏置驱动(ALF-LB)和校准负载均衡(CLB),避免了辅助损失引入的干扰梯度。
- expert parallel 引入 All-to-All,通信优化方案包括 SwiftEP(TMA 卸载)、ScaleMoE(自适应 All-to-All 消除零填充)、LAER-MoE(负载自适应专家重布局)等。
- 细粒度专家分割将每个专家分解为更小的子专家,在相同激活参数下提升专家组合灵活性,是 DeepSeekMoE 的核心设计。
- 专家专业化可通过层内和跨层正则化损失促进,防止不同专家学习冗余功能。
- 专家上行回收(Expert Upcycling)从已有 MoE 扩展专家数量,保持 Top- 和激活成本不变。
- MoE-Bench 和 DBES 提供了跨推理、效率和安全的标准化 MoE 评估。
#原理与演进
#Router 如何让参数多、每 token 计算少
- 稠密 FFN 每个 token 用同一组参数;MoE 用路由器选择 个专家,单 token 只计算被选中的专家。
- 因此须区分 (全部专家参数)和 (一次 token 实际调用参数);前者影响权重存储,后者更接近单 token 计算量。
- 若热门专家拥塞、冷门专家得不到训练,路由器会塌缩;均衡损失或路由约束缓解这一点,但也可能把本应集中到某专家的任务强行分散。Switch Transformer 原论文
- 以 Top-1 路由为例,可用批内专家占比 和平均路由概率 构造辅助项:
- 该项促使实际负载与路由概率都更均衡; 来自离散选择,优化主要经 传递梯度。 过大则可能压制有效专家分工。
- 专家容量限制每批可接收 token 数。超额 token 若丢弃会损失训练信号;提高容量或采用 dropless 路由又会增加内存和不规则计算。
#路由机制的演进
MoE 架构的演进趋势是从“激活更多稀疏参数”转向解耦语义路由、计算预算和物理执行。路由机制可从以下几个维度分类:
| 路由策略 | 核心机制 | 代表方法 | 关键特征 |
|---|---|---|---|
| Token-choice Top- | 每个 token 选 个专家 | Switch, Mixtral | 简单,但容量溢出和路由不稳 |
| Expert-choice | 每个专家选 top- 个 token | Expert Choice Routing | 天然均衡,但 token 可能被多专家选 |
| 可微分路由 | 以 正则和 ReLU 替代离散 Top-k | ReMoE | 端到端可微,避免离散选择不可微问题 |
| 迭代路由 | 多轮选择并逐步精化输出 | CoE | 提升专家组合灵活性 |
| 序列级路由 | 序列级重要性比率 | GSPO | 改善长序列和 MoE RL 稳定性 |
| 自适应路由 | 根据 token 难度动态调整 | AdaMoE | 减少 14.5% FLOPs 且提升准确率 |
ReMoE 用基于 ReLU 的完全可微分路由替代离散 TopG 路由,并配合自适应 正则化实现稀疏性控制。这消除了离散 Top- 选择不可微导致的冷门专家训练不足问题。
CoE(Chain-of-Experts) 引入迭代路由策略,在多轮中选择 Top- 专家并逐步精化输出。AdaMoE 为每个 token 引入“空专家”(null expert),允许 token 自适应地选择激活专家数量而非固定 。在 Mixtral-8x7B 上,ARC-C 数据集的 FLOPs 减少 14.5% 同时准确率提升 1.69%。
#无辅助损失负载均衡(ALF-LB)
传统 MoE 通过辅助损失鼓励专家负载均衡,但辅助损失会引入干扰梯度,影响模型性能。DeepSeek 提出的 Loss-Free Balancing 在 Top- 路由前对专家路由分数施加专家级偏置 ,并根据近期负载动态更新偏置。
ALF-LB 的核心机制为:
偏置 根据专家近期负载动态调整:过载专家 减小,欠载专家 增大。偏置更新在反向图之外操作,不产生干扰梯度。该策略已被 DeepSeek-V2/V3/V4 等模型采用。
理论分析表明,ALF-LB 的收敛性可通过偏置更新率 与学习率的联合条件保证,在 1B 参数 DeepSeekMoE 模型上的实验验证了理论发现。
校准负载均衡(CLB) 进一步改善了辅助损失和无辅助损失两种体制下的负载均衡效果。无论应用于标准辅助损失还是 ALF-LB 体制,CLB 都一致地提升了下游准确率和收敛速度。
#细粒度专家分割
细粒度专家分割是 DeepSeekMoE 的核心设计。以 Mixtral 8×7B 为对照:每层满足式(1)、式(2),每个专家的中间维满足式(3),和 Mistral 7B 的稠密 FFN 同构。DeepSeekMoE 将每个专家进一步分解为更小的子专家,同时激活更多子专家。
式(1):
式(2):
式(3):
细粒度分割的核心收益是专家组合灵活性的提升:在相同激活参数预算下,更细粒度的专家可以产生更多可能的组合,从而更精确地匹配 token 的语义需求。这一设计已被 Qwen2.5-MoE 和 DeepSeek-V3 等模型采用。
Expert Upcycling 从已有 -expert MoE 扩展到 个专家,同时保持 Top- 与激活成本不变。Upcycling 不是新的 Router family,而是专家数量扩展的工程路径。
#从稠密到稀疏的代价链
| 设计 | 收益 | 新问题 |
|---|---|---|
| Top-1 | 每 token 只进一个专家,计算低 | 容量溢出与路由不稳 |
| Top-2/Top-k | 多专家组合、表示更灵活 | 计算和通信增长 |
| 细粒度分割 | 专家组合灵活性提升 | 路由复杂度增加 |
| 专家并行 | 全部专家分布在多设备 | 跨设备 All-to-All 与尾部等待 |
| 共享专家 / 稳定路由 | 保留公共知识、降低路由波动 | 总体计算或参数上升 |
| ALF-LB | 无干扰梯度的负载均衡 | 偏置更新率需调参 |
连接: 集合通信解释 All-to-All;训练并行解释 EP 与状态分片。
#1. 容量与激活计算为什么能分离
稠密 FFN 每个 token 调用全部 FFN 权重;MoE 将 FFN 替换为 个专家,每个 token 选 个。因此总参数随 增长,但单 token 专家 FLOPs 近似随 增长。注意 router、共享层、通信和不均衡额外成本仍存在;“总参数 10 倍”不意味着“计算不变”。
令专家 的负载定义如下,理想均衡值约 。实际时延更接近 对应的慢专家,而不是平均值。不同设备上的专家分布、All-to-All 传输和专家微批大小共同决定吞吐。
缩放律发现:在固定计算预算下,更大且更稀疏的模型(更低的激活比)产生更好的性能。激活比(activated/total)在 5%–15% 区间通常最优,模型越大倾向于越稀疏。
#2. 路由的三个相互拉扯目标
- 专业化: 相关 token 应稳定进入有用专家。
- 均衡: 不能让某些专家过载、其他专家闲置。
- 稳定: 梯度和路由选择不能因微小噪声频繁翻转。
Top- 路由让第 1 项容易形成,但可能塌缩;均衡辅助损失改善第 2 项,但过强会破坏自然专业化;噪声路由或路由约束改善探索,却可能降低可预测性。问题本质是离散资源分配与连续梯度优化耦合。
专家重叠问题:不同专家可能处理相似 token 并学习冗余功能,导致路由模糊和容量利用不足。可提出层内和跨层正则化损失来促进专家专业化:层内损失鼓励同一 token 被不同专家以互补方式处理,跨层损失鼓励不同层的专家形成互补功能。
#3. Capacity factor 和 token dropping
若每专家容量设为下式, 为 capacity factor, 小可控制内存和计算上界,却可能丢弃溢出 token; 大降低丢弃率但增加预留与长尾开销。Dropless 路由避免丢 token,但需要处理变长专家批次和不规则计算。该选择应同时报告丢弃率、专家负载分布和真实延迟。
#4. 专家并行的通信优化
MoE 专家并行(EP)将专家分布到不同设备,在 dispatch 和 combine 阶段引入 All-to-All 通信开销,prefill 阶段尤为突出。以下方案分别针对不同瓶颈:
| 方案 | 核心机制 | 解决瓶颈 |
|---|---|---|
| SwiftEP | 缓冲区融合 + TMA 卸载 | prefill 阶段 All-to-All 延迟 |
| ScaleMoE | 自适应 All-to-All 消除零填充 | 不必要的零填充通信 |
| LAER-MoE | 负载自适应专家重布局 | 专家粒度参数恢复 |
| NetMoE | 动态样本放置 | 跨设备数据交换 |
| 动态通信模式选择 | Data-Centric vs Expert-Centric 自适应切换 | 专家参数大小与 token 数据大小的比较 |
SwiftEP 结合缓冲区融合和 Tensor Memory Accelerator(TMA)卸载,为 MoE prefill 定制 All-to-All 通信库。ScaleMoE 提出自适应 All-to-All 通信,消除零填充导致的不必要零传输,同时解决专家选择中的负载不均衡。LAER-MoE 通过全分片专家并行(FSEP)在训练中按专家粒度恢复部分专家,减少跨设备通信量。
IETF 草案提出了自适应通信模式选择机制,根据专家参数大小与 token 数据大小的比较,动态选择 Data-Centric 或 Expert-Centric All-to-All 通信模式。
#5. 技术路线与缺陷推动
稠密 FFN(扩容量会等比例涨计算)→ 稀疏 Top-1(激活成本下降但专家热点和丢 token)→ Top- / 容量机制(提高表达与稳定但通信涨)→ 细粒度专家分割(组合灵活性提升但路由复杂度增加)→ 专家并行(总参数可分布但 All-to-All 成瓶颈)→ 共享专家/改进路由(公共知识更稳但又增加固定计算)→ ALF-LB(无干扰梯度均衡)→ 可微分路由(端到端可微)。
这不是统一的线性“版本号”;各分支常同时存在。一个 MoE 系统是否比同 FLOPs 稠密模型优,必须比较训练 token、有效参数、推理批量、链路拓扑与质量,而不能只比较总参数。
#6. 与模型质量相关的诊断
| 观测 | 可能原因 | 解释前必须排除 |
|---|---|---|
| 少数专家占比极高 | 路由塌缩 | 语料本身类别严重偏斜 |
| 训练慢且设备利用不均 | 热点专家/通信等待 | 底层网络或算子效率问题 |
| 稀有任务退化 | 专家训练样本不足 | 数据集覆盖缺口 |
| 同义输入路由大变 | 路由不稳 | tokenization 差异 |
| 专家功能重叠 | 缺乏专业化促进机制 | 训练数据同质化 |
#7. Top- 路由的归一化细节
若 router softmax 给出 ,只保留式(1)所示集合后,可将保留权重按式(2)重新归一化,再按式(3)计算。若不重新归一化,输出尺度会受被舍弃专家的总概率影响。不同 MoE 实现对门控值、缩放与残差的处理不同,比较公式时要核对这一点。
式(1):
式(2):
式(3):
离散 Top- 选择本身不可微,训练梯度主要流向被选专家和其 gate;未被选择的专家缺少该 token 的直接学习信号。这也是专家塌缩、冷门专家训练不足的根源之一。ReMoE 通过 ReLU-based 路由和自适应 正则化实现了完全可微分路由,从根本上消除了这一问题。
#8. 专家数与推理延迟并非单调关系
固定激活专家数 时,增加总专家数 会提高总参数容量,但 router 输出与专家权重驻留成本仍变大。若专家分散在不同设备,token 必须被派发到对应设备;小 batch 下每个专家仅有少量 token,矩阵乘效率可能下降。于是 相同的两个 MoE,在不同 、拓扑和 batch 下延迟可差很多。
近似关键路径近似如下。平均专家 FLOPs 不能反映 的尾部等待;专家负载直方图是必要诊断量。
#9. 专业化是否真的发生
观察某些 token 总进某专家,不足以证明专家学会了可解释的领域能力;可能只是 token 频率或位置偏差。应比较:固定一类任务下的路由稳定性、替换/屏蔽专家后的性能变化、不同专家的训练样本覆盖和新任务迁移。下式所示的路由熵可描述选择集中程度,但低熵既可能是清晰专业化,也可能是塌缩。
领域专家定位:在大规模 MoE 模型中存在一种一致的行为,称为少样本专家定位——给定少量领域示例,可以定位到对该领域最关键的专家子集。这为领域特定剪枝和专家冗余分析提供了实用工具。DBES 基准系统评估了主流 MoE 模型(包括 GLM-4.6 和 DeepSeek-R1)的专家路由行为,涵盖逻辑推理(AIME 2025、Yale-FinanceMath)、专业知识(BigBio MedQA、Nguha LegalBench)和科学素养(AllenAI SciQ)等领域。
#10. MoE 评估的标准化
MoE-Bench 是首个覆盖推理、效率和安全的综合 MoE 评估基准。LoRALib 提供了 LoRA-MoE 方法的标准化评估,发现 LoRA-MoE 表现最佳,且优先考虑与目标任务相关的 LoRA 模块可进一步提升性能。
评估维度应至少覆盖:专家负载分布(Gini 系数或最大/平均负载比)、路由熵、专家专业化程度(领域定位能力)、激活参数与总参数比、All-to-All 通信占比、以及不同批量下的端到端延迟。仅报告总参数或激活参数不足以描述 MoE 系统的实际行为。
#原始资料
- Sparsely-Gated MoE
- Switch Transformer
- The Evolution of Mixture-of-Experts Architectures in Large Language Models
- A Theoretical Framework for Auxiliary-Loss-Free Load Balancing of Sparse Mixture-of-Experts
- Auxiliary-Loss-Free Load Balancing Strategy for Mixture-of-Experts
- SwiftEP: All-to-All Communication Library for MoE Prefill
- ScaleMoE: A Fast and Scalable Distributed Training Framework for Large-Scale MoE Models
- LAER-MoE: Load-Adaptive Expert Re-layout for Efficient MoE Training
- AdaMoE: Token-Adaptive Routing with Null Experts for MoE
- Towards Greater Leverage: Scaling Laws for Efficient Mixture-of-Experts Language Models
- Bag of Tricks for Sparse Mixture-of-Experts: A Benchmark Across Reasoning, Efficiency, and Safety
- Advancing Expert Specialization for Better MoE
- Synergistic Intra- and Cross-Layer Regularization Losses for MoE Expert Specialization
- Domain-Specific Pruning of Large Mixture-of-Experts Models with Few-shot Demonstrations