Back to blog

FinDEP: Efficient MoE Inference with Fine-Grained Scheduling of Disaggregated Expert Parallelism

面向解耦专家并行的细粒度任务调度框架,实现MoE推理吞吐量提升1.61×

一、论文概述

项目内容
标题FinDEP: Efficient MoE Inference with Fine-Grained Scheduling of Disaggregated Expert Parallelism
作者Xinglin Pan, Shaohuai Shi, Wenxiang Lin, Yuxin Wang, Zhenheng Tang, Wei Wang, Xiaowen Chu
机构HKUST (Guangzhou), HIT Shenzhen, HK Baptist Univ, HKUST
论文arXiv:2512.21487
代码-
发布2024-12-25
领域分布式计算 (cs.DC)

二、核心思想

问题定义

MoE 模型推理面临内存密集型挑战:attention 层需要存储 KV cache,expert 层虽然只激活部分专家但需要存储全部专家参数。解耦专家并行 (DEP) 将 GPU 分为两个专用组:

  • Attention Group (AG):存储 attention 层和共享专家
  • Expert Group (EG):存储所有非共享专家

DEP架构

现有问题:AG 和 EG 之间需要双向通信(A2E 和 E2A),导致 GPU 空闲时间长。

现有方案的局限:

  1. PPPipe(乒乓流水线):仅支持 micro-batch 级别的流水线,不支持共享专家
  2. StepMesh:CPU offloading,粗粒度调度

解决方案概述

FinDEP 提出细粒度任务调度算法,三大创新:

  1. 细粒度任务分区:将计算和通信任务分割为更小的子任务
  2. 优化问题建模:形式化 DEP 推理时间优化问题
  3. 高效求解算法:多项式时间复杂度求解近似最优解

核心结果:吞吐量提升 1.61×,32 GPU 系统上仍达 1.24× 加速。

三、技术架构

MoE 模型结构

MoE结构

MoE 层将标准 FFN 替换为稀疏激活的专家网络,通过门控函数选择 top-k 个专家处理每个 token。

时间线对比

Naive DEP PPPipe FinDEP ASAS FinDEP AASS

方案流水线粒度共享专家支持通信重叠
Naive DEP无是无
PPPipemicro-batch否部分
FinDEP细粒度是最大

调度策略

FinDEP 支持两种任务排序策略:

AASS (Attention-All, Shared-All):

  • 先处理所有 attention 段,再处理所有 Shared Expert 段
  • 优势:更早启动 A2E 通信和专家计算

AASS调度示例1 AASS调度示例2

ASAS (Attention-Shared-Alternating-Sequential):

  • attention 和 Shared Expert 交替执行
  • 优势:提高 GPU 利用率,在等待 attention 信号时交错执行

ASAS调度示例1 ASAS调度示例2

核心公式

性能模型(线性模型):

组件时间模型
GEMMt_gm(x) = α_gm + β_gm × x
Attentiont_attn(y) = α_attn + β_attn × y
通信t_c(z) = α_c + β_c × z

推导的线性模型:

任务时间模型
Attention 层t_a(m_a) = α_a + β_a × m_a
Shared Expert 层t_s(m_a) = α_s + β_s × m_a
MoE 层t_e(m_e) = α_e + β_e × m_e
A2E/E2A 通信t_a2e(m_e) = α_a2e + β_a2e × m_e

Attention 层详细公式: ta(ma)=2tgm(ma×S×M×nh×dk)+2tgm(ma×S×M×nh×dv)+tattn(ma×S2×nh×(dk+dv))t_a(m_a) = 2t_{gm}(m_a \times S \times M \times n_h \times d_k) + 2t_{gm}(m_a \times S \times M \times n_h \times d_v) + t_{attn}(m_a \times S^2 \times n_h \times (d_k + d_v))

MoE 层公式: te(me)=3×(E/eg)×tgm(me×M×H)t_e(m_e) = 3 \times (E/e_g) \times t_{gm}(m_e \times M \times H)

优化目标: max⁡r1,ma,r2,mer1⋅ma⋅agmax⁡(τs(T,r1)+ts(ma),τe2a(T,r1,r2)+te2a(me))\max_{r_1, m_a, r_2, m_e} \frac{r_1 \cdot m_a \cdot a_g}{\max(\tau_s(T, r_1) + t_s(m_a), \tau_{e2a}(T, r_1, r_2) + t_{e2a}(m_e))}

单调性定理

Theorem 1-2:给定 (r₁, r₂),目标函数关于 m_a 单调递增

Theorem 3:给定 (m_a, r₂),目标函数关于 r₁ 单调非递减

Theorem 4:给定 r₁ 和 m_a,目标函数关于 1/r₂ 是凸的

时间戳分解

时间戳分解

算法流程

FinDEP流水线

Algorithm 1: FinDEP Configuration Search

输入: P, a_g, e_g, α*, β*, B, S, H, M, N_shared, E, top_k, T
输出: best_config = (m_a, r₁, m_e, r₂, order)

1. 初始化 best_config, best_tps ← 0
2. For m_a = ∞ downto 1:
   - r₁ ← getMaxR1(...)  # 内存约束
   - If r₁ == 0 or r₁ == r₁': continue  # 跳过非Pareto最优
   - For order ∈ {ASAS, AASS}:
     - r₂*, tps ← Solve(min_r₂ Eq. 17)
     - m_e ← m_a · a_g · top_k · S / (r₂* · E)
     - If tps > best_tps: 更新 best_config
