Mamba作者团队提出SonicMoE:一个Token舍入,让MoE训练速度提升近2倍

机器之心 2025-12-19 14:37
Mamba作者团队提出SonicMoE:一个Token舍入,让MoE训练速度提升近2倍图1
机器之心编辑部

混合专家(MoE)模型已成为在不显著增加计算成本的情况下,实现语言模型规模化扩展的事实标准架构。


近期 MoE 模型展现出明显的高专家粒度(更小的专家中间层维度)和高稀疏性(在专家总数增加的情况下保持激活专家数不变)的趋势,这提升了单位 FLOPs 的模型质量。


这一趋势在近期的开源模型中表现尤为明显,例如 DeepSeek V3、Kimi K2 以及 Qwen3 MoE 等,它们均采用了更细粒度的专家设计(更小的中间层维度)和更高的稀疏度,在保持激活参数量不变的同时大幅增加了总参数量。


Mamba作者团队提出SonicMoE:一个Token舍入,让MoE训练速度提升近2倍图2

表 1:MoE 扩展趋势:在此,团队将激活率展示为每个 Token 激活的专家数 K / 专家总数 E;针对前沿开源模型,专家粒度展示为模型嵌入维度(d)/ 专家中间层大小(n)。在 MoE 稀疏度计算中未包含共享专家。趋势表明,新的开源 MoE 模型倾向于具备更高的粒度和稀疏度。


然而,这种追求极致粒度和稀疏性的设计导致了严重的硬件效率下降问题:



针对这些问题,普林斯顿大学助理教授 Tri Dao(Mamba、FlashAttention 的核心作者)团队提出了一套名为 SonicMoE 的系统性解决方案。该方案专为 NVIDIA Hopper 和 Blackwell 架构 GPU 量身定制,其核心贡献包括:



实验数据有力地证明了 SonicMoE 的性能优势,在针对细粒度 7B MoE 模型的测试中:前向传播相比高度优化的 DeepGEMM 基线,速度提升 43%;反向传播相比最先进的 ScatterMoE 和 MoMoE 基线,速度分别提升了 83% 和 115%;端到端训练仅依靠内核优化即可将训练吞吐量提升 50%,若配合 Token 舍入路由,在扩展专家数量时可进一步获得 16% 的额外吞吐量提升。


Mamba作者团队提出SonicMoE:一个Token舍入,让MoE训练速度提升近2倍图3



更直观地看,团队仅使用 64 台 H100 运行 SonicMoE,便实现了每日 2130 亿 token 的训练吞吐量,这一表现已能与使用 96 台 H100 运行 ScatterMoE 的效率相媲美。此外,在高稀疏性场景下(如 1.4B 参数模型),其 Tile 感知的 Token 舍入算法在验证了不损失下游任务精度(如在 2B 规模上的推理质量)的同时,显著提升了内核执行速度。


目前,团队已将相关内核代码开源,为大模型社区加速高性能 MoE 训练提供了强有力的工具。


Mamba作者团队提出SonicMoE:一个Token舍入,让MoE训练速度提升近2倍图4

图 1: 即使专家粒度(d/n,其中 d 为嵌入维度,n 为专家中间维度)增加,SonicMoE 的每层激活显存占用(左图)仍保持恒定;相比其他基线,其显存效率提升了 0.20 倍至 1.59 倍。SonicMoE 的前向计算吞吐量(右图)平均达到了理论上限的 88%(最高 91%,最低 86%),该上限基于 H100 GPU 上的 「cuBLAS BMM + 激活函数 + cuBLAS BMM + 聚合操作」 计算得出。请注意,cuBLAS 上限基线未包含路由计算部分。在此,我们使用的是 30B 参数量的 MoE 配置,微批次大小为 32768 个 token,并且从左至右依次将「激活专家数 / 总专家数」设置为 2/32、4/64、8/128 和 16/256。


内存高效的 MoE 算法


SonicMoE 中的 MoE 计算会启动 8 个内核:在前向传播过程中,包括 up-proj (A)、down-proj (Y) 和专家聚合 (O) 内核;在反向传播过程中,使用激活梯度内核,分别用于计算 dH(down-proj)、Mamba作者团队提出SonicMoE:一个Token舍入,让MoE训练速度提升近2倍图5(up-proj)、dX(对专家的Mamba作者团队提出SonicMoE:一个Token舍入,让MoE训练速度提升近2倍图6进行聚合),以及权重梯度内核Mamba作者团队提出SonicMoE:一个Token舍入,让MoE训练速度提升近2倍图7Mamba作者团队提出SonicMoE:一个Token舍入,让MoE训练速度提升近2倍图8。下图展示了这 8 个内核的计算流程。


