← 返回 2026-04-08

专家选择路由为扩散语言模型带来自适应计算能力 Expert-Choice Routing Enables Adaptive Computation in Diffusion Language Models

Shuibai Zhang, Caspian Zhuang, Chihan Cui, Zhihan Yang, Fred Zhangzhi Peng, Yanxin Zhang, Haoyue Bai, Zack Jia, Yang Zhou, Guanhua Chen, Ming Liu 📅 2026-04-02 👍 7 2026-07-13 08:36
专家选择路由 扩散语言模型 混合专家 自适应计算 调度策略

EC路由+时间步容量调度让DLM MoE训练提速2倍、推理提速1.5倍

前置知识

扩散语言模型(DLM)

DLM 通过迭代去噪生成文本:从全掩码序列出发,按掩码调度 $\gamma(t)$ 逐步预测并解掩码位置得到完整序列。每步用双向注意力同时处理所有 $L$ 个位置,与自回归逐 token 生成有本质区别。

DLM 的非因果、整序列并行去噪特性是本文一切论断的根基。理解 DLM 是理解为什么 EC 路由(需要全局视图)在 DLM 中自然适配的前提。

混合专家(MoE)与稀疏路由

MoE 把单个 FFN 替换为 $E$ 个并行专家 FFN,由路由器对 $N$ 个 token 输出门控分数矩阵。稀疏路由只激活部分 token-expert 对,TC 让 token 选 expert,EC 让 expert 选 token。

理解 TC 与 EC 在'谁选谁'上的对称反转是本文核心。TC 的负载不平衡是 DLM MoE 训练的瓶颈,本文通过反转选择方向同时获得吞吐提升和新的调度自由度。

Token-Choice(TC)路由

TC 让每个 token 独立选 top-$k$ 个 expert:$E_i=\mathrm{TopK}_j(S_{i,j},k)$。由于 token 独立决策,专家负载不可控,需要容量因子与辅助负载均衡损失双重约束,存在 straggler 效应。

TC 是基线。TC 的负载不均与容量上限两个缺陷通过 per-GPU memory std 3.6 GB 等实验被量化,是评估 EC 收益的对照基础。

Expert-Choice(EC)路由

EC 反转选择方向:每个 expert 独立选 top-$c$ 个 token,$T_j=\mathrm{TopC}_i(S_{i,j},c)$。设 $c=kN/E$ 时与 TC top-$k$ 计算量匹配,但负载均衡由构造保证,无需辅助损失,$c$ 本身成为可调设计变量。

EC 是本文的核心替代方案。理解其'专家选 token'的反转逻辑以及'负载由构造决定'的性质,是理解 EC 既消除 straggler 又开放时间步容量调度的关键。

时间步自适应计算

在扩散模型中,不同去噪步对应不同掩码率 $r$,每步面临质性不同的子任务。自适应计算指根据当前步特性动态分配计算资源(如专家容量),形式化为 $k(r)=k_{\min}+(k_{\max}-k_{\min})\cdot s(r)$。

时间步自适应是本文第二个核心创新。理解为什么 DLM 的不同掩码率步需要不同计算量,以及为什么低掩码率步学习效率高一个数量级,是把握'把计算视为策略而非常量'的关键。

研究动机

扩散语言模型(DLM)如 LLaDA、MDLM 已发展为替代自回归的前沿范式,并通过 MoE 扩展至百亿参数规模。然而现有 DLM MoE 直接沿用自回归系统的 token-choice (TC) 路由,带来三个问题。**结构性负载不均衡**:TC 让每个 token 独立选 top-$k$ expert,per-expert 负载不可控。在 LLaDA-2.0-mini (16B) 的 8 卡 H100 推理中,per-GPU 显存标准差 3.6 GB,单卡占 70.3 GB 而其他卡仅 58–64 GB,产生 straggler 效应。**辅助损失副作用**:TC 需额外负载均衡损失 $\mathcal{L}_{\mathrm{LB}}$,引入与主 LM 目标竞争的梯度信号;消融实验显示 dropless TC 配合 loss-free bias 也无法弥合 1.7 倍速度差距,说明负载不均是结构性问题。**计算调度僵化**:TC 下 per-expert 负载是 token 独立选择的涌现结果,无法被外部控制;DLM 中'不同去噪步面临不同任务'的结构特性无法被利用。

