2025 ICLR
- 判断模型层的重要性->剪去不重要的层(用轻量网络代替)
- 这种方法只减少了层数量,所以可以用常用的方法加载模型

- 层剪枝阶段
- 通过输入与输出的余弦相似度来判断各个层的重要性
- 具有高余弦相似度的层倾向于聚集在一起,因此该方法会修剪连续的层
- 通过输入与输出的余弦相似度来判断各个层的重要性
- 层替换阶段
- 训练了一个轻量级蒸馏小模型来弥补剪枝带来的性能损失
- 根据预定义的修剪率选择从 i 到 i+n 的层进行修剪后,从第 i 层的输入和第 i+n 层的输出中收集隐藏状态作为训练数据,并使用 MSE Loss 通过蒸馏来训练一个轻量级模型
- 层替换 VS LoRA
- 过去的结构化剪枝方法一般使用 LoRA 方法训练,而相比之下,层替换方法有着以下优势:
- 更低的 GPU 内存消耗
- 层替换方法只需要在隐藏状态收集期间对原始模型进行前向传播的成本
- 在训练期间,仅训练轻量级网络
- ------>比 LoRA 更节省内存
- 更合理的训练方法
- LoRA 直接训练剩余的层
- ------>用轻量级网络替换修剪层比训练剩余层更简单
- 更低的 GPU 内存消耗
- 过去的结构化剪枝方法一般使用 LoRA 方法训练,而相比之下,层替换方法有着以下优势: