本文是LLM系列文章,针对《Pruning Pre-trained Language Models Without Fine-Tuning》的翻译。
修剪未微调的预训练语言模型
- 摘要
- [1 引言](#1 引言)
- [2 相关工作](#2 相关工作)
- [3 背景](#3 背景)
- [4 静态模型剪枝](#4 静态模型剪枝)
- [5 实验](#5 实验)
- [6 分析](#6 分析)
- [7 结论](#7 结论)
- [8 局限性](#8 局限性)
摘要
为了克服预训练语言模型(PLMs)中的过度参数化问题,剪枝作为一种简单直接的压缩方法被广泛使用,它直接去除不重要的权重。先前的一阶方法成功地将plm压缩到极高的稀疏度,而性能下降很小。这些方法,如运动剪枝,使用一阶信息剪枝plm,同时微调剩余的权重。在这项工作中,我们认为微调对于一阶剪枝是多余的,因为一阶剪枝足以在没有微调的情况下将plm收敛到下游任务。在此动机下,我们提出了静态模型剪枝(SMP),该方法仅使用一阶剪枝使plm适应下游任务,同时达到目标稀疏度水平。此外,我们还设计了新的掩蔽函数和训练目标来进一步改进SMP。在各种稀疏度水平上的大量实验表明,SMP方法比一阶和零阶方法有显著的改进。与以前的一阶方法不同,SMP也适用于低稀疏度,并且优于零阶方法。同时,由于不需要微调,SMP比其他方法具有更高的参数效率。我们的代码可在https://github.com/kongds/SMP上获得。
1 引言
2 相关工作
3 背景
4 静态模型剪枝
5 实验
6 分析
7 结论
在本文中,我们提出了一种简单而有效的特定于任务的剪枝方法,称为静态模型剪枝(SMP)。考虑到之前的方法,即执行修剪和微调以使plm适应下游任务,我们发现微调可能是冗余的,因为一阶修剪已经收敛了plm。在此基础上,我们的方法侧重于使用一阶剪枝来代替微调。无需微调,我们的方法明显优于其他一阶方法。大量的实验也表明,我们的方法在各种稀疏度下都达到了最先进的性能。对于BERT中的彩票假设,我们发现它包含了不需要训练就能获得原始性能的稀疏性子网,这些子网在80%剩余权重下甚至优于GLUE上微调后的BERT。
8 局限性
与所有非结构化剪枝方法一样,SMP与结构化剪枝方法相比难以实现推理加速。由于SMP对模型的剪枝没有进行微调,这也限制了SMP对结构化剪枝方法的扩展。然而,我们发现SMP中大多数稀疏矩阵的行在高稀疏度水平上是完全修剪的。这允许我们直接压缩矩阵的大小,从而产生更快的推理。例如,MNLI的3%剩余权重模型可以被压缩到模型实际大小的47.43%(导致大约1.37倍的推理加速),而无需重新训练或性能损失。通过删除包含少于10个剩余权重的矩阵行,我们可以进一步将其压缩到实际大小的25.19%(推理加速1.76倍),精度下降0.9。我们期望在训练过程中精心设计的损失函数可以导致更小的实际模型大小和更快的推理加速,我们将其留在未来。