Megakernel未死:MoE融合内核的工程争论

发布于

Megakernel 为何被认为会逐渐失去优势?

Megakernel 指将多步计算、通信与数据搬运尽量融合进单个大型 GPU 内核的优化方式。其核心目标是减少内核启动开销,并降低多个内核之间调度和数据传递带来的等待。

不过,反对观点认为,这种方案存在明显工程代价:

  • 大型融合内核极难编写和调优,维护成本高。
  • 在张量并行等多 GPU 场景中,非线性算子仍需要跨 GPU 同步部分结果;单纯融合内核无法消除这类通信依赖。
  • 模块化内核可以分别优化,并通过并行执行获得更好的整体效果;在部分生产环境中,这类方案可能快于手工编写的大型融合内核。

新一代 GPU 的调度能力也可能进一步压缩 Megakernel 的优势。以更细粒度的依赖触发为例,当某个计算任务所需的数据块就绪后,后续内核可立即启动,而不必等待前一阶段完整结束。这类机制旨在改善内核之间的重叠执行,解决过去推动大规模融合的一部分瓶颈。

但在 MoE 训练中,Megakernel 仍有现实价值

Cursor 开源了名为 Mixture-of-Kittens(MoK) 的 MoE 训练 Megakernel,面向 NVL72 配置。该实现将混合专家模型中的通信与计算融合为单个确定性内核。

其公开结果称,在若干模型配置上,MoK 的 MXFP8 前向吞吐量最高可达公开基线的 2.37 倍;整体 token 吞吐量提升为 41%。这些数据说明,当通信、计算和调度开销能够被统一处理时,融合方案仍可能带来显著收益。

关键不在于“融合或不融合”

这场争论更像是工程边界的变化,而非单一技术路线的终结。

  • 对于通信依赖强、执行路径相对固定的工作负载,深度融合仍可能有效。
  • 对于需要频繁迭代、跨设备同步复杂或组件可独立优化的系统,模块化内核与更强的硬件调度能力可能更合适。
  • 硬件能力演进会改变软件优化的收益结构,但不会自动消除所有通信与物理约束。

Megakernel 未必会成为通用的生产优化范式,但在 MoE 等高吞吐、特定拓扑的训练场景中,仍值得继续验证其性能与维护成本之间的平衡。

浏览(7)
评论

请登录后发表观点

暂无数据