(2026|中科院自动化所,路由冗余,动态分配的价值在激进剪枝,多模态更脆弱)你只需要选定专家的 2/3:细粒度 MoE LLM 中的动态专家剪枝

You Only Need 2/3 of the Chosen Experts: An Empirical Study of Dynamic Expert Pruning in Fine-Grained MoE LLMs


论文地址:https://arxiv.org/abs/2609.25809

项目页面:https://github.com/MingZwhy/An-Empirical-Study-on-Expert-Pruning

学术交流群:922230617


目录

[1. 背景:细粒度 MoE 时代,路由冗余到底有多大?](#1. 背景:细粒度 MoE 时代,路由冗余到底有多大?)

[2. 核心结论](#2. 核心结论)

[3. 方法:用 "专家预算" 作为统一坐标系](#3. 方法:用 "专家预算" 作为统一坐标系)

[3.1 路由与剪枝的形式化](#3.1 路由与剪枝的形式化)

[3.2 公平比较的关键:匹配平均专家数 ˉk](#3.2 公平比较的关键:匹配平均专家数 ˉk)

[3.3 模型与任务覆盖](#3.3 模型与任务覆盖)

[4. 发现一:三分之二的专家就够了](#4. 发现一:三分之二的专家就够了)

[4.1 均匀保留 ⌈2K/3⌉ 个专家](#4.1 均匀保留 ⌈2K/3⌉ 个专家)

[4.2 知识能活下来,推理活不下来](#4.2 知识能活下来,推理活不下来)

[4.3 实测加速](#4.3 实测加速)

[5. 发现二:动态分配只在激进剪枝时才值钱](#5. 发现二:动态分配只在激进剪枝时才值钱)

[5.1 保守预算:动态规则几乎打平](#5.1 保守预算:动态规则几乎打平)

[5.2 激进预算:最多 +2.98 点](#5.2 激进预算:最多 +2.98 点)

[5.3 增益集中在生成任务](#5.3 增益集中在生成任务)

[6. 发现三:什么决定了剪枝敏感度?](#6. 发现三:什么决定了剪枝敏感度?)

[6.1 Thinking 模型更抗剪](#6.1 Thinking 模型更抗剪)

[6.2 规模在激进剪枝下才显现](#6.2 规模在激进剪枝下才显现)

[6.3 多模态模型更脆弱](#6.3 多模态模型更脆弱)

[7. 实践建议](#7. 实践建议)

[7.1 用均匀截断确定预算](#7.1 用均匀截断确定预算)

[7.2 评估动态分配的增量价值](#7.2 评估动态分配的增量价值)

[7.3 为紧预算设计分配规则](#7.3 为紧预算设计分配规则)

[8. 一些疑问以及解答](#8. 一些疑问以及解答)

[Q1:论文说的 "以 2K/3 为初始工作点",这个 K 是怎么来的?](#Q1:论文说的 “以 2K/3 为初始工作点”,这个 K 是怎么来的?)

[Q2:发布方的 K 是权衡后的结果,直接砍不会破坏这个权衡吗?发布方做推理评估,为什么没发现更小的 K 也够用?](#Q2:发布方的 K 是权衡后的结果,直接砍不会破坏这个权衡吗?发布方做推理评估,为什么没发现更小的 K 也够用?)


1. 背景:细粒度 MoE 时代,路由冗余到底有多大?

MoE(Mixture-of-Experts)架构已经从 Mixtral 的 2/8 粗粒度路由,演进到 Qwen3-30B-A3B 的 8/128 、Qwen3-Next-80B-A3B 的 10/512。专家池越来越大,每 token 激活的专家数也越来越多,这让 "动态专家剪枝"(根据 token 动态决定执行几个专家)看起来非常有吸引力。

但问题在于:现有剪枝方法的证据几乎都来自粗粒度架构和 likelihood 打分的多选题基准。在细粒度 MoE 上,三个核心问题尚未被系统回答:

  • Q1:细粒度 MoE 的 per-token 专家选择到底有多少冗余?

  • Q2:动态分配相比 "直接降低专家数"(uniform truncation)什么时候才有优势?

  • Q3:什么决定了模型对剪枝的敏感度?

这篇论文用 12 个 checkpoint、9 个架构家族、11 个核心基准(覆盖知识 QA、数学、代码生成、通用推理)做了系统性实证研究。

2. 核心结论

维度 结论
冗余度 均匀保留约 2/3 的专家,平均保留 98.8% 的性能
推理加速 两个 serving 后端实测 1.2--1.7× 加速
动态剪枝 保守预算下几乎无增益(−0.53 ~ +0.67 点);激进预算下最多 +2.98 点
敏感度 大模型、Thinking 模型更鲁棒;多模态模型更脆弱

3. 方法:用 "专家预算" 作为统一坐标系

3.1 路由与剪枝的形式化

MoE 层有 E 个路由专家,router 选出 K 个,按 gate 权重降序排列 w_1 ​≥ ⋯ ≥ w_K​:

剪枝保留(层 L)子集 S(x,ℓ) 并重新归一化:

  • Fixed-K(均匀截断):所有 token、所有层都保留 top-k,无校准、无动态分配,只改一个整数。

  • 动态规则:基于 token 和层的信号,动态决策保留几个专家。

  • 共享专家依然处理所有 token。

3.2 公平比较的关键:匹配平均专家数 ˉk

不同规则的阈值不可直接比较(同样阈值在生成任务和 QA 任务上花的预算完全不同)。论文用实测平均激活专家数作为统一坐标:

每个阈值旋钮都离线求解到目标 ˉk(生成 / QA 分别校准),超出目标预算 10% 的配置直接排除。

3.3 模型与任务覆盖

  • 核心 4 模型:Qwen3-30B-A3B(K=8)、Qwen3-Next-80B-A3B(K=10)、Ling-lite-1.5(K=6)、GPT-OSS-20B(K=4)

  • 扩展 5 架构:MiniMax-M2.7、DeepSeek-V2-Lite、Hy3、DeepSeek-V4-Flash、Gemma 4 26B-A4B

  • 单因素对照:Qwen3-Thinking(推理模式)、Qwen3-235B-A22B(规模)、Qwen3-VL-30B-A3B(模态)

  • 11 个基准:ARC-Easy/Challenge、WinoGrande、OpenBookQA、AIME-24/25、MATH-500、GSM8K、LiveCodeBench-v6、MMLU-Pro、GPQA-Diamond

4. 发现一:三分之二的专家就够了

4.1 均匀保留 ⌈2K/3⌉ 个专家

在 9 个模型 × 3 个任务族上,均匀保留 ⌈2K/3⌉ 个专家平均保留 98.8% 的性能。27 个 "模型-任务族" 组合中有 6 个甚至持平或超过未剪枝分数(包括两个 Qwen3 模型和 GPT-OSS-20B 的数学与代码推理)。

扔掉权重最低的约 1/3 专家,模型几乎无感。

原因在于 gate 加权混合 + 重归一化:去掉低权重专家后,剩余权重重新集中,去掉 1/3 专家并不等于去掉 1/3 贡献。

4.2 知识能活下来,推理活不下来

预算收紧时,知识 QA 平缓下降,生成式任务先稳后崩:

  • Qwen3-30B-A3B 在 6 专家时,知识 QA 保留 97.5%(低于两个生成任务族);

  • 到 2 专家时顺序反转:知识 QA 仍有 60.4%,而数学与代码推理跌到 13.5%。

在 9 个模型中有 8 个,数学与代码推理在激进端是最不鲁棒的 。原因很直观:知识 QA 是短答案打分,而推导/程序需要逐步依赖前文,局部扰动会沿生成链累积放大。

4.3 实测加速

模型 原生 K 剪枝 ˉk ρ vLLM prefill vLLM decode HF prefill HF decode
Qwen3-30B-A3B 8 5 0.63 1.15× 1.18× 1.26× 1.70×
Qwen3-Next-80B 10 6 0.60 1.25× 1.65× 1.31× 1.73×
Ling-lite-1.5 6 4 0.67 1.21× 1.38× 1.21× 1.52×
GPT-OSS-20B 4 3 0.75 1.25× 1.23× 1.24× 1.44×

**注意:**Fixed-K 让每个 token 专家数一致,GEMM 形状统一,容易高效服务;动态规则给每个 token 不同的 kk,在匹配平均预算下更难高效部署。

5. 发现二:动态分配只在激进剪枝时才值钱

论文在 vLLM 上统一复现了 4 种已发表规则:

规则 决策依据 层预算 需校准 k_min⁡​ 旋钮
Fixed-K 固定 k ✗ ✗ --- k
NAEE gate 权重相对 top-1 的比例 ✗ ✗ 2 β
DynROUTE 累计保留概率质量 ✗ ✗ --- p
DiEP top-1 比例 × 专家相似度 ✗ ✗ 2 β
BAN 层敏感度 + token 敏感度 ✓ ✓ 3 λ

5.1 保守预算:动态规则几乎打平

在 4 个核心模型上,最佳动态规则相对 Fixed-K 的边际为 −0.53 ~ +0.67 点,平均仅 +0.06。

含义 :Figure 2 发现的冗余已经吃掉了大部分空间,给每个 token 相同的缩减专家数就能匹配最好的规则。动态分配的复杂度在保守预算下赚不回来。

5.2 激进预算:最多 +2.98 点

模型 激进预算 k 最佳规则 相对 Fixed-K
Qwen3-30B-A3B 3 BAN +2.45
Qwen3-Next-80B 4 BAN +2.71
Ling-lite-1.5 2 BAN +2.98
GPT-OSS-20B 2 DynROUTE +0.90

而且赢家会随模型和预算变化:Qwen3-30B-A3B 保守预算下 DynROUTE 最好,激进预算下 BAN 最好;BAN 在 4 个模型中的 3 个拿下激进预算最佳。

5.3 增益集中在生成任务

以 Qwen3-30B-A3B 激进预算为例,BAN 在 7 个生成数据集上平均 +3.17 点,而 4 个知识 QA 只有 +1.20 点。MATH-500 从 80.2 → 88.0,LiveCodeBench 从 25.7 → 28.6。

GPT-OSS-20B 上更极端:DynROUTE 把 LiveCodeBench 从 48.0 拉到 62.5(+14.5 点),而整套平均只提升 0.90 点------因为其他数据集在这个预算下已接近未剪枝分数。

方法论警示 :只用 likelihood 打分的多选题评估剪枝,会同时低估剪枝的代价 和动态分配的价值。

6. 发现三:什么决定了剪枝敏感度?

6.1 Thinking 模型更抗剪

Qwen3-30B-A3B-Thinking vs Instruct,在 4 个最难的生成数据集上:

  • 在 8 到 5 专家区间,Thinking 与 Instruct 的差距较小;

  • 到 4 专家,Thinking 领先 2.7点;

  • 到 3 专家,领先扩大到 5.1点。

Thinking 模型平均输出 8.9k token(Instruct 为 3.7k),更长的生成 + 更好的保留率,优势恰好出现在第 4 节认为最脆弱的能力上(数学与代码推理)。

6.2 规模在激进剪枝下才显现

Qwen3-235B-A22B vs Qwen3-30B-A3B:

  • 在 8 到 5 专家区间:大模型无优势;

  • 4 专家:大模型领先 2.5 点;

  • 3 专家:大模型保留 76.7% ,小模型保留 62.3% ,差距 14.4 点。

同样,优势集中在数学/代码/通用推理,知识 QA 无对应增益。

6.3 多模态模型更脆弱

Qwen3-VL-30B-A3B vs Qwen3-30B-A3B(各 9 个数据集):

  • 在 8 到 4 专家区间:曲线差距在 1 点以内;

  • 3 专家:多模态落后 11 点;

  • 2 专家:差距扩大到 42 点。

路由统计给出了解释:记录全部 48 个 MoE 层的 128 维 softmax(top-K 之前):

指标 文本模型 多模态模型
选中 8 专家占 128 维 softmax 总质量 44.3% 15.5%
前 3 专家占选中 8 专家的权重 59.8% 49.8%
截断到 3 专家丢弃的选中权重 40.2% (1-59.8%) 50.2% (1-49.8%)

多模态模型的路由分布更平坦,同样的保留专家数会丢掉更大比例的权重。对 1000 个样本进行 bootstrap 后,top-8 质量的差距为 -26.0 点,95% 置信区间为 -31.1, -21.2;在多模态模型中,路由器的熵值高出 0.70 nats,置信区间为 +0.54, +0.85。

7. 实践建议

论文把建议整理为三步:

7.1 用均匀截断确定预算

  • 以 ⌈2K/3⌉ 为初始工作点,只改一个路由参数;

  • 逐步降低 k,画出性能曲线,观察模型在哪里开始掉点;

  • 如果业务涉及推导、程序、开放式回答,必须跟踪完整生成,不能只看 likelihood QA。

7.2 评估动态分配的增量价值

  • 在均匀截断开始明显退化的预算上,测量动态规则相对 Fixed-K 的边际;

  • BAN 和 DynROUTE 是值得先试的候选(Table 3 中多数获胜配置来自它们);

  • 比较的基础是实测平均激活专家数 ˉk,不是阈值本身;换模型/负载时要重新测量并校准。

7.3 为紧预算设计分配规则

  • 激进预算下最强结果来自跨深度分配预算(layer sensitivity);

  • 路由信号要结合目标模型解读:同样保留数在多模态和文本模型上保留的权重份额不同;

  • 阈值参数化方式决定跨架构可迁移性:相对 top-1 的比值 会随 router 宽度漂移(top-2 时 top-1 占大头,top-10 时只占小头),而累计保留质量、per-rank 统计跨宽度保持含义;

  • 别忘了 kernel 支持:分配本身的开销要足够低,质量提升才能转化为实际推理收益。

8. 一些疑问以及解答

Q1:论文说的 "以 2K/3 为初始工作点",这个 K 是怎么来的?

K 不是论文设定的超参,而是模型原生的每 token 路由专家数(native top-K),直接读模型配置即可。论文符号区分很明确:

  • K:模型 router 原生每 token 选多少个 routed experts;

  • k:剪枝后实际保留的 routed experts 数;

  • ρ = k/K:保留比例;

  • n_s:共享专家,每个 token 都过,不计入 routed expert 预算。

所谓 "2K/3 初始工作点",就是先读出原生 K,再把每 token 保留数降到约 2K/3 的整数:

2/3 也不是理论最优,而是论文在 9 个模型、3 个任务族上做均匀预算扫描后得到的经验起点:该点平均保留 98.8% 的未剪枝性能。论文建议的流程是:读原生 K → 从约 2K/3 开始 → 逐步降低 k 画性能--预算曲线 → 按业务可接受损失决定最终 k → 进入激进区间后再考虑动态分配。

Q2:发布方的 K 是权衡后的结果,直接砍不会破坏这个权衡吗?发布方做推理评估,为什么没发现更小的 K 也够用?

这两个问题要一起回答,因为核心在于:K 是训练时的容量选择,k 是推理时的算力预算,两者不是同一个优化问题。

1)发布方的 K 是 "训练时固定 K" 约束下的权衡

Top-K router 对所有 token 一视同仁,不管 gate 分数是尖峰还是平坦都执行 K 个。K 在训练时固定,影响的是专家分工、负载均衡、容量因子、训练并行和 kernel 形状。

发布方选 K 的目标是 "训练出质量最高的模型",不是 "替每个部署场景找最省算力的推理配置"。

2)训练时用小 K ≠ 训练大 K 再剪枝

论文没有做 "用小 K 重新训练" 的对照,所以不能推断 "发布方本可以用 2K/3 训练"。训练时 K 一变,router 分布、专家 specialization、容量因子都会变,模型可能学不到大 K 模型的容量。

剪枝是在已经学好的大 K 模型上回收冗余,两者不等价。MoE 本身就是容量与计算解耦,剪枝是把这种解耦再往前推一步:训练时买容量,推理时按预算花算力。

3)"直接砍" 确实会破坏权衡,只是平均破坏很小

论文自己就显示不是无损:平均保留 98.8% 是 9 模型 × 3 任务族的平均;Qwen3-30B-A3B 在 k=5 时 MATH 从 89.6 升到 91.0,但 ARC-c 从 60.8 掉到 54.9;激进端数学与代码推理在 9 个模型里 8 个最不鲁棒。

所以论文的建议是先 2K/3 再逐步扫描,不是无脑砍。

4)发布方做的是 "默认配置能力评估",不是 "跨预算扫描"

发布方的推理评估通常在原生 K 下测模型有多强,目标是报告能力上限;论文做的是系统改变 k、画性能--预算曲线,回答 "更低算力下还能保留多少"。两者不矛盾,后者也不是前者的自然推论:

  • 发布指标是最强能力,不是最优性价比:默认配置不主动降质,类似发布全精度模型、部署时再量化;

  • 评估协议可能掩盖问题:论文 §5.3 指出 likelihood-scored QA 会同时低估剪枝代价和动态分配价值;论文 11 个基准里 7 个是生成式,才暴露出 "知识 QA 平缓、生成任务先稳后崩";

  • 单点评估 vs 预算扫描:不扫 k=1...K 整条曲线,结构性问题不会自己浮现;

  • 服务效率是另一层约束:Fixed-K 让专家 GEMM 形状统一,容易高效服务;动态 k 在匹配平均预算下更难高效部署。发布方优先保证开箱即用的吞吐,把剪枝留给部署方按后端适配,是工程上的合理选择。

**总结:**K 是训练时为了学出好模型而定的,k 是推理时为了匹配算力预算而定的;"直接砍"不是否定发布方的权衡,而是在部署维度上做再权衡。论文量化的是这个再权衡的空间有多大、什么时候会真的破坏质量。

相关推荐
前端.火鸡1 天前
参数量、上下文窗口与模型规格怎么看
人工智能·深度学习·transformer
一只废狗狗狗狗狗狗狗狗狗1 天前
Transformer——一个sequence-to-sequence的model
人工智能·自然语言处理·transformer
坤盾科技2 天前
DeepSeek 开源模型矩阵深度拆解:不追“全能“,用架构差异重新定义能力边界
架构设计·moe·开源模型·deepseek·推理模型·engram
QN1幻化引擎2 天前
信号场注意力(SFA):把 KV Cache 变成 O(1) 的双通道注意力——0.1B/0.3B 受控 A/B 精度反升 15.5% / 24.3%
pytorch·深度学习·大模型·transformer·注意力机制·推理优化
奋进小青2 天前
2026年CNN与Transformer融合的创新点思路
人工智能·cnn·transformer
布吉岛的石头2 天前
Java 程序员第 50 阶段2:预训练的目标函数:自回归语言建模本质
java·开发语言·人工智能·深度学习·回归·transformer
Web3&Basketball3 天前
Meta Muse 816B 实测:两台 Mac 本地跑通
macos·大模型·mac·本地部署·moe·显存优化·meta muse
EDPJ3 天前
MoE 与推测解码(Speculative Decoding)加速:为什么慢、什么时候慢、怎么让它不慢?
llm·负载均衡·大语言模型·moe·推测解码(sd)
AI-Frontiers3 天前
7 个阶段,27 篇经典论文,一文看懂 Transformer 如何催生现代 LLM
transformer