跳转至

STUN: Structured-Then-Unstructured Pruning for Scalable MoE Pruning

会议: ACL 2025
arXiv: 2409.06211
代码: https://github.com/thnkinbtfly/STUN
领域: Model Compression
关键词: MoE剪枝, 结构化剪枝, 非结构化剪枝, 专家聚类, 稀疏化

一句话总结

STUN 提出"先结构化后非结构化"的两阶段 MoE 剪枝范式:第一阶段利用路由权重的行为相似性聚类冗余专家,以 \(O(1)\) GPU 前向传播完成专家级剪枝;第二阶段在剩余专家内做非结构化权重剪枝,两者协同在 480B Snowflake Arctic 上以 40% 稀疏度几乎无性能损失。

研究背景与动机

领域现状:MoE 通过稀疏激活专家子集来降低推理成本,已成为大模型的主流架构选择。但参数总量不减反增——Mixtral 56B (8 experts)、DBRX 132B (16 experts)、Snowflake Arctic 480B (128 experts)——服务部署仍需要大量 GPU 内存。

现有方案局限:非结构化剪枝(Wanda、SparseGPT)在权重张量内逐元素稀疏化,无法利用 MoE 天然的专家结构;行/列级结构化剪枝(LLM-Pruner)破坏模型能力严重;现有专家级剪枝方法(Lu et al.)需要穷举专家组合,复杂度为 \(O(k^n/\sqrt{n})\)\(k>1\), \(n\) 为专家数),对 128 个专家完全不可行。

核心矛盾:专家级剪枝能利用 MoE 固有结构、效果好,但搜索空间随专家数指数爆炸;非结构化剪枝可扩展却在生成任务(GSM8K)上性能崩塌。单用任何一种方法均无法在高稀疏度下保持性能。

本文切入角度:将剪枝问题重新定义为结构化与非结构化的插值(interpolation),发现中间插值点性能最优(图1)。进一步提出基于专家行为相似性的 \(O(1)\) 聚类算法解决可扩展性问题。

核心 idea:先用路由权重相似性以 \(O(1)\) 做专家级剪枝消除 inter-expert 冗余,再在剩余专家内做非结构化剪枝捕获 intra-expert 稀疏性,两阶段互补协同。

方法详解

整体框架

原始 MoE → 阶段一:专家级结构化剪枝(基于路由权重的行为相似性做专家聚类,每簇保留一个代表专家,\(O(1)\) GPU 调用)→ 阶段二:非结构化权重剪枝(在剩余专家内部用 Wanda/OWL 做逐元素稀疏化)→ 最终压缩模型。整个过程 training-free,无需微调或反向传播。

关键设计

  1. 基于行为相似性的 \(O(1)\) 专家聚类与剪枝

    • 功能:将每层 MoE 中行为相似的专家聚类为簇,每簇仅保留最接近簇中心的代表专家,其余全部移除
    • 核心思路:从路由层权重矩阵 \(W\) 中提取专家对的行为相似性 \(b_{i,j} = -\|W_i - W_j\|_F + \lambda_2 a_{i,j}\)\(a_{i,j}\) 为共激活统计量),路由权重相似意味着对相同输入给出相近的激活概率、暗示相似的专业分工;基于此相似度做层次聚类,将贪心逐步剪枝重构为概率分布的逐步最大化(Eq. 5-6),使得贪心决策近似等效于组合搜索
    • 设计动机:Lu et al. 的穷举式专家组合搜索在 128 专家时需 \(>10^{33}\) 次前向传播,完全不可行;本方法仅需路由权重计算(CPU 端 < 1分钟)+ 可选的 1 次前向传播收集共激活统计
  2. Taylor 近似 + 选择性专家重建

    • 功能:在聚类确定后,决定每簇保留哪个专家,以及是否用簇内均值重建代表专家
    • 核心思路:用一阶 Taylor 展开近似各专家的重建损失 \(\mathcal{E}_i = \|M(x;\theta) - M(x;\theta - \theta_i)\|_F\),选择离簇中心参数 \(\bar{\theta_i}\) 最近的专家作为代表;当簇内专家数少于阈值 \(\kappa\)(取 3)时,用所有成员参数的均值重建代表专家以进一步降低重建误差
    • 设计动机:纯选择最近专家丢失了被剪除专家的知识,小簇内均值重建可部分恢复;大簇避免均值以防模糊化
  3. Kurtosis 保持下的非结构化剪枝

    • 功能:在专家剪枝后的模型上执行 Wanda 或 OWL 等非结构化剪枝
    • 核心思路:权重分布的 Kurtosis(峰度)是非结构化剪枝鲁棒性的代理指标——高峰度意味着大量可安全移除的近零权重。专家级剪枝不改变剩余专家内部的权重分布(仍近似高斯),因此 kurtosis 不降反升(实验中从 14248 升至 15623);而直接做非结构化剪枝会移除近零权重、使分布趋向双峰(kurtosis 降低),削弱后续进一步稀疏化的空间
    • 设计动机:理论保证"先结构化后非结构化"的顺序优于反向或单独使用

损失函数 / 训练策略

整个流程 training-free,无需反向传播或微调。仅需少量 C4 校准数据用于可选的共激活统计收集。对于最大的 Arctic 模型,使用 \((\lambda_1, \lambda_2) = (1, 0)\) 即纯路由权重相似性,完全零 GPU 调用完成专家剪枝。

实验关键数据

主实验:STUN vs 非结构化剪枝基线

