← 返回 2026-04-23

专家扩增:将混合专家模型的计算高效边界前移 Expert Upcycling: Shifting the Compute-Efficient Frontier of Mixture-of-Experts

Chaitanya Dwivedi, Binxuan Huang, Himanshu Gupta, Pratik Jayarao, Neeraj Varshney, Bing Yin 📅 2026-04-21 👍 21 2026-07-13 08:36
Mixture-of-Experts 持续预训练 模型扩展 稀疏路由 计算最优 预训练效率

在 MoE 中途复制专家扩容,固定 top-K 不增加推理成本,省 24–32% GPU 小时。

前置知识

Mixture-of-Experts (MoE)

一种把 Transformer 的 FFN 子层替换为 E 个并行的「专家子网络」、再用一个可学习的路由器为每个 token 选出 top-K 个专家的架构。每个 token 只激活 K 个专家,激活参数远小于总参数,从而把模型总容量和单 token 计算解耦。Qwen3 激活 22B/总 235B,DeepSeek-V3 激活 37B/总 671B 都是典型代表。

本文的所有方法都建立在 MoE 之上。理解 top-K 路由、固定 K 即固定每 token FLOPs 是阅读动机和方法的前提,否则无法理解为什么「只复制专家不算力」是一种优势。

Top-K 路由与激活率 K/E

Top-K 路由让路由器对每个 token 选 K 个分数最高的专家;激活率 K/E 衡量每个 token 实际激活的专家占专家总数的比例。激活率越低,模型越稀疏,缩放定律预测在固定激活计算时模型质量随总参数增长得越快。

本文的核心机制是「只增加 E、不增加 K」,从而把激活率往下推而不改变推理成本;Term I 容量项的预测和激活率扫描实验都建立在这条缩放定律上。

持续预训练 (Continued Pre-Training, CPT)

在模型已经训练过一段时间之后,再用新的数据或同一个分布上的额外数据继续训练。本文中 CPT 特指 upcycling 切换之后的训练阶段,目的是打破复制专家之间的对称性、让它们分化为不同专长的子网络。

CPT 阶段是「对称性破缺」实际发生的地方,论文里所有关于 τ(切换点)和 T−τ(CPT 长度)的消融都直接影响 CPT 预算,从而影响 gap closure 效率。

结构化剪枝中的重要性分数

用来评估神经网络中某个结构(如一个 expert 块)对损失重要程度的一阶或二阶近似量,常见的有权重范数 ∥w∥²、梯度范数 ∥g∥²、Taylor 显著性 ∥w∥·∥g∥、曲率归一化 ∥g∥²/H。

本文的 utility-based expert selection 直接借鉴这套工具,只是把方向反过来用:剪枝是「砍掉不重要的」,upcycling 是「复制最重要的」。

Warm Initialization(热启动)

用已训练好的参数作为新模型的起点,而不是随机初始化。Net2Net 通过函数保持变换实现 warm init;本文通过对专家做精确复制 + 路由偏置加小噪声来达到近似的低初始损失。

热启动的「近不近 mE 专家的最优解」决定了 Term II 初始化收益的大小,是 upcycling 相比随机初始化新 MoE 唯一直接拿到的免费午餐。

研究动机

Mixture-of-Experts 已成为扩展 LLM 的主流架构,缩放定律明确指出在固定激活计算量 $C_a$ 下,模型质量随总参数 $P_t$ 单调增长,因此业界都把激活率 $K/E$ 压得很低——Qwen3 激活 22B/总 235B、DeepSeek-V3 激活 37B/总 671B、Kimi K2 激活 32B/总 1T。但从零训练一个大 E 的 MoE 极其昂贵:所有专家的权重、梯度、优化器状态都要常驻在加速器内存里,因此显存和所需 GPU 数都随 E 线性增长;而且把专家分到不同设备会引入 all-to-all 通信,在标准 GPU 集群上能吃掉 45–50% 的训练时间。换言之,缩放定律越推荐低激活率,训练成本就越高,二者构成尖锐矛盾。

本文的目标是本文提出 expert upcycling,希望在 MoE 训练中途以「渐进式容量扩展」的方式获得大 E MoE 的质量优势,但不必为前 τ 步付出大模型的训练代价。具体目标是在固定 top-K 路由的前提下把 E 专家模型扩成 mE 专家模型(论文主实验 m=2、32→64),使得 (i) 总训练计算严格低于从头训练 mE 专家模型,主实验中 7B→13B 量级在 50% CPT 下省 ~32% GPU 小时、100% CPT 下省 ~24% GPU 小时;(ii) 在合理 CPT 预算内把与从头训练的 gap 关上——100% CPT 下 11 个下游基准平均精度差距缩到 0.3 点,验证 loss 1.263 vs 1.267 反而略优。

