第 14 课:大模型结构化剪枝与知识蒸馏实战:从稀疏结构到可部署模型
本课目标与通过标准
本课产出:掌握大语言模型从权重稀疏算法到工业级端侧/云端可部署小模型的全链路压缩流水线。深入对比非结构化剪枝、2:4 半结构化稀疏与 结构化剪枝(宽度剪枝 Width Pruning 与深度剪枝 Depth Pruning) 的工程优劣;掌握 Wanda(权重与激活联合感知) 评分机制与 ShortGPT(基于角距离的 Block Influence) 层级冗余度评估;掌握剪枝后模型的 知识蒸馏(Knowledge Distillation) 恢复范式,推导 Logit KD 中温度参数 的梯度尺度补偿,理解 Forward KL 与 Reverse KL(MiniLLM)及 On-Policy 采样蒸馏(GKD)的本质差异。
通过要求:唯一代码填空题通过全部断言;Q1~Q3 沿真实的张量切分维度、GPU GEMM Tile 对齐约束与反向传播梯度流给出因果链;能指出一个正确性不变量、一个数值补偿细节和一个长上下文能力评测边界;总分至少 8/10。
源码版本与阅读方法
本课程使用固定 commit 的永久链接保证行号可复现,同时链接 current docs 供核对最新变化。阅读时先建立“剪枝决定下限,蒸馏决定上限”的心智模型:
| 顺序 | 核心文件与模块 | 带着什么问题读 |
|---|---|---|
| 1 | Wanda 官方仓库 lib/prune.py |
为什么引入激活范数 之后,评判权重重要性的准确率显著超越纯权重幅值(Magnitude)? |
| 2 | ShortGPT 论文(arXiv:2403.03853)的层级角距离度量 | 隐藏层输出向量与输入向量之间的角距离(Angular Distance)是如何反映该层表征变化的? |
| 3 | NVIDIA Model Optimizer / Minitron 仓库 | 宽度剪枝(剔除注意力和 MLP 隐藏通道)与深度剪枝(剔除整层)在工程上如何与 Tensor Parallel 对齐? |
| 4 | MiniLLM 仓库 minillm/minillm/losses.py |
为什么采用学生模型分布采样的 Reverse KL 蒸馏比传统 Forward KL 能够显著减少生成胡言乱语? |
| 5 | GKD 论文(arXiv:2306.13649)的 on-policy 蒸馏损失 | On-Policy 机制是如何在自回归多步生成中消除 Exposure Bias(曝光偏差)的? |
版本基准:论文 Wanda arXiv:2306.11695、ShortGPT arXiv:2403.03853、Minitron arXiv:2407.14679、MiniLLM arXiv:2306.08543;实现参考 locuslab/wanda。
🔒 VIP 专享:本课核心机制、推导、代码题与参考答案已锁定
本课剩余部分(核心心智模型、数值推导、代码填空题、问答题与完整参考答案)为 VIP 内容。同一张密钥可解锁全部 VIP 内容:题库、速查表、系统设计案例与全部付费课程。