本文的目标是本文的具体目标是双重的。第一个目标是系统验证 expert-choice (EC) 路由作为 DLM MoE 替代方案的优越性——通过严格控制架构、数据、超参数相同的对照实验,量化 EC 在吞吐、收敛速度、负载均衡三个维度上相对 TC 的提升幅度。第二个目标是探索并形式化'时间步自适应计算'这一新维度:在 EC 路由下,expert 容量 $c$ 成为可外部调节的设计变量,作者据此提出容量调度函数 $k(r)=k_{\min}+(k_{\max}-k_{\min})\cdot s(r)$,系统比较多种调度策略(线性、cosine、Gaussian 及其反向),并在 FLOPs 匹配的前提下找出最优调度。最终,作者还希望证明:现有部署的 TC 预训练 DLM(如 LLaDA-MoE)可以通过仅替换路由器的方式无缝迁移到 EC,从而把研究成果直接惠及现有模型。

与已有工作不同的是,本文独特切入角度有三。**路由机制与扩散结构特性的耦合**:之前工作要么沿用 AR 范式 TC 路由忽视 DLM 非因果特性,要么像 EC-DIT 仅在视觉连续扩散上验证 EC 路由。本文首个把 EC 路由系统性引入离散掩码扩散语言模型,利用 DLM 非因果整序列并行性论证 EC 在 DLM 中比 AR 更'自然'。**时间步作为新自适应维度**:之前 MoE 自适应计算主要沿深度(early-exit、MoD),或沿视觉扩散 timestep 做隐式/学习式容量分配。本文首次以显式、hand-designed、解析可比较的调度函数系统研究 DLM 中专家容量随掩码率变化,并通过收敛率 $\eta_r=-\frac{d\ln L_r}{dt}$ 给出机理——低掩码率步收敛率高出高掩码率步一个数量级。**EC 改造从训练扩展到现有 TC 模型 retrofit**:仅替换路由器即可让 LLaDA-MoE 在 GSM8K、HumanEval、MedQA 上同时获得更快收敛、更高准确率与 1.3–1.5 倍推理加速,为已部署模型的迁移提供了低成本路径。

核心方法

本文方法由两条相互独立又互补的技术路线组成。**第一条:路由机制替换**。将 DLM MoE 中标准的 token-choice (TC) 路由器替换为 expert-choice (EC) 路由器——把每个 token 输出 $k$ 个专家得分改为每个 expert 在所有 token 的得分中选 top-$c$。直觉上相当于'商品挑货架'改为'货架挑商品',每 expert 处理 token 数严格相等,消除 straggler。**第二条:时间步自适应容量调度**。在 EC 路由基础上,把恒定 $c$ 升级为关于掩码率 $r$ 的函数 $k(r)=k_{\min}+(k_{\max}-k_{\min})\cdot s(r)$,系统比较多种 $s(r)$。所有调度在 $r\sim\mathrm{Uniform}(0,1)$ 下 $\mathbb{E}[k(r)]=\bar{k}$,保证与静态基线 FLOPs 严格匹配。第三条路由器 retrofit:保留预训练 TC DLM 的 expert 权重与 embeddings,仅替换路由器做下游 SFT。

本文的核心创新点与已有方法的本质区别在于'把 DLM 的时间步结构转换为 MoE 的可调计算自由度'。传统观点认为 MoE 路由只是'选择机制',TC 路由已经广泛使用,需要辅助损失约束负载。但本文揭示了两层新视角:第一层是 EC 路由的'结构性优势'——通过反转选择方向,负载均衡由构造保证(每 expert 处理 $c$ 个 token 严格相等),消除 straggler,per-GPU memory std 由 3.6 GB 降至 0.0 GB,吞吐从 24.9 提升到 52.1 TFLOPs/s/GPU;第二层是 EC 路由独有的'可调度性'——容量 $c$ 作为外部设计变量打开了时间步自适应的大门,这是 TC 路由下根本无法实现的(TC 的负载是涌现的)。本文还通过机理性指标 $\eta_r=-\frac{d\ln L_r}{dt}$ 量化发现低掩码率步学习效率高出 7 倍以上,从而解释了为什么线性反向调度(更多容量给低 $r$)效果最好。

