← 返回 2026-02-09

OmniMoE:通过编排原子级专家实现大规模高效混合专家模型 OmniMoE: An Efficient MoE by Orchestrating Atomic Experts at Scale

Jingze Shi, Zhangyang Peng, Yizhang Zhu, Yifan Wu, Guang Liu, Yuyu Luo 📅 2026-02-05 👍 13 2026-07-13 08:35
MoE 大语言模型 推理加速 模型架构 混合专家模型 系统优化

原子级专家+笛卡尔积路由+专家中心调度,10.9倍加速MoE推理

前置知识

混合专家模型(Mixture-of-Experts, MoE)

MoE是一种条件计算架构,通过路由机制为每个输入token选择性激活部分专家网络,而非全部参数。标准MoE层包含N个专家 $\{E_1, \ldots, E_N\}$ 和路由函数 $G(\cdot): \mathbb{R}^d \rightarrow \mathbb{R}^N$。对于输入token表示 $x \in \mathbb{R}^d$,路由器选择Top-K个专家 $I_x = \text{TopK}(G(x), K)$,输出为激活专家的加权和加上共享MLP:$y = \sum_{i \in [0,K)} g_i \cdot E_{I_i}(x) + \text{MLP}(x)$。这种设计使模型能在保持可控推理成本的同时扩展参数规模,是当前大语言模型扩展的关键技术。

本文的核心创新是在MoE框架内重新设计专家粒度和调度策略,必须理解MoE的基本工作原理才能理解本文的改进

专家粒度(Expert Granularity)

专家粒度指MoE中每个专家的大小和参数量。粗粒度MoE(如DeepSeek-V3的256个专家)将每个专家实例化为完整的FFN,受益于硬件高效的密集矩阵运算和连续内存访问,但激活精度低、存在冗余计算。细粒度MoE(如PEER的百万级专家)使用轻量级专家(如嵌入向量),提高路由精度和参数效率,但面临内存带宽瓶颈和系统效率低下的问题。粒度选择决定了路由精度与硬件效率之间的根本权衡。

本文的核心目标就是打破粒度选择的二元对立,实现细粒度精度与粗粒度效率的统一

笛卡尔积分解(Cartesian Product Factorization)

笛卡尔积是数学中两个集合的有序对集合。在本文中,将N个专家的一维索引空间分解为二维网格 $N_r \times N_c$(其中 $N = N_r N_c$),将路由问题转化为两个独立的低维投影。这类似于乘积键值记忆(PKM)的思想:用两个小投影替代一个巨大投影,同时仍能访问完整的N维专家空间。联合概率分布近似为两个边际分布的乘积:$p(i,j|x) \approx p_r(i|x) \cdot p_c(j|x)$。

这是本文路由复杂度从O(N)降到O(√N)的关键数学工具,理解它才能理解路由效率提升的本质

分组矩阵乘法(Grouped GEMM)

Grouped GEMM是GPU上的一种高效矩阵运算内核,能将多个小矩阵乘法融合为单个操作执行。与逐个执行矩阵-向量乘法不同,Grouped GEMM将相关计算任务打包,通过Tensor Core实现高吞吐量执行。在本文中,专家中心调度将分散的内存访问重组为连续的批次操作,使得GPU能够加载一次专家权重块并在多个token间复用,大幅提升硬件利用率。

这是实现系统级加速的核心硬件原语,理解它才能理解为什么专家中心调度能带来10倍以上的加速

研究动机