与已有工作不同的是,已有工作走的是两条不同的路:dense→MoE 的 sparse upcycling(Komatsuzaki 等)把一个 dense 模型切开塞进 MoE,不解决 MoE→MoE 的容量扩展;Net2Net、Stacking Your Transformers、SPARKLING 等渐进训练方法增加的是 dense 宽度或深度,必然抬高推理成本。Nexus、LayerMoE、Branch-Train-Stitch 等往已有 MoE 里「加新专家」,但加入的是独立训练过或领域专精的专家,依赖外部训练资源。本文抓住了所有这些工作都没有覆盖的空白:在 MoE 内部对已有专家做精确复制并扩展路由器,用 CPT 把对称性打破成特化,全程保持 top-K 不动、推理成本不变。

核心方法

Expert upcycling 的总体思路是「先小后大、保持 K 不动」。先正常预训练一个 E 专家 MoE,到第 τ 步时对每个专家按一定规则复制 $r_e$ 份($\sum_e r_e = mE$),把路由器扩展到 mE 个槽位(复制原路由权重并对新专家的路由偏置加 $\epsilon \sim U(-\delta, \delta)$ 的小噪声,$\delta = 10^{-3}$),然后在扩成 mE 的模型上做 CPT 到第 T 步。整个过程 top-K 不变,因此单 token 计算量与原始 E 专家模型一致;前 τ 步跑在更小的模型上,比从零跑 mE 专家模型便宜 $\tau(s_{mE}-s_E)$ 的 GPU 小时,论文在 7B 量级实测 $s_{mE} \approx 1.9 s_E$。理论分析把 upcycling 相对从头训练的损失差距分解成「容量项」和「初始化项」两部分,前者随 $\tau$ 增大而恶化(在小模型里多花的算力回不来),后者只取决于算子设计(与 $\tau$ 无关),从而给出两个独立可调的杠杆。

本文的核心创新在于把 upcycling 算子形式化为「带路由偏置扰动的精确复制」,并把剪枝文献里 gradient-based 重要性分数反过来用作 utility-based expert selection,让不均匀复制更高效地关闭 Term II。具体地:(1) 与 Net2Net 那类函数保持变换不同,本文承认 top-K 是离散操作、无法做到严格函数保持,所以选择「接近函数保持」——复制让初始 loss 跟原模型基本重合(实测差距 $<10^{-2}$),用 CPT 后续打破对称性而不是保证瞬时等价;(2) 与 sparse upcycling 的 dense→MoE 转换不同,本文整个过程都停留在 MoE 内部,路由结构和专家特化自然继承,不存在 dense→MoE 那一道巨大的容量鸿沟;(3) 在选择「复制谁」时引入 $\|g\|^2$ 与 $\|w\|\|g\|$ 两种一阶重要性分数,贪心地把额外副本分配给高 utility 专家,比 uniform 复制在 25% CPT 预算下把 gap closure 效率从 8.2% 拉到 26.5%,提升超过三倍。

方法步骤详情

1. 训练 E 专家 MoE 基座:在 DCLM(或主实验的英文数据混合)上预训练一个 E=32 的 MoE 约 τ 步,使用 WSD 学习率调度和 loss-free 负载均衡,top-K 固定为 2(interleaved 架构)或 8(full MoE 架构)。 2. 计算 utility 分数:在第 τ 步前用 10 个 batch 的梯度均值计算每个专家的 $g_e = \nabla_{w_e} L$,得到 $u_G(e) = \|g_e\|_2^2$ 或 $u_{SAL}(e) = \|w_e\|_2 \cdot \|g_e\|_2$。 3. 分配复制数 $r_e$:贪心地把额外的 $mE-E = 32$ 个副本分配给分数最高的专家,每专家最多复制 n=3 次。默认使用 $\|g\|^2$ 引导的不均匀复制;uniform 复制是基线。 4. 应用 upcycling 算子 $U_m$:对每个专家 $e$ 精确复制其参数 $r_e$ 次,复制原路由权重到所有副本,再给副本的路由偏置加 $\epsilon \sim U(-10^{-3}, 10^{-3})$ 的小噪声;注意力层、嵌入、LayerNorm 全部不变。 5. 重置优化器状态:参考 sparse upcycling 的做法清空 Adam 状态,让新参数从零动量开始累积。 6. CPT 阶段:在与基座训练数据不相交的新 split 上对 mE 专家模型继续训练 $T-\tau$ 步。Loss-free 负载均衡 + 路由偏置扰动 + 随机梯度多样性三个机制共同把复制出来的同质专家推向不同特化方向。 7. 评估:报告验证集 cross-entropy loss 以及 11 个下游基准(MMLU、BBH、GSM8K、IFEval、HellaSwag、ARC-C、ARC-E、PIQA、OBQA、SciQ、Social IQA)的平均精度。