模型 稀疏度 方法 GSM8K ARC-c HellaSwag MMLU 平均
Arctic (480B) 0% 未剪枝 70.74 56.91 66.94 64.86 68.33
Arctic (480B) 40% STUN (OWL) 70.28 57.68 64.94 64.75 67.66
Arctic (480B) 40% OWL 63.76 56.74 65.08 63.47 67.35
Arctic (480B) 65% STUN (OWL) 43.97 51.54 59.91 59.24 62.67
Arctic (480B) 65% OWL 13.42 44.37 53.69 52.02 56.68
Mixtral-8x7B-Inst 65% STUN (OWL) 25.09 48.12 54.05 60.39 60.34
Mixtral-8x7B-Inst 65% OWL 1.29 24.15 49.27 57.60 45.20

专家剪枝方法对比(Mixtral-8x7B, 25% 稀疏度)

方法 计算复杂度 ARC-C BoolQ HellaSwag MMLU WinoGrande 平均
未剪枝 - 59.4 84.2 84.0 67.9 75.6 71.5
Ours \(O(1)\) 55.6 83.1 81.1 63.3 72.7 70.7
Expert Drop \(O(n)\) 53.2 77.7 80.5 52.2 76.8 66.0
SEER-MoE - - - - 56.7 - -
Lu et al. \(O(k^n/\sqrt{n})\) - - - - - 64.22

关键发现

  • 插值最优:在 Mixtral 上固定 50% 总稀疏度,纯结构化(x=1)和纯非结构化(x=0)均大幅下降,中间插值点性能最高(图1),验证了两阶段组合的必要性
  • GSM8K 生成任务优势显著:Arctic 40% 稀疏度下 STUN GSM8K 仅降 0.46 分,而 OWL 降 6.98 分;65% 稀疏度 STUN 仍有 43.97 而 OWL 仅 13.42
  • \(O(1)\) vs \(O(n)\) 无性能差异:在 Mixtral 上 25% 稀疏度时两者平均分分别为 64.34 和 63.97,\(O(1)\) 甚至略优
  • 小专家多专家受益更大:STUN 与纯非结构化的性能差距随专家数增加而增大(Arctic 128 experts > Mixtral-8x22B > Mixtral-8x7B),契合 MoE 的发展趋势
  • 效率极高:Arctic 480B 的 STUN+OWL 仅需单张 H100 + 1.12 小时;Lu et al. 方法对 128 专家完全不可行(>\(10^{33}\) 次前向传播)

亮点与洞察

  • \(O(1)\) 专家剪枝的关键洞见是利用路由权重的隐含结构——相似路由权重意味着相似激活模式,聚类后贪心剪枝近似等效于组合搜索,这一思路可迁移到其他有天然模块结构的模型
  • Kurtosis 保持的理论分析优雅地解释了为什么阶段顺序(先结构化后非结构化)不能颠倒——先做非结构化会降低 kurtosis、削弱进一步剪枝的空间
  • 在非 MoE 模型(Llama-2)上也验证了 STUN 范式的有效性,说明"先粗后细"的两阶段剪枝是通用策略

局限与展望

  • 非结构化剪枝在当前 GPU 上难以直接加速推理(需要稀疏硬件支持),实际部署加速效果取决于硬件
  • 专家行为相似性仅基于路由权重和共激活统计,未考虑专家输出的语义差异
  • 高于 40% 稀疏度后性能下降明显(Arctic 65% 时 GSM8K 从 70 降到 44),极端稀疏度下的策略有待改进
  • 在非 MoE 上的实验仅用了 LLM-Surgeon 5% 结构化剪枝作为第一阶段,设计空间未充分探索

相关工作与启发

  • vs Wanda/OWL:纯非结构化方法,STUN 在第一阶段先移除冗余专家后再调用它们,两者互补;核心差异是 STUN 额外利用了 MoE 的 inter-expert 冗余
  • vs Lu et al.:同为专家级剪枝但复杂度 \(O(k^n/\sqrt{n})\),STUN 通过行为聚类将搜索空间从指数降到常数,且效果更好;Lu et al. 依赖校准数据而 STUN 利用模型自身结构
  • vs LLM-Pruner:通用结构化剪枝(行/列级),在高稀疏度 MoE 上性能崩塌(65% 时 GSM8K 仅 1.29),STUN 通过专家级粒度保留关键能力
  • vs SEER-MoE / Expert Drop:其他高效专家剪枝方法,STUN 在 MMLU 上大幅领先(63.3 vs 56.7 vs 52.2),且额外叠加非结构化剪枝进一步压缩

评分

  • 新颖性: ⭐⭐⭐⭐ 将剪枝问题重定义为结构化-非结构化的插值、通过路由权重聚类实现 \(O(1)\) 专家剪枝的思路清晰优雅,kurtosis 保持分析提供了良好的理论支撑
  • 实验充分度: ⭐⭐⭐⭐ 涵盖 480B Arctic + Mixtral 两个系列 + 非 MoE Llama-2,多稀疏度多任务,消融实验(\(O(1)\) vs \(O(n)\)、插值比例)完整
  • 写作质量: ⭐⭐⭐⭐ 图1 直观展示插值优势、Table 1 清晰定位贡献,整体逻辑从动机→方法→理论→实验层层递进
  • 实用价值: ⭐⭐⭐⭐⭐ 对 480B 级 MoE 仅需 1 GPU + 1 小时即可完成 40% 无损压缩,对大模型部署有直接工程价值