做 MoE Pruning 需要的知识体系可以分成几个层次:


一、基础前置知识

Transformer 架构

  • Attention 机制、FFN 结构、残差连接
  • 理解 token 如何在层间流动

MoE 核心机制

  • Expert 的结构(通常是 FFN 的替代)
  • Router/Gating 机制:Top-K routing、softmax gating
  • Load balancing loss(auxiliary loss)
  • Token dispatching 与 expert capacity
  • 代表模型:Switch Transformer、GLaM、Mixtral、DeepSeek-MoE

二、Pruning 基础知识

经典 Pruning 方法

  • Unstructured vs Structured pruning
  • Magnitude pruning、gradient-based pruning
  • 重要性评估指标:weight norm、activation、gradient × weight

Pruning 的核心问题

  • 如何衡量”重要性”(saliency)
  • 一次性剪枝 vs 迭代剪枝
  • Post-training pruning vs pruning during training
  • Pruning 后的 recovery:fine-tuning / distillation

LLM Pruning 相关工作(先读这些)

  • SparseGPT(OBS 框架,layer-wise pruning)
  • Wanda(activation-aware weight pruning)
  • LLM-Pruner(结构化剪枝)

三、MoE-specific Pruning 的核心挑战

这是难点所在,需要重点理解:

挑战说明
Expert-level granularity可以剪整个 expert,也可以剪 expert 内的 weights
Router 的处理剪掉 expert 后 router logits 需要重新 normalize
Load imbalance某些 expert 本来就很少被激活,是否该优先剪?
Expert 合并(merging)相似的 expert 可以合并而非直接删除
Activated vs total paramsMoE 的稀疏性使得”参数量”和”计算量”需要分开考虑

直接相关论文(建议按顺序读)

  • MC-SMoE:expert merging + pruning
  • EEP(Expert-level Early Pruning)
  • MoE-Pruner / Sparse Upcycling 相关
  • DeepSeek-MoE 论文中关于 expert 设计的分析
  • Not All Experts are Equal:expert 重要性分析

四、工程实现能力

  • 框架:PyTorch(必须)、HuggingFace Transformers、可选 DeepSpeed/Megatron
  • MoE 实现细节:了解 megablockstutel、或 HF 的 MoE 实现
  • 评估:perplexity、downstream task accuracy、latency benchmark
  • 显存管理:MoE 模型通常很大,需要 model parallel 或 offloading 经验

五、推荐学习路径

Transformer 基础
    ↓
MoE 论文(Switch Transformer → Mixtral)
    ↓
经典 Pruning(SparseGPT / Wanda)
    ↓
MoE Pruning 论文(MC-SMoE / EEP)
    ↓
复现一个小实验(在小模型上做 expert pruning)

有没有特定方向想深入?比如:inference 加速专注 expert merging、还是结合量化做压缩