方法步骤详情

本文方法按两条主线执行。**主线 A:路由机制替换与时间步容量调度。** 步骤 1:构造对照架构——16 层 Transformer、hidden 2048、64 fine-grained expert 的 MoE DLM,TC 与 EC 共享所有超参数(AdamW, WSD, lr=$2\times10^{-4}$)。步骤 2:定义 EC 路由——每个 expert 选 top-$c$ 个 token:$T_j=\mathrm{TopC}_i(S_{i,j},c)$。步骤 3:定义时间步容量调度函数 $k(r)=\mathrm{clamp}(k_{\min}+(k_{\max}-k_{\min})\cdot s(r))$,所有调度器匹配 FLOPs。步骤 4:训练 OpenWebText 与 Nemotron-CC 上的 8B-A1B 模型。**主线 B:TC 模型 EC retrofit**——冻结 LLaDA-MoE 所有 expert 权重与 embeddings,仅替换路由器;在 GSM8K-AUG-NL、OpenCodeInstruct、MedQA 上做 SFT。

技术新颖性

本文的技术新颖性体现在四个层面。第一,**问题定义上的新颖**:首次把 DLM 的'去噪步结构差异'与 MoE 的'专家容量'显式耦合,提出时间步自适应容量调度这一新问题,区别于已有工作(DiffMoE 视觉扩散的 learned predictor、AdaDiff/DyDiT 的 width/depth 调节)。第二,**路由机制层面的迁移创新**:在 DLM 中首次系统证明 EC 优于 TC,并通过控制辅助损失(no LB/loss-free bias)与容量因子(1.0/1.25/1.5)的消融,证明 EC 的优势源于结构性负载均衡而非辅助损失效应。第三,**机理性发现**:通过在掩码率四分位 bin 上计算对数损失收敛率 $\eta_r$,揭示低掩码率步学习效率高出高掩码率步一个数量级的事实,为'为什么反向调度更好'提供了非平凡的可量化解释——这是单纯实证研究所缺乏的。第四,**工程上的实用性创新**:提出的路由器 retrofit 方案仅需替换路由而不动 expert 权重,使得已有部署的 LLaDA-MoE 等模型可以低成本享受到 EC 的训练与推理双重收益。

Left: TC (top-1) vs. EC (capacity c = 2) routing on a 6×3 gating score matrix. Right: GPU memory snapshot.
Figure 2: Left: TC (top-1) vs. EC (capacity c = 2) routing on a 6×3 gating score matrix. Right: GPU memory snapshot.
Linear-reverse scheduling: as mask ratio r decreases during denoising, per-expert capacity increases.
Figure 3: Linear-reverse scheduling: as mask ratio r decreases during denoising, per-expert capacity increases.
Per-layer token drop ratio at step 300K for static and dynamic EC (8B-A1B, Nemotron-CC).
Figure 8: Per-layer token drop ratio at step 300K for static and dynamic EC (8B-A1B, Nemotron-CC).

实验结果

本文核心发现分五组实验。**实验一(§3 EC vs TC)**:EC 10.6 小时达 loss 3.75,比 TC dropless (20.7h) 提速约 2.0 倍;EC 达 52.1 TFLOPs/s/GPU,是 TC 的 1.5–2.1 倍;TC per-GPU memory std 3.6 GB,EC 严格相等。**实验二(§4 调度)**:Linear-Reverse 36.5 < Static 37.1 < Cosine-Reverse 37.2 < Gaussian 37.3。**实验三(§4.4 8B-A1B)**:dynamic EC 在 PPL、MMLU、ARC-Challenge 上每 checkpoint 都优于静态 EC。**实验四(§4.5 机理)**:低掩码率 bin $\eta_r$ 高达 $62.2\times10^{-7}$,高掩码率 bin 仅 $9.8\times10^{-7}$,差 7 倍。**实验五(§5 retrofit)**:四任务平均 52.6% → 53.6% / 54.9%。