当前MoE架构面临一个根本性的粒度-效率困境。粗粒度MoE(如DeepSeek-V3的256个专家、KIMI-K2的384个专家)将每个专家实例化为完整的FFN,虽然受益于Tensor Core的密集矩阵运算和连续VRAM访问带来的硬件效率,但存在严重的激活冗余问题——激活大型专家块会引入与特定token无关的参数计算(如图1(a)中的橙色节点),造成计算浪费。更重要的是,粗粒度限制了扩展灵活性,迫使内存容量离散式增长。细粒度MoE(如PEER通过Product Key Memory设计扩展到百万级专家)虽然提高了路由精度和参数效率,但面临三大系统挑战:(1) 有限表达力——现有设计将专家简化为静态参数向量,限制计算为线性向量聚合,缺乏token依赖的非线性变换;(2) 路由开销——大规模专家池导致路由成本和负载不平衡;(3) 硬件低效——分散激活触发随机内存I/O,执行从计算受限转为内存带宽受限。PEER的推理延迟高达73ms,DeepSeekMoE更达102ms。

本文的目标是本文的具体目标是设计一个系统-算法协同优化的MoE框架OmniMoE,实现细粒度模型的参数效率与粗粒度架构的硬件效率的统一。具体而言,该框架需要:(1) 将专家粒度推至逻辑极限,引入向量级的原子专家(Atomic Expert)以最大化模型容量和路由精度;(2) 设计高效的路由机制,在百万级专家空间中实现可扩展的路由,避免路由成本成为瓶颈;(3) 重新组织执行范式,将分散的、内存受限的稀疏访问转化为高效的密集矩阵操作。最终目标是在1.7B激活参数预算下,实现50%以上的零样本平均准确率,同时将推理延迟从数十毫秒降至个位数毫秒。

与已有工作不同的是,本文的独特切入角度在于采用系统-算法协同设计(system-algorithm co-design)的思路,而非单纯优化算法或系统层面。现有工作要么在算法层面改进MoE架构但忽略系统效率(如PEER),要么在系统层面优化执行但保持粗粒度专家设计(如DeepSpeed-MoE、MegaBlocks)。OmniMoE首次认识到:要真正实现大规模细粒度MoE的高效执行,必须同时解决三个紧密耦合的问题——原子专家的参数化与存储、大规模专家空间的高效路由、以及稀疏激活的硬件高效执行。这种整体性思维使得OmniMoE能够在保持细粒度精确激活的同时,通过笛卡尔积路由将路由复杂度从O(N)降至O(√N),通过专家中心调度将分散内存访问转化为连续批次操作,最终实现PEER 10.9倍、DeepSeekMoE 15.2倍的推理加速。

核心方法

OmniMoE的整体思路是将MoE的专家粒度推至逻辑极限(原子级),同时通过两个关键系统创新使这种极细粒度设计在实践中可行。直觉上,传统MoE的每个专家都是一个完整的FFN,就像用大锤砸核桃——简单但浪费。OmniMoE将专家拆解为最小可路由单元(一对向量),就像用精确的手术刀,每个参数都为特定token计算。但百万级原子专家带来两个难题:如何高效选择专家(路由问题)和如何高效执行计算(调度问题)。技术路线是:首先定义原子专家为向量对 $(w_{in}, w_{out})$,通过动态专家组装(DEA)机制从全局参数矩阵中检索和组合;其次设计笛卡尔积路由器,将一维索引空间分解为二维网格,将路由复杂度从O(N)降至O(√N);最后通过专家中心调度,将token中心的执行范式反转为专家中心,将分散的内存访问重组为连续的Grouped GEMM操作。整个框架在保留共享密集MLP处理通用语义的同时,让路由分支专注于长尾知识检索。

OmniMoE的核心创新是将MoE的专家粒度推至逻辑极限,引入向量级的原子专家(Atomic Expert),同时通过系统-算法协同设计解决由此带来的路由和执行挑战。与已有方法的本质区别体现在三个层面:首先,与粗粒度MoE(如DeepSeekMoE的完整FFN专家)不同,OmniMoE的原子专家仅由一对向量 $(w_{in}^i, w_{out}^i)$ 参数化,计算为 $E_i(x) = \sigma(x {w_{in}^i}^\top) w_{out}^i$,通过动态专家组装从全局参数矩阵 $W, V \in \mathbb{R}^{N \times d}$ 中检索和组合token特定的参数块;其次,与PEER等细粒度MoE使用单一大型投影矩阵进行路由不同,OmniMoE将N个专家的一维索引空间分解为 $N_r \times N_c$ 的二维网格,通过两个独立的小投影矩阵 $W_r \in \mathbb{R}^{d \times N_r}$ 和 $W_c \in \mathbb{R}^{d \times N_c}$ 实现隐式评分,将路由参数量和计算量从O(Nd)降至O(√Nd);最后,与所有现有MoE采用的token中心执行范式不同,OmniMoE反转执行顺序为专家中心,通过分组排序将分散的内存访问重组为连续批次,实现高吞吐量的Grouped GEMM执行。