3. Return best_config

复杂度:O(C · d(M)),其中 d(M) 是 M 的约数个数。求解器在 1 秒内完成。

在线流水线

  • 离线阶段:选择模型、确定 AG/EG 大小、收集性能模型系数
  • 在线阶段:数据到达时执行 Algorithm 1 快速得到最优配置

四、核心创新

创新点说明理论/实验依据
细粒度任务分区将计算/通信分割为 r 个子任务支持共享专家,最大化重叠
优化问题建模形式化 DEP 推理时间优化支持不同分区粒度和排序
高效求解算法多项式时间复杂度O(C·d(M)),<1秒求解
AASS/ASAS 策略两种互补的任务排序策略适应不同场景
单调性定理证明目标函数的单调性大幅缩减搜索空间

五、实验结果

实验平台

平台GPU显存NVLink数量
Testbed ARTX A600048GBYes8
Testbed BA1024GBNo8
Testbed CH2096GBYes8
Testbed DH2096GBYes32

模型:DeepSeek-V2, Qwen3-MoE

性能模型验证

组件R² 值
GEMM0.997132
通信0.994 - 0.999

微基准测试耗时 < 2 分钟。

吞吐量 vs m_a 和 r₁

DeepSeek-V2 吞吐量 (tokens/s):

TestbedSm_a=1m_a=2m_a=4
C2048202.67245.33284.00
D2048558.23690.47756.35
D4096632.41682.49707.57

验证了 Theorem 1-2 的单调性。

端到端性能

DeepSeek-V2 吞吐量对比 (tokens/s):

STestbed A PPPipeTestbed A FinDEPTestbed B PPPipeTestbed B FinDEPTestbed D PPPipeTestbed D FinDEP
102448.5053.40 (1.10×)86.7093.04 (1.07×)149.58161.50 (1.08×)
204846.2850.27 (1.09×)81.9986.63 (1.06×)134.42150.82 (1.12×)
409644.2151.47 (1.16×)81.0485.84 (1.06×)120.83132.07 (1.10×)
81928.5713.14 (1.53×)15.9825.71 (1.61×)37.1945.26 (1.22×)

Qwen3-MoE 吞吐量对比:

STestbed ATestbed BTestbed CTestbed D
10241.13×1.11×1.03×1.08×
20481.20×1.08×1.02×1.08×
40961.13×1.23×1.07×1.24×
81921.53×1.61×1.35×1.22×

在线场景性能

BackboneTokensTestbed ATestbed BTestbed CTestbed D
DeepSeek30721.04×1.12×1.03×1.23×
DeepSeek61441.06×1.09×1.04×1.14×
Qwen30721.20×1.14×1.00×1.24×
Qwen61441.13×1.09×1.01×1.17×

消融实验:非重叠通信时间

SNaive-DEPPPPipeFinDEP
4096905.49ms528.94ms309.81ms
2048536.22ms144.32ms52.60ms
1024194.95ms188.65ms97.33ms

FinDEP 相比 PPPipe 减少通信时间 1.7×。

六、相关工作

方法特点FinDEP 优势
MegaScale-Infer (PPPipe)micro-batch 流水线细粒度调度 + 共享专家支持
StepMeshCPU offloading更高效的重叠策略
DistServePrefill/Decode 解耦专注 MoE expert 解耦
MooncakeKVCache 池解耦互补方案
DeepSeek-V3热专家复制可结合使用
模型量化降低通信量正交优化

七、总结

核心贡献

  1. 细粒度任务分区:将计算和通信任务分割为更小的子任务,支持共享专家
  2. 优化问题建模:形式化 DEP 推理时间优化,包含任务排序和分区粒度
  3. 高效求解算法:O(C·d(M)) 多项式时间复杂度,<1 秒求解
  4. 实验验证:4 种 GPU 平台、2 种 MoE 模型、最高 1.61× 加速

技术影响

  • 为 MoE 模型的分布式推理提供了新的调度范式
  • 细粒度任务分区思想可推广到其他分布式计算场景
  • 在线求解能力使其适用于动态工作负载

局限性

  • 性能模型基于线性假设,极端情况下可能不准确
  • 主要针对 decode 阶段,prefill 优化较少
  • 需要离线微基准测试收集性能参数

八、关键图片索引

图片说明文件名
Figure 1MoE 模型结构moe-structure.png
Figure 2DEP 架构 (AG/EG)dep-architecture.png
Figure 3aNaive DEP 时间线timeline-naive-dep.png
Figure 3bPPPipe 时间线timeline-pppipe.png
Figure 3cFinDEP ASAS 时间线timeline-findep-asas.png
Figure 3dFinDEP AASS 时间线timeline-findep-aass.png
Figure 4aAASS 调度示例 1scheduling-aass-1.png
Figure 4bAASS 调度示例 2scheduling-aass-2.png
Figure 4cASAS 调度示例 1scheduling-asas-1.png
Figure 4dASAS 调度示例 2scheduling-asas-2.png
Figure 5时间戳分解timestamp-decomposition.png
Figure 6FinDEP 流水线findep-pipeline.png

九、参考资源