专家高阶剪枝 (HOPE):针对混合专家模型
理解 MoE 内存瓶颈
混合专家 (MoE) 模型(如 Qwen3.5-122B)通常会在内存中存储数百个专家,尽管每个 token 仅激活其中的一小部分。在许多架构中,专家 MLP 占总参数内存占用的 95%。虽然专家剪枝是减少内存占用且无需重新训练或动态卸载的有效策略,但现有的“一阶”方法通常将专家视为独立实体,从而导致性能下降。这些方法未能考虑到专家经常形成稳定的协作组,必须共同保留这些组才能维持模型能力。
HOPE 方法:考虑专家交互
HOPE (Higher-Order Pruning of Experts) 通过建模专家间的成对交互,改进了一阶剪枝。HOPE 不再为每个专家分配单一的标量重要性分数,而是构建了一个交互矩阵 $F$,用于捕获专家对的共同激活模式和联合贡献。
通过最小化一个作为剪枝误差上界的代理目标函数,HOPE 求解一个二次规划 (QP) 问题,以确定要移除的最佳专家集合。$F$ 矩阵的对角线捕获了个人重要性(类似于 REAP 等现有方法),而非对角线项则量化了协作关系的强度。这使得该算法能够牺牲掉单个得分较高的专家,如果移除它们会不成比例地损害关键的协作集群。
性能与基准测试
在各种模型和校准数据集上,HOPE 表现出优于一阶基准(包括 REAP、MAN 和 EAN)的性能。主要发现包括:
- 大规模效率: HOPE 的优势在更高的剪枝率(40% 到 50%)下变得更加明显,此时保留协作结构至关重要。
- 智能体任务优势: 在需要复杂多轮推理和工具使用的 SWE-Bench Pro 基准测试中,经 HOPE 剪枝的模型显著优于通过一阶方法剪枝的模型。例如,使用 HOPE 剪枝 50% 的 Qwen3.5-35B 模型得分达到 42.3,有效地匹配了未剪枝模型的性能。
- 开销可忽略: 该方法仅需对数据进行一次校准传递,随后执行标准的 QP 求解器,每层耗时 1-2 秒,使其在部署中非常实用。
实现与工作流程
HOPE 流水线由三个不同的步骤组成,并由官方 HOPE GitHub repository 提供支持:
- 校准: 在校准数据上进行前向传递,记录专家选择、门控权重和输出范数,以生成 $F$ 矩阵。
- 求解: 系统求解二进制二次规划问题,生成一个定义要移除哪些专家的
pruneset.json文件。 - 剪枝: 根据生成的集合对模型进行剪枝,从而得到一个在内存和磁盘上都更小的标准 Hugging Face 检查点。
局限性与未来展望
虽然 HOPE 在 40-50% 的剪枝率下非常有效,但在较低的剪枝率(10-20%)下性能提升较为温和。此外,当前的实现是独立剪枝各层的,忽略了潜在的跨层交互。尽管存在跨层剪枝的理论框架,但仍处于初步阶段。未来的研究可能会探索纳入更高阶的交互(三元组及以上)以进一步优化剪枝过程,尽管这些方法带来了重大的组合挑战。