Training throughput (TFLOPs/s/GPU) over the first 35h.
Table 1: Training throughput (TFLOPs/s/GPU) over the first 35h.
Scheduling strategies and final validation perplexity (30B tokens, OpenWebText).
Table 2: Scheduling strategies and final validation perplexity (30B tokens, OpenWebText).
Peak accuracy (%) and evaluation decode time (s) for TC-to-EC retrofitting.
Table 3: Peak accuracy (%) and evaluation decode time (s) for TC-to-EC retrofitting.
Training loss vs. wall-clock time. EC reaches loss 3.75 in 10.6h, 2.0× faster than TC (20.7h).
Figure 1: Training loss vs. wall-clock time. EC reaches loss 3.75 in 10.6h, 2.0× faster than TC (20.7h).
Scheduler comparison on OpenWebText (30B tokens, matched average FLOPs).
Figure 4: Scheduler comparison on OpenWebText (30B tokens, matched average FLOPs).
8B-A1B pretraining comparison: dynamic EC (linear-reverse, k=2–14) vs. static EC (k=8) on Nemotron-CC.
Figure 5: 8B-A1B pretraining comparison: dynamic EC (linear-reverse, k=2–14) vs. static EC (k=8) on Nemotron-CC.
Mechanistic analysis of learning efficiency (8B-A1B, Nemotron-CC).
Figure 6: Mechanistic analysis of learning efficiency (8B-A1B, Nemotron-CC).
Retrofitting a pretrained TC DLM (LLaDA-MoE) to EC and dynamic EC across four benchmarks.
Figure 7: Retrofitting a pretrained TC DLM (LLaDA-MoE) to EC and dynamic EC across four benchmarks.
查看结构化数据
任务指标本文基线提升
DLM MoE 训练 (Nemotron-CC, §3) 训练吞吐 (TFLOPs/s/GPU) EC 路由: 52.1 TC dropless: 24.9, TC cap=1.25: 27.0 1.5–2.1 倍吞吐提升
DLM MoE 训练 (Nemotron-CC, §3) 达到 loss 3.75 的 wall-clock 时间 EC: 10.6 小时 TC dropless: 20.7h, TC cap=1.25: 19.9h 约 2.0 倍加速
DLM MoE 推理 (LLaDA-2.0-mini 16B, 8×H100) per-GPU 显存标准差 (GB) EC 路由: 0.0 GB (完美均衡) TC 路由: 3.6 GB (峰值 70.3 GB) 完全消除负载不均,无 straggler
OpenWebText 30B tokens 调度对比 (§4) 验证困惑度 (PPL) Linear-Reverse: 36.5 Static k=20: 37.1, Linear: 37.5, Gaussian: 37.3 相对 Static 降低 0.6 PPL(≈1.6% 相对改进)
8B-A1B DLM 预训练 (Nemotron-CC, §4.4) 验证 PPL @ checkpoint Dynamic EC (Lin-Rev, k=2–14) 全程优于静态 Static EC (k=8) 每个训练 checkpoint 都更优(Figure 5)
HumanEval (代码生成, §5 retrofit) Pass@1 (%) Dynamic EC: 58.6 原 TC: 53.9 +4.7 个绝对百分点,1.3× 解码加速
HumanEval-Plus (代码生成, §5 retrofit) Pass@1 (%) Dynamic EC: 51.6 原 TC: 46.1 +5.5 个绝对百分点
GSM8K (数学推理, §5 retrofit) 准确率 (%) Dynamic EC: 73.8 原 TC: 74.8 略低 -1.0,但在 decode 时间 461s vs 672s 显著更快
MedQA (医学知识, §5 retrofit) 准确率 (%) Static EC: 36.7 原 TC: 35.6 +1.1 个百分点
下游任务平均 (HumanEval/HumanEval+/GSM8K/MedQA, §5) 平均 Pass@1 / 准确率 (%) Dynamic EC: 54.9 TC: 52.6, Static EC: 53.6 +2.3 个百分点(vs TC),1.3–1.5× 更快解码
8B-A1B 学习效率机理分析 (§4.5) 对数损失收敛率 $\eta_r$ (×10⁻⁷) 低掩码率 bin [0,0.25): 62.2 高掩码率 bin [0.75,1.0): 9.8 学习效率高出 7 倍以上