技术新颖性

技术上最值得强调的新颖性有三点。第一,把 upcycling 算子写成了带扰动的精确复制 + 路由扩展的组合,并用 canonical lifting 给出 OCO regret 形式化分析,得到 $\Delta R = (\sum_{t<\tau} \eta_t / \sum_t \eta_t)(L_E^\star - L_{mE}^\star) + (\|\theta_U^+ - \theta_\star^+\|^2 - \|\theta_0^+ - \theta_\star^+\|^2)/(2\sum_t \eta_t)$ 的两段分解,把「什么时候切换」和「怎么初始化」解耦为两个独立可调的旋钮。第二,论文系统比较了 20 种专家/路由初始化启发式(噪声注入、Drop Upcycling、interpolation、orthogonalization、SVD 扰动、稀疏码混合、bias encoding/discriminating duplication 等),发现没有任何一种能比简单 copy-paste 在验证集上拉开超过 $10^{-3}$ 的差距,Spearman 秩相关 ρ=0.80(val)/0.86(train),结论是「在已经稀疏的 MoE 内部,热启动质量的主导因素是复制谁、而不是怎么扰动」。第三,论文把 utility-based expert selection 形式化为「梯度范数引导的非均匀复制」并给出从一阶 Taylor 展开出发的理论动机,且通过 25% CPT 预算下 26.5% vs 8.2% 的对照实验量化了其相对 uniform 复制的优势——这是把结构化剪枝的 saliency 工具真正用成「对偶」于剪枝的扩增工具。

Overview of the expert upcycling procedure.
Figure 1: Overview of the expert upcycling procedure.

实验结果

主实验是 20 层 interleaved MoE、~7B→13B 总参数、~1B 激活非 embedding 参数、32→64 专家、top-K=2,在 380B token 预训练后做 50% 或 100% CPT。在 50% CPT 下,upcycled 模型验证 loss 1.305 优于 Fixed-64 的 1.308(efficiency 109.7%),11 个下游基准平均精度 52.1 vs 53.4,差距 1.3 点,节省 ~32% GPU 小时;常识与语言理解类(HellaSwag、PIQA、Social IQA、OBQA)甚至追平或超过 Fixed-64,差距集中在 MMLU/BBH/GSM8K/IFEval 等知识与推理类。100% CPT 把验证 loss 推到 1.263(vs 1.267),平均精度 56.4 vs 56.7,差距缩到 0.3 点,节省 ~24% GPU 小时,BBH 43.8 vs 45.0、GSM8K 48.3 vs 49.1 也基本追平。Sunk cost 场景(基座预训练成本视为 0)下 τ≈2/3 T 时可省 67% GPU 小时,τ=1/2 T 时省 50%。CPT 后 22B token 内 upcycled 损失就跌破 Fixed-32 并持续逼近 Fixed-64。Recipe 消融:切换点 τ/T=0.13–0.38 时 gap closure 达到 100%,τ/T=0.05(基座训练不足)反而掉到 81%;CPT 预算从 10% 增到 100% 时 efficiency 从 34.7% 单调升到 98.0%。Utility-based 选择在 CPT 受限时(25% CPT)把 gap closure 从 uniform 复制的 8.2% 拉到 26.5%,超过三倍提升。激活率扫描中,expert upcycling 在 25%→3.13% 全部跑赢 sparse upcycling,且随激活率降低领先扩大(K/E=3.13% 时 0.808 vs 0.049,差距 0.241),sparse upcycling 在 6.25% 和 3.13% 时连 Fixed-E 基线都打不过。Full MoE(256→512 experts, top-K=8, 154M–1B 总参)也取得 ≥93% 的 efficiency,验证了方法的架构无关性。

