【论文】略读笔记89-前沿-差分专家缓存的批量 MoE 推理

【论文】略读笔记89-前沿-差分专家缓存的批量 MoE 推理

Fre5h1nd Lv6

📖《Diff-MoE: Efficient Batched MoE Inference with Priority-Driven Differential Expert Caching》

2025 年 华中科技大学团队 发表于 CCF-A 类会议 SC(International Conference for High Performance Computing, Networking, Storage, and Analysis)。

🎯需求

  • 新兴的专家混合 (MoE) 模型通过在推理过程中稀疏地激活专家子集来降低大规模LLM的高计算成本。
    • 基于 Transformer 的大语言模型(LLM)已经取得了显着的性能,现已广泛应用于自然语言处理(NLP)、计算机视觉(CV)和多模态理解等不同领域。
    • 然而,模型大小的不断扩展导致计算和存储需求呈指数级增长,给高效推理服务带来了重大挑战。
    • 为了解决这个问题,主流稀疏LLM越来越多地采用混合专家(MoE)架构,该架构因其能够减轻大规模推理的高计算要求而引起了广泛关注。
      • 如图 1 所示,稀疏 LLM 通常用 MoE 层替换密集 Transformer 层中的前馈网络 (FFN),MoE 层由门控网络和大量专家组成。与在推理过程中激活所有模型参数的密集 LLM 不同,MoE 中的门控网络仅针对每个输入标记选择性地激活一小部分专家。这种选择性激活可以进一步扩展模型容量,同时节省计算成本。
      • 图1: 基于 MoE 的密集LLM架构。推理由编码阶段和随后的自回归解码组成,其中标记 t0、t1、t2... 被生成。每层包含一个标准 FFN(密集)或一个具有选择专家的门控网络的 MoE。
        图1: 基于 MoE 的密集LLM架构。推理由编码阶段和随后的自回归解码组成,其中标记 t0、t1、t2... 被生成。每层包含一个标准 FFN(密集)或一个具有选择专家的门控网络的 MoE。
  • 然而,尽管有很多好处,但 MoE 由于专家数量众多需要存储大量专家参数,带来了大量的内存开销,这对资源有限的 GPU 造成了严重的内存瓶颈。
    • 例如,基于 MoE 的 Google Switch-XXL 模型拥有 3950 亿个参数,每层包含 128 位专家,而其非 MoE 模型 T5-XXL每层只有一个 FFN,仅需要 110 亿个参数。以 FP32 精度加载 Switch-XXL 需要超过1.5TB的GPU内存,远远超过现代 GPU 的容量(例如 141 GB 的 NVIDIA H200),这使得单 GPU 部署极具挑战性。
  • 幸运的是,MoE 层表现出固有的稀疏性,因为在推理过程中每个Token仅激活一小部分专家。

🚧现状

  • 现有方法将参数卸载到主机内存,并使用复杂的策略将激活的专家预取到 GPU 内存,但这些解决方案是针对单批次推理而定制的,并且在较大批次大小时会遇到通信瓶颈,从而限制了吞吐量。
    • 阶段1-卸载:先前的工作通过将专家参数卸载到主机内存,并根据需要仅将激活的专家传输到 GPU 内存。虽然这减少了 GPU 内存的使用,但它引入了昂贵的主机到GPU通信,增加了推理延迟。
    • 阶段2-保留:为了减轻这种开销,最近的研究提出了两种类型的解决方案:基于预取的和基于缓存的。
      • prefetch 基于预取:预取会提前加载下一个 MoE 层的所有或预测的专家,将数据迁移与正在进行的计算重叠。
      • cache-based 基于缓存:相比之下,缓存使用最近最少使用 (LRU) 等策略将频繁激活的专家保留在 GPU 内存中,从而避免冗余传输并减少通信流量。
    • 然而,我们的调查表明,现有的基于预取和缓存的卸载解决方案主要是针对 “批大小为 1” 设计的,当扩展到更大的批量时,会遇到严重的通信瓶颈。
      • 对于基于预取的方法,增加批量大小会激活更多专家,从而在主机和 GPU 之间有限的 PCIe 带宽下显着增加通信开销。相比之下,由于大规模并行性,GPU 计算时间保持相对稳定。因此,通信时间最终超过了计算时间,主导了整体 MoE 推理延迟。
      • 基于缓存的方法也会大规模退化,因为较大的批次会导致缓存未命中率迅速增加。这会引发频繁的专家迁移,从而产生高昂的通信开销。