Mamba作者团队提出SonicMoE:一个Token舍入,让MoE训练速度提升近2倍图9


团队提供了一个高效的基于 Tensor Core 的 top-K 路由,以及一个可以接受任意路由输入的接口。但需要注意的是,SonicMoE 的 MoE 计算与路由的选择无关,因此与任意路由逻辑兼容。


SonicMoE 的 MoE 计算实现具有高度模块化特性,仅由以下两部分组成:


主机会根据最佳 GEMM 配置和加载 / 存储策略来调度并启动上述 8 个内核。


结果显示,尽管采用了如此高度的模块化设计,SonicMoE 仍然展现出业界领先的训练吞吐量和最低的激活内存使用量。


面向 IO 的内核设计


细粒度 MoE 的表达能力来自于每个 token 在专家选择上的多样性,但这种多样性同时带来了与专家粒度线性增长的 IO 开销,为了保持高吞吐,需要尽可能做到:



在融合这一块有两种方式,一是利用 HBM 加载进行 Gather 融合。SonicMoE 的 Grouped GEMM 既可以接受连续打包的输入,也可以接受从不同位置 gather 得到的输入。对于第二种情况,团队将输入 gather 与从全局显存(GMEM,通常是 HBM)到共享内存(SMEM)的加载过程进行融合,从而能够将这些数据批量化,利用 Tensor Core 执行 GEMM。


这一过程包括两个步骤:


二是 Epilogue 融合,通过以下设计充分利用 epilogue 计算,以最大化减少不必要的 IO 访问:将 SwiGLU 以及 SwiGLU 的反向(dSwiGLU),分别与前向 up-proj 内核的 epilogue、反向 down-proj 激活梯度内核的 epilogue 进行融合;在反向 down-proj 激活梯度(dH)内核的 epilogue 中计算 dH 和 dS。


结果显示,这种「重量级 epilogue 融合」使 SonicMoE 相比其他方案获得显著加速。


Token rounding 路由方法


团队在分析稀疏 MoE 训练模式下的硬件效率时发现,随着 MoE 变得更加稀疏,因填充而产生的 GEMM tile 计算浪费会累计到不可忽略的程度,这被称为「tile 量化效应」。为此,团队提出路由方法「token rounding」来消除这种效应,从而实现更高效的训练。


Token rounding 算法首先计算基础的 TC(token-choice)路由结果,并对每个 expert 对应的 token 按路由分数进行排序,之后在第二步排序中选择:要么丢弃第一步 TC top-K 选择中的部分 token,要么在第二步排序中为某些 expert 补齐额外的 token(填充)。


Mamba作者团队提出SonicMoE:一个Token舍入,让MoE训练速度提升近2倍图10


过程中,团队会对路由权重矩阵进行处理,使得 TC 选中的 token 始终优先于 EC token。结果就是,无论是丢弃还是填充,都只会影响每个 expert 的最后一个输入 tile。


实验表明,这种方法在实现更高训练吞吐量的同时,并不会影响模型质量。


更多内容,可查看论文获悉!


© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:liyazhou@jiqizhixin.com

声明:内容取材于网络,仅代表作者观点,如有内容违规问题,请联系处理。 
IC
more
又一款Micro LED AR眼镜上线
ASIC崛起,英伟达的王座还稳吗?
ICCV涌现自动驾驶新范式:统一世界模型VLA,用训练闭环迈向L4
中国台湾地区在ASIC开发中的IC设计优势
华为Mate80ProMax正面给几分?| 荣耀Magic8mini曝光 6.31英寸超轻薄
辰显光电与新益昌签约,聚焦TFT基Micro LED量产
欧盟计划取消油车禁令,哪吒汽车复活进展,苹果考虑在印封装芯片,AppleMusic将集成ChatGPT,这就是今天的其他大新闻!
AI重塑EDA,3D-IC成关键战场:Cadence的洞察与应变
思尔芯全系数字EDA产品亮相ICCAD 2025,以硬件加速赋能芯片设计创新
【光电共封CPO】谷歌TPU+ICI技术能否撼动英伟达AI算力霸主地位?
Copyright © 2025 成都区角科技有限公司
蜀ICP备2025143415号-1
  
川公网安备51015602001305号