Expert upcycling at scale. A 20-layer interleaved MoE (~7B total / ~1B active non-embedding parameters) is pre-trained with 32 experts on 380B tokens, then continued for 50% (190B) or 100% (380B) of the pre-training budget.
Table 1: Expert upcycling at scale. A 20-layer interleaved MoE (~7B total / ~1B active non-embedding parameters) is pre-trained with 32 experts on 380B tokens, then continued for 50% (190B) or 100% (380B) of the pre-training budget.
Training budget allocation for expert upcycling (10-layer interleaved MoE, 32→64 experts, top-K=2, pre-trained for τ=50K steps; upcycled model uses ∥g∥₂ utility-based duplication).
Table 2: Training budget allocation for expert upcycling (10-layer interleaved MoE, 32→64 experts, top-K=2, pre-trained for τ=50K steps; upcycled model uses ∥g∥₂ utility-based duplication).
Comparison of duplication strategies on the 10-layer interleaved MoE (32→64 experts, top-K=2, ~1B total / 144M active non-embedding parameters; upcycling happens at τ=50K steps for all rows).
Table 3: Comparison of duplication strategies on the 10-layer interleaved MoE (32→64 experts, top-K=2, ~1B total / 144M active non-embedding parameters; upcycling happens at τ=50K steps for all rows).
Effect of activation ratio and comparison with sparse upcycling (8-layer interleaved MoE, top-K=1, uniform duplication).
Table 4: Effect of activation ratio and comparison with sparse upcycling (8-layer interleaved MoE, top-K=1, uniform duplication).
Full MoE upcycling results (256→512 experts, top-K=8, ∥g∥₂ utility-based duplication) across model sizes from 154M to 1B total parameters.
Table 7: Full MoE upcycling results (256→512 experts, top-K=8, ∥g∥₂ utility-based duplication) across model sizes from 154M to 1B total parameters.
查看结构化数据
任务指标本文基线提升
Validation Loss (50% CPT) Cross-Entropy ↓ 1.305 1.308 (Fixed-64) 0.003(efficiency 109.7%)
Validation Loss (100% CPT) Cross-Entropy ↓ 1.263 1.267 (Fixed-64) 0.004(efficiency 111.8%)
11 任务平均精度 (50% CPT) Accuracy ↑ 52.1 53.4 (Fixed-64) 差距 1.3 点,节省 ~32% GPU 小时
11 任务平均精度 (100% CPT) Accuracy ↑ 56.4 56.7 (Fixed-64) 差距 0.3 点,节省 ~24% GPU 小时
MMLU (100% CPT) Accuracy ↑ 52.3 52.7 (Fixed-64) 差距 0.4 点
BBH CoT (100% CPT) Accuracy ↑ 43.8 45.0 (Fixed-64) 差距 1.2 点
GSM8K (100% CPT) Accuracy ↑ 48.3 49.1 (Fixed-64) 差距 0.8 点
Activation ratio sweep (K/E=3.13%) Val. Loss ↓ 0.808 (upcycled 2.808) 0.788 (Fixed-2E) 比 sparse upcycling 3.049 低 0.241,差距扩大
Full MoE 256→512 (1B 总参) Val. Loss ↓ 2.767 2.763 (Fixed-512) efficiency 92.9%
CPT 预算 sweep (1B 规模) Gap Closure Eff. ↑ 98.0% (T=100K) 34.7% (T=60K) CPT 翻倍把 efficiency 提 2.8×

局限与改进

作者在文中坦承的局限包括:(1) 实验只覆盖 m=2 的 upcycling,没有验证 4×/8× 一次性扩增或多步迭代扩增的可行性;(2) 模型规模止步于 7B 总参,前沿 10B+ 量级(Mixtral、DeepSeek、Qwen3 量级)尚未验证;(3) 7B 主实验用的是英文主导的数据混合,多语言或显著分布漂移场景下的表现未知。我自己观察到的额外限制包括:(4) utility-based 复制的梯度计算需要 10 个 batch 的梯度均值并冻结基座计算,τ 选得不好时这个开销对总账的贡献不可忽略;(5) Top-K=2 的 interleaved 架构让通信开销减半,但代价是 MoE 容量只占总参数的一部分,对 full MoE 训练时的实际节省幅度是否还能达到 32% 仍需直接测量;(6) 论文没有报告 token 级别的路由分布变化,复制专家是否真的分化出了语义层面的不同功能、而不是参数层面的微小扰动,缺乏直接的可解释性证据;(7) Table 4 显示当 K/E 低到 3.13% 时 upcycled 仍比 Fixed-E 基线差 0.020(2.808 vs 2.788),说明 Term I 容量项在极端低激活率下并未被完全消除,仍然是天花板。

独立分析的弱点

