符号与记号约定

符号 含义 取值范围 / 单位 备注
$B$ Batch size(当前解码轮参与的请求数) 正整数 原义是指 Global BS;这里指每个 DP 实例拿到的 B
$Q$ 本轮每个请求新增 token 数(q_len) 正整数
$D$ 数据并行(DP)实例数 正整数
$K$ MoE gating 的 Top‑K 1…$E$
$E$ 总专家数(per 模型) 正整数
num_groups 本卡 GroupGEMM 中被激活专家组数 0…本卡专家数 取 $\min(\text{本卡专家数}, \text{本轮有效子批次数})$
$m[i]$ 第 $i$ 个激活专家的子 batch 大小 非负整数 GroupGEMM 每组的 M 维
$T_{\text{total}}$ 本轮产生的新 token 总数 $B\times Q$

0. 引言

在多节点的 Prefill‑Decode(PD)分离部署中,开启DP_MoE选项后,专家会分布到多个数据并行(Data Parallel, DP)实例上。于是每个专家拿到的 token 数量,会随这几个变量变化:批处理大小 $B$、数据并行数 $D$、单轮新增 token 数 $Q$、以及 Top‑K $K$。我们聚焦 GroupGEMM 算子,它的两个关键入参 num_groups 与 $m[i]$ 同时受上述因素影响。为了最大化解码阶段效率,需要一套“可计算、可验证”的跨层映射与经验指引。

1. 理论计算

为避免符号混杂,按三层语义展开:引擎配置层 → MoE 路由层 → GroupGEMM 算子层;随后给出跨层映射与推论。

1.1 配置层(DP/EP 等)

1.2 MoE 路由层(token → expert)

$$T_{text{node}}

= {Btimes Q}tag{1}$$

$$T_{text{expert,node}} approx T_{text{node}}cdot K

= {Btimes Qtimes K}tag{2}$$

$$m_{max} lesssim alpha,frac{T_{text{expert,node}}}{E_{text{node}}}