局限与改进

本文局限性分作者承认与外部观察。作者在 Appendix A 指出,所探索的容量调度是 hand-designed 函数(linear/cosine/Gaussian 及其反向),最优调度可能依赖模型规模、数据集和任务,理论上 learned scheduler(RL policy 或 DiffMoE 风格的 capacity predictor)可能更优。作者还承认 linear-reverse 与 cosine-reverse 在 per-bin $\eta_r$ 上几乎无差别(图 11 ratio 0.97–1.04),但 PPL 仍有 0.7 差距,可能源于'优化轨迹或梯度噪声结构'等高阶效应。外部观察:(1)token drop 风险——附录 C 显示 dynamic EC 在 layer 0 高达 32% drop ratio;(2)retrofit 中 GSM8K 上 dynamic EC (73.8%) 略低于原 TC (74.8%);(3)评测任务单一;(4)主实验 8B-A1B 是当前规模上限,未在 70B+ 验证。

独立分析的弱点

独立分析本文弱点有四点。**调度函数仍是 hand-designed 且种类有限**:只探索 6 种解析形式,都满足 $\mathbb{E}[s(r)]=\frac{1}{2}$ 对称结构;改进方向是引入 piecewise linear、adaptive threshold 等参数化更强调度族,或训练轻量 capacity predictor。**机理解释停留在相关性层面**:$\eta_r$ 高 7 倍是观察结果,作者仅给出定性解释;改进方向是补充 loss Hessian eigenspectrum 分析。**token drop 隐性风险被低估**:dynamic EC 在 layer 0 的 20–32% drop rate 意味着首层路由尚未成熟时大量 token 只能依赖 shared expert。**retrofit 实验隔离性不足**:Table 6 中 4 种 TC 变体平均准确率 52.2%–53.8%,与 EC (53.6%)、Dynamic EC (54.9%) 差距较小;GSM8K 上 TC (74.8) 反而最高。

未来方向

未来研究方向可分作者提出与可延伸两条线。**作者提出的未来工作**:(1)将 hand-designed 调度替换为 learned 调度,如 end-to-end 训练轻量 capacity predictor(借鉴 DiffMoE)或用 RL policy 自适应容量;(2)更细粒度的 per-token 或 per-block 容量分配;(3)把时间步自适应与深度自适应(early-exit / MoD)正交组合,实现二维自适应计算;(4)探索 EC 在 DLM 推理阶段的极致并行解码。**可延伸方向**:(1)**多模态 DLM 的 EC 路由**:当前 EC-DIT 在视觉扩散已验证,但视觉-语言多模态 DLM 中尚未研究;(2)**KV cache 兼容**:DLM 推理加速(Fast-dLLM 系列)依赖 KV cache,EC 路由下被 expert 选中的 token 集合每步都变,KV cache 复用需重新设计;(3)**更大规模迁移验证**:8B-A1B → 70B+ 量级;(4)**理论分析**:建立 DLM 时间步学习效率与样本复杂度的形式化下界。

复现评估

本文复现性整体良好。**代码与权重**:作者在 GitHub 公开完整代码仓库 https://github.com/zhangshuibai/EC-DLM。**数据**:所有数据均为公开——Nemotron-CC、OpenWebText、GSM8K-AUG-NL、OpenCodeInstruct、MedQA、HumanEval(+)、MMLU、ARC-Challenge。**框架**:基于 Megatron-LM,使用 SwiGLU 激活与 AdamW + WSD 学习率调度。**算力门槛**:附录 D 列出全部超参数——16 层 Transformer、hidden 2048(主实验)或 512(OpenWebText)、64/16/512 fine-grained expert、序列长度 513/2049、global batch 256/288。复现主实验需 H100 GPU 集群(8 卡用于推理显存分析),数天到一周训练时间;retrofit 实验单节点 8 卡即可。**潜在障碍**:附录 E.3 指出吞吐量测量基于前向 FLOPs 公式。