用于剪枝稀疏混合专家语言模型的通用专家覆盖方法
摘要
提出了Generic TB-Coverage,一种覆盖感知的专家剪枝方法,用于稀疏Mixture-of-Experts语言模型,该方法仅使用通用文本语料库进行校准,并保留跨语料库专家覆盖,从而提高了准确率并减少了困惑度下降。
arXiv:2607.01710v1 公告类型: 新
摘要: 稀疏激活的混合专家(Mixture-of-Experts, MoE)语言模型在路由专家之间包含大量结构冗余,但在没有下游校准数据的情况下对其进行剪枝仍然具有挑战性。现有的专家剪枝方法通常依赖单一的聚合重要性分数,这可能会使保留集偏向于主导校准模式所偏好的专家。我们提出\textbf{Generic TB-Coverage},一种覆盖感知的专家剪枝方法,仅使用通用文本语料库(WikiText2和C4)进行校准。该方法不将专家效用合并为一个分数,而是在每个语料库上分别剖析每个专家的效用,并在构建最终剪枝掩码之前强制执行固定预算的覆盖规则,以保留每个语料库中的高效用专家。在Qwen1.5-MoE-A2.7B和DeepSeek-MoE-16B-Base上,以25%、50%和75%的保留预算,我们的方法在六个常见的零样本基准测试中,平均准确率优于随机剪枝、REAP和ExpertSparsity,同时减少了WikiText2和C4上的困惑度下降。在激进剪枝(保留25%和50%)下,增益最大,这表明保留跨语料库专家覆盖是一种有效的通用数据先验,用于MoE剪枝。在固定剪枝预算且无下游校准数据的情况下,我们的改进仍然成立。
查看缓存全文
缓存时间: 2026/07/03 05:45
# 用于剪枝稀疏混合专家语言模型的通用专家覆盖方法
来源:https://arxiv.org/html/2607.01710
###### 摘要
稀疏激活的混合专家(MoE)语言模型在路由专家之间存在大量结构性冗余,但在没有下游校准数据的情况下对其进行剪枝仍然具有挑战性。现有的专家剪枝方法通常依赖单一的聚合重要性分数,这可能导致保留的专家集偏向于主导校准模式所偏好的专家。我们提出了一种通用的任务平衡覆盖(Generic TB-Coverage)方法,这是一种覆盖感知的专家剪枝方法,仅使用通用文本语料库(WikiText2 和 C4)进行校准。我们的方法不是将专家效用合并为一个分数,而是分别针对每个语料库分析每个专家的效用,并强制执行一个固定预算的覆盖规则,在构建最终剪枝掩码之前,保留每个语料库中高效用专家。在 Qwen1.5-MoE-A2.7B 和 DeepSeek-MoE-16B-Base 上,在 25%、50% 和 75% 的保留预算下,我们的方法在六个常见的零样本基准测试上相比随机剪枝、REAP 和 ExpertSparsity 提高了平均准确率,同时减少了 WikiText2 和 C4 上的困惑度退化。在激进剪枝(保留 25% 和 50%)下,收益最大,这表明保留跨语料库的专家覆盖是一种有效的通用数据先验,可用于 MoE 剪枝。我们的改进在固定的剪枝预算和无下游校准数据的情况下依然成立。
## 1 引言
稀疏混合专家(MoE)语言模型通过每个 token 仅激活一小部分专家来提高参数效率,在保持每个 token 计算量可控的同时实现了强大的性能(Shazeer 等人,2017;Fedus 等人,2022;Jiang 等人,2024)。这种稀疏激活也产生了结构性冗余:如果保留的子集能够保持模型的核心行为,许多专家可以被移除而质量损失有限(Dai 等人,2024)。挑战在于在没有下游验证数据的情况下选择该子集。
现有的专家剪枝方法通常使用单一标量标准对专家进行排名,例如路由频率、重建效用或 REAP 风格的重要性(Luo 等人,2024)。然而,当校准数据是异构时,标量聚合可能会过度偏向于主导平均信号的专家,而保留不足那些支持不太常见但仍重要的通用语言行为的专家。例如,考虑两个通用校准语料库:WikiText2(百科全书式的叙事文本)和 C4(广泛的网络文本)。一个在百科模式上贡献很大但在网络话语上贡献不佳的专家,可能会得到一个中等平均分数,即使它可能是 WikiText2 上排名最高的专家。标量排名很可能会丢弃它,转而选择在两个语料库上得分中等但对两者都不是关键的专家。这表明专家保留应该保持跨语料库的覆盖,而不是仅仅优化一个单一聚合的重要性分数。
当目标是无需下游校准数据的通用剪枝时,这个问题尤为严重。一个原则性的剪枝方法不应在校准期间依赖下游评估任务,因为好的下游结果可能部分反映了任务泄露,而非真正的泛化。我们在此实际重要的设置中研究专家剪枝:能否仅使用通用语言语料库来剪枝 MoE 专家,同时保持广泛的下游行为?
我们的关键观察是,即使是纯通用语料库也不会以相同方式使用相同的专家。一个只保留全局主导专家的剪枝规则可能会在评估下游迁移之前就降低跨通用行为的专家覆盖。我们通过分别针对多个通用语料库分析专家效用,并在特定语料库的排名中强制执行平衡保护来解决这个问题。
我们提出通用任务平衡覆盖(Generic TB-Coverage),一种覆盖感知的专家剪枝方法。该方法分别针对每个通用校准语料库分析每个专家的重要性,构建特定语料库的专家排名,并通过轮询覆盖规则选择受保护专家。然后将受保护专家合并到重建稳定的候选掩码中,并通过移除排名最低的未受保护专家来恢复确切的保留预算。整个过程仅使用 WikiText2 和 C4 进行校准,且无需微调。
我们在两个 MoE 语言模型上进行了评估——Qwen1.5-MoE-A2.7B(Bai 等人,2024)和 DeepSeek-MoE-16B-Base(Dai 等人,2024)——使用了三个专家保留预算(25%、50%、75%)。主要指标是六个常见零样本基准测试(ARC-Challenge、ARC-Easy、HellaSwag、PIQA、WinoGrande、BoolQ)的平均准确率;我们另外报告 MMLU、GSM8K 和 Math500 作为辅助压力测试。
我们的贡献是:
1. 1. 我们识别出无下游数据的 MoE 剪枝中标量专家排名的一个失败模式:主导校准模式可能使保留的专家集过度集中。
2. 2. 我们提出一个简单的覆盖感知剪枝规则,在固定预算掩码构建之前,跨多个通用语料库保留高效用专家。
3. 3. 我们证明该规则在两个开源 MoE 大模型上,跨越三个保留预算和六个零样本基准测试,提高了剪枝质量。
4. 4. 我们分析了随机剪枝的方差,并表明单次随机基线在稀疏 MoE 剪枝中可能具有误导性。
## 2 相关工作
MoE 模型压缩。稀疏 MoE 架构(Shazeer 等人,2017;Lepikhin 等人,2021;Fedus 等人,2022)将每个 token 路由到一小部分专家,为专家级剪枝创造了自然机会。ST-MoE(Zoph 等人,2022)研究了稀疏模型中的训练稳定性,而 DeepSeek-MoE(Dai 等人,2024)引入了细粒度专家分割,增加了专家数量,从而提高了剪枝潜力。MoEfication(Fu 等人,2023)将密集前馈层转换为 MoE 结构。
专家重要性标准。已经提出了几种对专家重要性进行排名的标准。路由频率计算每个专家被路由器选择的次数。REAP 风格的方法结合路由概率和专家输出幅度来计算重要性分数。ExpertSparsity(Luo 等人,2024)使用基于重建的逐层剪枝,选择最小化剪枝后和原始 MoE 层输出之间重建误差的专家。这些方法共享一个局限性:它们优化单个标量目标,可能导致保留专家的过度集中。
大语言模型剪枝。除了专家剪枝之外,大语言模型的结构化剪枝包括移除层(Men 等人,2024)、宽度剪枝(Ma 等人,2023)和非结构化稀疏性(Frantar 和 Alistarh,2023;Sun 等人,2024)。SliceGPT(Ashkboos 等人,2024)通过奇异值分解移除组件。这些方法在权重或层级别而不是专家级别操作,并且与我们的方法互补。
剪枝中的覆盖和多样性。在剪枝模型中保留多样性的思想已经在卷积网络的网络剪枝中探索过,其中滤波器多样性标准有助于保持表征能力。据我们所知,Generic TB-Coverage 是第一个基于每个语料库分析显式引入覆盖规则用于 MoE 专家级剪枝的方法。
## 3 方法
### 问题形式化
考虑一个稀疏 MoE 语言模型,有 L 个 MoE 层。在每个 MoE 层 l,模型有 N 个路由专家 {e₁, ..., eₙ}。对于每个输入 token 的隐藏状态 hₓ,路由器选择 top-k 个专家并计算它们输出的加权和:
MoE(hₓ) = Σ_{e∈TopK(hₓ)} gₑ(x) · fₑ(hₓ), (1)
其中 gₑ(x) 是路由器分配给专家 e 对于 token x 的 softmax 概率(对于未选择的专家设为 0),fₑ(hₓ) 是专家在隐藏状态 hₓ 上的前馈输出。
给定保留比例 ρ ∈ (0,1],剪枝预算在每个 MoE 层保留 K = ⌊ρN⌋ 个路由专家。目标是构建一个二进制专家掩码 m_l ∈ {0,1}ᴺ,每层恰好有 K 个 1,使得剪枝后的模型保持广泛的语言性能。剪枝后,路由器仅在保留的专家中选择。
### 通用专家分析
该方法使用两个通用校准语料库:WikiText2(Merity 等人,2017)和 C4(Raffel 等人,2020)。对于每个语料库 t ∈ T = {WikiText2, C4},我们在校准文本上运行模型,并独立地为每个 MoE 层收集每个专家的统计信息。
对于每个层 l、专家 e 和校准语料库 t,我们计算一个 REAP 风格的效用分数,该分数结合了路由权重和专家输出范数,并取所有 token 中专家 e 被路由器选中的平均值:
sₜ^(l)(e) = E_{x∼Dₜ} [ gₑ(x) · ‖fₑ(hₓ^(l))‖₂ | e ∈ TopK(x) ], (2)
其中 hₓ^(l) 是层 l 处的隐藏状态,gₑ(x) 是 token x 上专家 e 的路由权重,fₑ(hₓ^(l)) 是专家输出。期望通过平均校准集(来自语料库 t)中专家 e 属于 top-k 选中专家的所有 token 来近似。该分数既捕获了路由器激活专家 e 的强度(通过 gₑ),也捕获了它对隐藏状态的贡献(通过 ‖fₑ‖₂)。我们独立地分析每个校准语料库,为每个 MoE 层生成一个单独的分数向量 sₜ^(l) = [sₜ^(l)(e₁), ..., sₜ^(l)(eₙ)]。
### 覆盖感知的专家保护
Generic TB-Coverage 不是根据平均分数 s̄^(l)(e) = (1/|T|) Σₜ sₜ^(l)(e) 来对专家进行排名,而是构建每个语料库的排名,并通过跨语料库轮询来选择受保护专家。
对于每个 MoE 层 l,我们定义一个每层保护预算 B(一个超参数,控制有多少专家获得覆盖保护),选择使得 B ≤ K 对于每一层和每一个保留预算都成立,确保可行性。轮询过程如下:
1. 按 s_WikiText2^(l)(e) 降序对所有 N 个专家排序,产生排名 π_Wiki。
2. 按 s_C4^(l)(e) 降序对所有 N 个专家排序,产生排名 π_C4。
3. 从空保护集 P_l 开始,交替两个排名:每一步,从当前语料库排名中取尚未在 P_l 中的最高排名专家,并将其加入。
4. 当 |P_l| = B 时停止。
这确保了无论绝对分数大小如何,两个语料库都会对保护集做出贡献。一个在 WikiText2 上排名靠前但在 C4 上排名中等的专家仍然会被保护,即使其平均分数可能不会通过单一标准的排名将其置于 top-B。如果两个排名对 top 专家达成一致(高重叠),那么轮询退化为标准的 top-B 选择,因此在这种情况下该规则不会造成损害。
### 预算保持的掩码构建
算法 1 Generic TB-Coverage 专家剪枝
输入:MoE 模型 M;语料库 T = {WikiText2, C4};保留比例 ρ;保护预算 B
输出:掩码 m,每层保留 K = ⌊ρN⌋ 个专家
1: 对于每个 MoE 层 l 执行
2: 对于每个语料库 t ∈ T 执行
3: 在 t 上分析 M;计算分数 sₜ(e)
4: 结束循环
5: 根据 sₜ(e) 构建每个语料库的排名
6: 通过轮询排名选择 P_l(|P_l| = B)
7: 从重建候选初始化掩码 m̂_l
8: 合并:设置 m_l(e) = 1 对于所有 e ∈ P_l
9: 如果 Σₑ m_l(e) > K 则
10: 按平均分数 s̄^(l) 移除排名最低的未受保护专家,直到满足 K
11: 结束如果
12: 结束循环
13: 返回掩码 m
最终掩码在每个 MoE 层恰好保留 K 个专家。我们从重建稳定的候选掩码 m̂_l(通过在 C4 上进行逐层重建最小化获得)开始,它已经每层保留了 K 个专家。我们将保护集 P_l 合并到该候选掩码中:设置 m_l(e) = 1 对于所有 e ∈ P_l(受保护专家始终保留),然后如果合并后的集合超过 K,则按平均分数 s̄^(l) 移除排名最低的未受保护专家,直到恰好剩下 K 个专家。受保护专家永远不会被移除;预算完全通过丢弃未受保护的重建选择专家来恢复。
这个过程是预算保持的:最终掩码在每个 MoE 层总是恰好保留 K 个专家。算法 1 总结了完整的方法。
### 复杂度分析
使用 |T| 个校准语料库,额外的分析成本是 |T| 次前向传播通过校准集(无梯度计算)。对于两个语料库和大约 512 个长度为 1024 token 的序列,这相对于模型训练来说是适度的。掩码构建涉及逐层排序 N 个专家(每层 O(N log N))和轮询选择(每层 O(B)),这相对于分析成本来说可以忽略不计。该方法每层只存储逐专家标量分数,并且不需要剪枝后微调。
## 4 实验
### 设置
模型。我们在两个稀疏 MoE 语言模型上进行评估:
- • Qwen1.5-MoE-A2.7B(Bai 等人,2024):每个 MoE 层 60 个路由专家,top-4 路由。
- • DeepSeek-MoE-16B-Base(Dai 等人,2024):每个 MoE 层 64 个路由专家,top-6 路由。
保留预算。我们报告三个专家保留比例:25%、50% 和 75%。对于 Qwen,这对应每层保留 15、30 或 45 个路由专家(共 60 个)。对于 DeepSeek,这对应每层保留 16、32 或 48 个路由专家(共 64 个)。
校准。我们的方法使用 WikiText2(Merity 等人,2017)和 C4(Raffel 等人,2020)。相似文章
将混合专家模型剪枝与蒸馏为稠密语言模型
一个系统框架通过专家评分、选择、分组和知识蒸馏将混合专家模型转换为稠密架构,相比传统剪枝方法实现了更优的性能和效率。
XPERT:通过专家知识迁移实现语言模型的高效训练
本文介绍了 XPERT,这是一个从预训练混合专家(MoE)语言模型中提取和复用专家知识的框架,旨在提高下游模型的训练效率和性能。
关于生物医学领域中剪枝混合专家模型的效用和事实可靠性
本文研究了在生物医学领域对混合专家(MoE)模型进行领域特定专家剪枝对效用和事实可靠性的影响。研究发现,适度剪枝能保持领域内效用且不会立即导致可靠性下降,但极端剪枝会增加幻觉风险,且跨领域设置下的泛化能力会迅速恶化。
HodgeCover: 高阶拓扑覆盖驱动稀疏混合专家模型的压缩
HodgeCover 使用高阶拓扑覆盖来压缩稀疏混合专家层,通过解决成对信号遗漏的不可归约可合并性障碍,在专家缩减方面匹配最先进的基线,并在激进压缩方面领先。
SHAPE: 面向稀疏混合专家大语言模型的联盟感知专家剪枝
SHAPE提出了一种面向稀疏MoE大语言模型的联盟感知专家剪枝框架,该框架利用路由轨迹上的Shapley式归因来识别关键专家,在20-40%剪枝率下实现了有竞争力的准确率,并降低了GPU内存占用。