MoBE: Mixture-of-Basis-Experts for Compressing MoE-based LLMs¶
会议: ICLR 2026
OpenReview: https://openreview.net/forum?id=8RV6H50OSf
代码: 待确认
领域: 模型压缩 / MoE 压缩
关键词: Mixture-of-Experts, 模型压缩, 矩阵分解, 基矩阵, 重建误差
一句话总结¶
MoBE 把 MoE 专家的 up/gate 矩阵做秩分解 \(W=AB\),再把较大的 \(B\) 表示成一层内所有专家共享的少量基矩阵的线性组合,仅靠最小化重建误差即可把 DeepSeek-V3、Kimi-K2 等万亿级 MoE 压缩 24%–30%,精度只掉 1%–2%。
研究背景与动机¶
领域现状:MoE 架构靠稀疏激活让 LLM 轻松扩到几千亿乃至万亿参数(DeepSeek-V3-0324 671B、Kimi-K2-Instruct 1T),推理算力友好,但总参数量带来的显存/存储压力极大——即便 8×H100 也难以高效部署。
现有痛点:现有 MoE 压缩分两条路线,都不够好。① 专家剪枝/合并(NAEE、STUN、MC-SMoE)直接删/并专家,会永久丢失专门化知识,精度掉得多;② 矩阵分解(D2-MoE、MoLAE)用 SVD 把专家权重低秩化,但论文实测专家权重矩阵的有效秩往往高于 SVD 的压缩阈值,强行砍掉多余秩会损失表达力,导致重建 MSE 高、下游精度掉 7%–14%(相对)。
核心矛盾:要压总参数就得共享/低秩化权重,但 SVD 的低秩假设和专家权重的高有效秩之间存在根本冲突——压得越狠,信息损失越大。
本文目标:在显著降低总参数的同时把精度损失压到最小(1%–2%)。
核心 idea(共享基 + 专家专属变换 + 非线性):不再对每个专家单独做低秩 SVD,而是让一层内所有专家共享一组基矩阵 \(\{B_j\}\),每个专家只学一个小的专属变换 \(A_i\) 和一组组合系数 \(\alpha_{i,j}\),并引入非线性激活增强表达力,整套分解通过梯度下降最小化重建误差学习,完全 data-free。
方法详解¶
整体框架¶
MoBE 把一个标准 MoE 层转换成参数更省的等价层:每个专家的 up/gate 矩阵 \(W^i\in\mathbb{R}^{p\times d}\) 被分解为专家专属的 \(A^i\) 乘上一个由共享基矩阵线性组合再过激活函数得到的 \(B^i\);down 矩阵因储存关键知识、不易压缩而保持原样。转换过程逐层、逐 type(gate/up)独立进行,用 Adam 最小化与原始权重的重建误差,全程不需要校准数据。
flowchart LR
W["专家权重 W^i (p×d)"] --> A["A^i (p×r) 专家专属"]
W --> COMB["α_i,1·B_1 + ... + α_i,m·B_m<br/>共享基 {B_j} (r×d)"]
COMB --> F["激活 f (SiLU/Tanh)"]
A --> MUL["⊗"]
F --> MUL
MUL --> WHAT["重建 Ŵ^i = A^i·f(Σ α_i,j B_j)"]
关键设计¶
1. 共享基矩阵分解:把"每专家低秩"换成"全层共享基",点破 SVD 的秩瓶颈。 标准做法是对每个专家的 \(W^i\) 独立做 \(W^i=A^iB^i\),但这样 \(B^i\) 仍随专家数线性增长。MoBE 的关键一步是把所有专家的 \(B^i\) 重参数化为同一层内 \(m\) 个共享基矩阵的凸组合:\(B^i=\sum_{j=1}^{m}\alpha_{i,j}B_j\),其中 \(\alpha_{i,j}\ge 0,\ \sum_j\alpha_{i,j}=1\),\(\{B_j\in\mathbb{R}^{r\times d}\}\) 全层共享、\(\{\alpha_{i,j}\}\) 专家专属。由于基的数量 \(m\ll n\)(如 128 专家只用 16 个基),共享部分 \(B\) 的参数被大幅摊薄,而专属变换 \(A^i\) 又比 \(W^i\) 小,两头同时省。直观上,共享基负责捕捉一层内专家的共性信息,\(\alpha\) 与 \(A^i\) 负责编码各专家的个性,比对每个专家硬砍秩更贴合"高有效秩"的真实结构。
2. 引入非线性激活的因子化:用 bipolar 激活补回低秩损失。 单纯线性组合仍受秩限制,MoBE 在基组合后套一个非线性 \(f\),最终因子化为 \(\hat{W}^i=A^if(\sum_{j=1}^{m}\alpha_{i,j}B_j)\),论文在 Appendix 证明这比纯 SVD 更有表达力。激活函数的选择有讲究:ReLU 会让 \(B^i\) 过度稀疏、信息损失大,而较小的 \(A^i\) 无力补偿;Sigmoid 单极性也欠佳。因此必须用双极(bipolar)激活——既能输出正值也能输出负值的 Tanh/SiLU/GeLU,最终选 SiLU 与 Tanh(兼顾效果与算力)。
3. 重建误差驱动的转换 + Z-score 归一化稳定优化。 转换目标是逐层最小化 \(\min_{A^i,B_j,\alpha_{i,j}}\sum_{i=1}^{n}\lVert W^i-A^if(\sum_j\alpha_{i,j}B_j)\rVert^2\),实践中 Adam(学习率 0.07,最多 5 万 epoch,patience 2000 早停)比交替优化(AO)稳定得多。由于专家权重值域又宽又野,直接学基不稳,MoBE 先对一层内所有专家权重做 Z-score 归一化 \(W_Z^i=(W^i-\mu_W)/\sigma_W\),把权重拉到均值 0、方差 1 的分布上再求基。妙处在于推理零额外开销:\(\sigma_W\) 可折叠进 \(A^i\)(\(\sigma_W A^i\)),而实测各模型 \(\mu_W\) 都小到可忽略(Table 2),于是连偏置项都能省掉。
4. 参数复杂度分析与 MoBE† 激活补偿。 一个 MoBE 层总参数为 \(ndp+2npr+2mrd\)(down + 变换 \(A\) + 基 \(B\)),与标准 MoE 的 \(3ndp\) 之比 \(\gamma=\frac{1}{3}+\frac{2r}{3d}+\frac{2mr}{3np}\)。因 \(r\le p<\frac{1}{2}d\) 且 \(m\ll n\),可证 \(\gamma<1\),确实压缩。但代价是激活参数可能上升(\(A\) 引入额外 \(2kpr\))。为补偿,作者借鉴前人提出变体 MoBE†:推理时把激活专家数从 \(k=8\) 降到 \(k'=6\),用更少专家激活换回算力,且实测 MoBE† 的总精度损失(0.5%)反而比 MoBE(1.4%)更小。
实验关键数据¶
主实验表格¶
在 6 个开源 MoE 上对比 D2-MoE、MoLAE,15 个 benchmark 平均分(Avg):
| 模型 | 方法 | 压缩率 | Avg |
|---|---|---|---|
| Ling-Lite-Chat | MoE(原) | 0% | 59.7 |
| D2-MoE | 14% | 53.1 | |
| MoLAE | 12% | 55.3 | |
| MoBE | 16% | 58.6 | |
| Qwen3-30B-A3B-2507 | MoE(原) | 0% | 78.6 |
| D2-MoE | 24% | 66.4 | |
| MoLAE | 24% | 67.5 | |
| MoBE | 24% | 75.8 | |
| DeepSeek-V3-0324 (671B) | MoE(原) | 0% | 79.3 |
| MoLAE | 30% | 73.1 | |
| MoBE | 30% | 78.0 | |
| Qwen3-235B-A22B-2507 | MoE(原) | 0% | 81.5 |
| MoLAE | 24% | 73.2 | |
| MoBE | 24% | 80.9 | |
| Kimi-K2-Instruct (1T) | MoE(原) | 0% | 82.4 |
| MoLAE | 24% | 76.6 | |
| MoBE | 24% | 81.1 |
MoBE 在更大模型上优势更明显:相对 baseline 领先 4%–8% 准确率;对万亿级模型压 24%–30% 仅掉 1%–2%(相对掉约 2%)。D2-MoE 因反向传播开销在 8×H100 上无法跑超大模型。
消融实验表格¶
| 消融维度 | 设置 | 结论 |
|---|---|---|
| 激活函数 | none / Tanh / GeLU / SiLU / Sigmoid / ReLU | ReLU 的 MSE 高一个数量级;Sigmoid 不如无激活;Tanh/GeLU/SiLU 最优,最终选 SiLU & Tanh |
| Z-score 归一化 | w/ vs w/o | 加归一化后各层 MSE 显著下降,优化更稳定 |
| 激活专家数 | MoBE (k=8) vs MoBE† (k'=6) | MoBE† 精度损失 0.5% < MoBE 1.4%,且补偿了激活参数上升 |
关键发现¶
- 重建误差上 MoBE 在 Qwen3-30B-A3B 全层 MSE 比 MoLAE/D2-MoE 低 50% 以上,直接解释了下游精度优势。
- 压缩总参数比压缩激活参数更难:MoBE(总参) 掉 1.4% 而 MoBE†(激活) 仅掉 0.5%;随着模型稀疏度越来越高、总参冲上 1T,压总参数更有实用价值。
亮点与洞察¶
- 共享基 + 非线性是对 SVD 低秩假设的精准反击:用"全层共享 + 专家凸组合 + bipolar 激活"绕开了"专家权重有效秩高于 SVD 阈值"这个被实测验证的根本障碍。
- 完全 data-free:只靠重建原权重,不需要校准集(D2-MoE 需要),泛化与可复现性更好。
- 推理零额外开销的归一化:\(\sigma_W\) 折叠进 \(A\)、\(\mu_W\) 可忽略,工程上几乎免费。
- 可验证落地:在真实的 671B / 1T 旗舰模型上跑通并保留 ~98% 性能,而非只在玩具规模上验证。
局限与展望¶
- 仍有轻微精度损失,作者建议用全网络知识蒸馏(KD)在原模型与压缩模型间补差距,但需要改造现有训练框架以支持大模型 KD。
- MoBE 的因子化要多次调用 fused-MoE 内核来模拟,效率不高,需要专门的 mega-kernel 才能真正释放架构优势。
- 384 专家的 Kimi-K2 需拆成两组各 64 基才能稳定优化,超大专家数下的优化稳定性仍待改进。
相关工作与启发¶
- 专家剪枝/合并(NAEE、STUN、DEK、MC-SMoE):删除整专家,简单但永久丢知识,精度掉得多。
- 矩阵分解(D2-MoE、MoLAE、Sub-MoE、MoNE):D2-MoE 抽共享权重 + 对残差 delta 做 SVD(需校准数据);MoLAE 把专家分组后用 SVD 表示为专属变换 × 组共享潜矩阵。MoBE 与它们的本质区别是共享基 + 非线性而非纯低秩 SVD。
- 启发:当低秩假设撞上高有效秩时,"共享一组基 + 每元素凸组合 + 轻量非线性"是比"硬砍秩"更优雅的压缩范式,可迁移到注意力权重、LoRA 合并、跨层参数共享等场景。
评分¶
- 新颖性: ⭐⭐⭐⭐ 共享基矩阵 + 凸组合 + bipolar 激活的组合是对 SVD 路线的实质性改进,并用有效秩分析给出了清晰动机。
- 实验充分度: ⭐⭐⭐⭐⭐ 覆盖 6 个开源 MoE(含 671B/1T 旗舰)、15 个 benchmark、激活/归一化/激活专家数三组消融,重建误差与下游精度双重验证。
- 写作质量: ⭐⭐⭐⭐ 动机—方法—复杂度分析—实验逻辑闭环,公式与图表清晰;参数复杂度推导尤其扎实。
- 价值: ⭐⭐⭐⭐⭐ 把万亿级 MoE 压 24%–30% 仅掉 1%–2% 且 data-free,对实际部署直接有用,落地价值高。