独立审视,最值得关注的弱点有四:(1) **单次 2× 扩展假设过强**:现实训练中常见的并非 32→64 而是 8→64 或 4→128 这种大步长扩展,论文只验证了 m=2,更大的 m 意味着 Term I 容量鸿沟更大,论文中的 τ/T≈0.13–0.38 经验值是否还能用需要直接验证。改进方向是测试 m=4、8 的多步迭代 upcycling(即 32→64→128 分两次做),并相应调整切换点公式。(2) **utility 分数的鲁棒性未充分检验**:$\|g\|^2$ 和 $\|w\|\|g\|$ 在 25% CPT 下表现最好,但论文没有分析 utility 排名在 τ 前后不同 batch 之间的稳定性,也没有和 SNIP、GraSP 等更复杂 saliency 做对比。改进方向是引入 mini-batch 多次估计 utility 及其方差,并测试基于 Fisher 信息或 TracIn 的更稳定重要性分数。(3) **sunk cost 假设过乐观**:sunk cost 场景下 ~67% 的节省数字假设 E 专家基座白送,但生产中这个基座本身就要花 $\tau \times s_E$ 的算力;只有当基座是从头训练、且刚好达到 CPT 切换阈值时,67% 才有意义。如果基座是别人发布的公开模型,license 限制和数据分布差异会进一步影响实际收益。改进方向是给出「基座训练分布与 CPT 分布 KL 散落多大时仍可使用」的容忍度曲线。(4) **缺乏对灾难性遗忘的定量分析**:论文只在 11 个下游任务上做端到端评估,没有对比 upcycling 前后在「基座预训练数据」上的 loss 是否回退,也没有测量各专家之间的路由分布是否出现了 representation collapse。改进方向是引入旧域数据上的 reference loss 曲线以及专家级别的路由熵/激活率变化作为诊断指标。

未来方向

作者明确提出的方向是迭代 upcycling——重复执行 2× 专家扩展以保持每步 Term I 都很小,并把它推广到 10B+ 前沿模型和分布显著漂移(如多语言切换)的 CPT 场景。基于文章成果我看到三条可延伸的线:(1) **与 LayerMoE / Branch-Train-Stitch 结合**:先 upcycling 复制出 N 个同质专家,再冻结其中一半、对另一半用领域数据继续训练,复用「复制 + 特化 + CPT」的三段式协议做更细粒度的能力扩展。(2) **路由偏置扰动的理论优化**:当前 $\delta = 10^{-3}$ 是经验值,可以把它升级为可学习参数,或与 loss-free 负载均衡的 bias update 耦合起来,得到一个端到端可微的对称性破缺机制。(3) **与 Mixture-of-Depths 等其他稀疏范式组合**:专家 upcycling 解决「MoE 宽度」扩展,MoD 解决「深度」扩展,二者原则上可以同时做,结合点是统一调度器——给定一个 token budget 调度器,动态决定「跳过哪些层」+「路由到哪些专家」,需要重新做缩放定律分析。

复现评估

复现性整体较好,但有一定门槛。**代码与配置**:作者明确表示会在 GitHub 公开代码与训练配置(仓库地址 https://github.com/amazon-science/expert-upcycling),附录 C 给出 3 套 interleaved MoE(20/10/8 层)和 4 套 full MoE 的完整超参(hidden、FFN、heads、MoE layers、train tokens、batch size、LR),附录 D 列出 20 种 heuristic 的全部超参。**数据**:小规模消融用 DCLM(公开),7B 主实验使用「强调指令跟随、逻辑推理和数学的精选混合」,但未公开具体 mixture 比例和去重后的 token ID,这是最大的可复现性缺口。**算力门槛**:7B→13B 主实验是 ~50% 的预训练 token 预算(~190B CPT tokens)乘以 380B 预训练 token,按 $s_{mE} \approx 4.2$ 秒/步 的实测值,分布式训练需要数十到数百张 A100/H100 跑数周;1B 量级消融用 16 batch size、~30K 步,对应 FLOPs 在 $10^{18}$ 量级,单机 8 卡 A100 几天可以跑完一组;full MoE 1B 量级消融总 FLOPs $4.86\times 10^{18}$,门槛相似。**难度**:方法本体实现非常直接——核心算子就是 PyTorch 里复制 expert 权重并对 router bias 加均匀噪声——但完整复现需要重写 WSD 调度器、loss-free 负载均衡、Grouped Query Attention + RoPE 的 interleaved MoE,并维护 all-to-all 通信,对工程实现要求中等偏高。