方法步骤详情

OmniMoE的方法分为三个紧密耦合的步骤:第一步是原子专家定义与动态专家组装(DEA)。原子专家定义为最小可路由计算单元,由输入向量 $w_{in}^i \in \mathbb{R}^d$ 和输出向量 $w_{out}^i \in \mathbb{R}^d$ 参数化,计算为 $E_i(x) = \sigma(x {w_{in}^i}^\top) w_{out}^i$(使用SWIGLU激活)。所有N个原子专家的参数存储在两个全局参数矩阵 $W = [w_{in}^0, \ldots, w_{in}^{N-1}]^\top$ 和 $V = [w_{out}^0, \ldots, w_{out}^{N-1}]^\top$ 中。DEA的检索步骤通过索引 $I_x$ 从全局矩阵中获取token局部参数块 $w_x = W[I_x] \in \mathbb{R}^{K \times d}$,组装步骤计算 $y = (g_x \odot \sigma(x w_x^\top)) v_x + \text{MLP}(x)$。第二步是笛卡尔积路由器设计。将专家id $n$ 视为二维坐标 $(i,j)$ 在 $N_r \times N_c$ 网格上,用两个投影矩阵 $W_r, W_c$ 计算行和列的logits:$s_r = x W_r, s_c = x W_c$,然后通过LogSoftmax得到对数概率 $p_r, p_c$,隐式定义评分矩阵 $S_{ij} = p_r[i] + p_c[j]$。通过并行Top-K选择(将隐式网格分块分配给GPU线程块)提取全局Top-K专家索引。第三步是专家中心调度。首先收集路由计算任务(M = L × K个任务),然后按专家ID排序并分组为大小B的连续组,通过层次排序(主键为组ID,次键为token ID)改善局部性,最后对每个活跃组执行Grouped GEMM:$O_q = (G_q \odot \sigma(X_q W_q^\top)) V_q$。

技术新颖性

OmniMoE的技术新颖性体现在四个维度。首先,原子专家的定义是全新的——将专家粒度从FFN级(数百到数千参数)推至向量级(2d参数),这不仅是粒度的细化,更是计算范式的转变:从静态的全连接计算变为动态的参数组装。这种设计使得每个激活参数都为特定token计算,实现了极端的参数效率。其次,笛卡尔积路由器的隐式评分机制是创新的核心。现有方法(包括PKM)都需要显式计算或存储N维评分向量,而OmniMoE通过因子化假设 $p(i,j|x) \approx p_r(i|x) \cdot p_c(j|x)$,在对数空间中将联合分布转化为可加形式 $S_{ij} = p_r[i] + p_c[j]$,无需显式构造N维评分矩阵即可进行Top-K选择。第三,专家中心调度反转了MoE执行的基本范式。传统MoE(无论粗粒度还是细粒度)都采用token中心的执行方式——每个token独立获取其选择的专家参数,导致分散的内存访问。OmniMoE将执行顺序反转为专家中心——先按专家分组,再在组内按token排序,将分散的随机访问转化为连续的流式读取。最后,共享密集MLP与路由分支的异构设计也是新颖的——不同于DeepSeekMoE等将共享专家作为独立的FFN实例,OmniMoE将共享MLP作为通用语义处理的稳定骨干,让路由分支专注于长尾知识检索,形成互补的分工。