🛩创新

  • 观察:我们观察到 MoE 推理中的专家激活表现出很强的特定于层的局部性。

    • 在每个 MoE 层中,在整个推理阶段经常调用一小部分专家,我们将其称为全局局部性
    • 相比之下,一些专家在几次连续的解码迭代中被重复激活,表现出时间局部性
  • 方案:我们提出了 Diff-MoE,这是一种高效的批量推理框架,适用于主机 GPU 异构架构上基于 MoE 的稀疏 LLM。Diff-MoE 将差分缓存架构轻量级专家预测器集成在一起。

    • 首先,在 GPU 内存中引入了差异化缓存管理方案。
      • 思路:每层中的全局热专家永久驻留,局部热专家通过保留局部性的替换策略进行动态管理,冷专家按需获取并在使用后立即驱逐。
      • 挑战:实现这种设计面临两个关键挑战。
        • 首先,准确识别全局和局部热专家并非易事,因为他们的激活取决于输入Token和模型结构。
        • 其次,层中的局部热专家集在解码迭代中动态演化,使得充分利用时间局部性的替换策略的设计变得复杂。
      • 实现:该架构由每层高优先级缓存每层中优先级缓存组成,
        • 每层高优先级缓存永久存储 在微调期间识别出的全局热专家
        • 每层中优先级缓存:根据新的替换策略 动态维护 局部热专家以最大化命中率,
        • 以及共享低优先级缓存临时保存 全局热点专家。
    • 此外,Diff-MoE 还包含一个轻量级预测器
      • 预测可能在下一个 MoE 层中激活的专家,可以预取下一个 MoE 层可能需要的专家,将迁移与计算重叠,以进一步减少延迟。
      • 重要的是,Diff-MoE 不需要对底层 MoE 架构进行任何修改,使其适用范围广泛且易于部署。
  • 本文做出以下主要贡献:

    • • 我们分析了大批量设置下用于 MoE 推理的现有卸载解决方案的通信瓶颈,并确定以前被忽视的专家激活局部性作为缓解这些瓶颈的机会。
    • • 我们设计了Diff-MoE,它将差分缓存管理机制与轻量级专家预测器相结合,该机制利用专家激活局部性来减少通信流量,该轻量级专家预测器将专家迁移与计算重叠,以进一步减少通信延迟。
    • • 我们在跨不同任务的流行 MoE 模型上实施和评估 Diff-MoE。我们的结果表明,Diff-MoE 的性能优于三种最先进的卸载解决方案 DeepSpeed、Pre-gate MoE 和 MoE-Infinity,平均吞吐量提高了 2.74 倍、2.22 倍和 1.55 倍。

📊效果

  • 我们的评估表明,与 DeepSpeed、Pre-gate MoE 和 MoE-Infinity 相比,Diff-MoE 的推理吞吐量分别提高了 2.74 倍、2.22 倍和 1.55 倍。

🧠疑问

  1. 个人对decoding还不够熟悉,后续需要补一下encoding和decoding的区别。也需要补一下MoE的基础知识(例如为什么相比FFN更有效、Gating如何设计等)。
  2. 引言中没有对第一个创新中的具体“替换策略”、第二个创新中的具体“预测器设计”展开介绍,看起来把创新定位成了整体的架构设计而非具体算法。


  • 希望这篇博客对你有帮助!如果你有任何问题或需要进一步的帮助,请随时提问。
  • 如果你喜欢这篇文章,欢迎动动小手给我一个follow或star。

🗺参考文献

[1] Kexin Li, Wenkan Huang, Qinggang Wang, Long Zheng, Xiaofei Liao, Hai Jin, and Jingling Xue. 2025. Diff-MoE: Efficient Batched MoE Inference with Priority-Driven Differential Expert Caching. In Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis (SC ‘25). Association for Computing Machinery, New York, NY, USA, 1951–1965. https://doi.org/10.1145/3712285.3759903

  • 标题: 【论文】略读笔记89-前沿-差分专家缓存的批量 MoE 推理
  • 作者: Fre5h1nd
  • 创建于 : 2026-05-13 19:05:27
  • 更新于 : 2026-05-13 21:05:08
  • 链接: https://freshwlnd.github.io/2026/05/13/literature/literatureNotes89/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论