Overview of the OmniMoE Architecture
Figure 2: Overview of the OmniMoE Architecture
Comparison of Execution Paradigms: Token-Centric vs. Expert-Centric Scheduling
Figure 3: Comparison of Execution Paradigms: Token-Centric vs. Expert-Centric Scheduling

实验结果

OmniMoE在多个维度上展示了卓越的性能。在下游任务性能方面,6.4B-A1.7B模型在七个基准测试上实现了50.9%的平均零样本准确率,超越粗粒度基线DeepSeekMoE(50.2%,+0.7)和细粒度基线PEER(48.9%,+2.0)。具体而言,OmniMoE在知识密集型任务如TriviaQA(18.5 vs 17.4 vs 16.9)和OBQA(40.3 vs 38.9 vs 39.1)上显著优于粗粒度模型,在推理密集型任务如ARC(61.0 vs 60.7 vs 57.4,+3.6 vs PEER)和HellaSwag(60.9 vs 61.2 vs 56.3,+4.6 vs PEER)上大幅领先细粒度模型。在端到端效率方面,OmniMoE实现了突破性加速:在4096 tokens输入下,推理延迟仅为6.7ms,相比PEER的73ms实现10.9倍加速,相比DeepSeekMoE的102ms实现15.2倍加速,同时峰值内存占用与粗粒度MoE相当。消融实验进一步验证了各组件的贡献:移除共享密集MLP导致延迟降至0.86倍(效率微升)但困惑度上升1.2倍、性能下降;替换笛卡尔积路由器为标准密集投影导致延迟飙升30.6倍、内存暴增337.5倍、困惑度上升1.4倍,且专家使用率崩溃至仅4%;移除专家中心调度导致延迟增加24.8倍、内存增加417.7倍。缩放律实验显示,OmniMoE在匹配训练FLOPs和激活参数预算下均实现最低困惑度,且随着容量增加获益更稳定。

Performance on Downstream Benchmarks for 6.4B-A1.7B MoE Models and the 1.7B Dense Baseline
Table 1: Performance on Downstream Benchmarks for 6.4B-A1.7B MoE Models and the 1.7B Dense Baseline
Ablation Study
Table 2: Ablation Study
End-to-End Efficiency Comparison
Figure 4: End-to-End Efficiency Comparison
Scaling Laws
Figure 5: Scaling Laws
查看结构化数据
任务指标本文基线提升
MMLU(多任务知识理解) 零样本准确率(ACC) 37.5 37.1(DeepSeekMoE)、37.4(PEER) +0.4 vs DeepSeekMoE,+0.1 vs PEER
TriviaQA(事实回忆) 零样本准确率(ACC) 18.5 17.4(DeepSeekMoE)、16.9(PEER) +1.1 vs DeepSeekMoE,+1.6 vs PEER
ARC(科学推理) 零样本准确率(ACC) 61.0 60.7(DeepSeekMoE)、57.4(PEER) +0.3 vs DeepSeekMoE,+3.6 vs PEER
PIQA(物理常识) 零样本准确率(ACC) 78.7 77.2(DeepSeekMoE)、75.9(PEER) +1.5 vs DeepSeekMoE,+2.8 vs PEER
HellaSwag(常识推理) 零样本准确率(ACC) 60.9 61.2(DeepSeekMoE)、56.3(PEER) -0.3 vs DeepSeekMoE,+4.6 vs PEER
OBQA(开卷问答) 零样本准确率(ACC) 40.3 38.9(DeepSeekMoE)、39.1(PEER) +1.4 vs DeepSeekMoE,+1.2 vs PEER
Winogrande(共指消解) 零样本准确率(ACC) 59.7 59.1(DeepSeekMoE)、59.4(PEER) +0.6 vs DeepSeekMoE,+0.3 vs PEER

局限与改进

尽管OmniMoE展示了显著的性能提升,但仍存在一些局限性。首先,作者承认的局限包括:评估仅在预训练基础模型上进行,未涵盖指令微调(instruction tuning)和人类反馈强化学习(RLHF)后的性能,而这些是现代LLM部署的标配流程。其次,实验规模相对有限——最大模型为6.4B-A1.7B,与当前主流的数十亿到数千亿参数模型相比仍有差距,大规模分布式训练场景下的通信开销和扩展性需要进一步验证。从个人观察角度,OmniMoE的训练数据为40B tokens的SmolLMCorpus,数据规模相对较小,可能限制了模型的知识覆盖范围和泛化能力。此外,论文未提供与最新SOTA模型(如Llama 3、Qwen2等)的直接对比,使得难以评估OmniMoE在实际应用中的竞争力。笛卡尔积路由器的因子化假设 $p(i,j|x) \approx p_r(i|x) \cdot p_c(j|x)$ 可能在某些任务上过于简化,忽略了行列之间的依赖关系。最后,专家中心调度虽然提升了批处理效率,但可能引入额外的任务重组开销,在小批量或实时推理场景下这些开销可能抵消部分收益。

独立分析的弱点

OmniMoE存在几个值得关注的弱点。首先,原子专家的表达能力受限——每个原子专家仅由一对向量参数化,计算为简单的内积加激活,缺乏深度非线性变换能力。虽然DEA通过组合多个原子专家缓解了这一问题,但对于需要复杂推理的任务,单层的原子专家组合可能不如深层FFN。改进方向可以探索多层原子专家组合或引入轻量级的跨原子专家交互机制。其次,笛卡尔积路由器的因子化假设限制了路由灵活性——独立的行和列投影无法捕捉行列之间的交互,可能导致某些专家组合被系统性忽略。可以考虑引入低秩交互项或注意力机制来增强行列间的依赖建模。第三,专家中心调度在动态批处理场景下面临挑战——当不同请求的活跃专家集合差异很大时,分组效率可能下降,导致GPU利用率波动。改进方向包括动态调整分组大小或引入工作窃取机制。最后,当前设计缺乏显式的负载均衡机制——虽然消融实验显示专家使用率为100%,但这可能受益于特定的训练设置,在更极端的专家规模下可能出现负载不均衡。

未来方向

基于OmniMoE的成果,可以延伸出多个有前景的研究方向。作者提出的未来工作包括:将OmniMoE扩展到更大规模的模型(数十亿到数千亿参数)并验证分布式训练场景下的扩展性,以及在指令微调和RLHF后评估下游任务性能。此外,可以探索将原子专家设计应用于其他模态(如视觉、多模态)的MoE架构,验证其通用性。另一个有趣的方向是动态专家组装的可解释性——通过分析哪些原子专家被频繁共激活,可以理解模型内部的知识组织方式。还可以探索自适应粒度的MoE,即根据输入的复杂度动态调整激活的专家粒度(简单token激活少量粗粒度专家,复杂token激活更多细粒度专家)。最后,将OmniMoE的笛卡尔积路由思想应用于其他需要大规模索引的场景(如推荐系统中的候选生成、检索增强生成中的知识检索)也值得探索。

复现评估

OmniMoE在复现性方面表现良好。作者已将代码开源在 https://github.com/flash-algo/omni-moe,这为社区复现和扩展提供了便利。训练数据使用公开的SmolLMCorpus(40B tokens),涵盖Web、教科书、代码和数学领域,使用NeoX tokenizer(128,256词表)。训练超参数遵循已发表的缩放律和Chinchilla计算最优性协议,使用AdamW优化器和WSD学习率调度器。所有实验在NVIDIA PyTorch容器中运行,使用Hugging Face Transformers框架。推理/评估在单节点8× NVIDIA A100 GPU上进行。然而,复现的主要挑战在于算力需求——6.4B-A1.7B模型的预训练需要大量GPU小时,且论文未提供精确的训练时间和成本估计。此外,专家中心调度的实现涉及复杂的GPU内核优化,可能需要特定的硬件支持(如Tensor Core)和CUDA编程经验。对于资源有限的研究者,可以从小规模实验(如280M-A80M配置)开始验证核心思想。