题目: BitFit: Simple Parameter-efficient Fine-tuning for Transformer-based Masked Language-models
来源: ACL 2022 (short)
模型名称: BitFit
论文链接: https://aclanthology.org/2022.acl-short.1/
项目链接: https://github.com/benzakenelad/BitFit
0.摘要
BitFIt只对模型的bias进行微调。在小规模-中等规模的训练数据上,BitFit的性能与全量微调的性能相当,甚至有可能超过,在大规模训练数据上,与其他fine-tuning方法也差不多。作者提出,fine-tuning是在模型训练中的知识暴露而不是在新领域学习新领域任务
1.引言
仅微调bias项就出乎意料的有效
BitFIt的优势:
- 每个微调任务只更改很少的参数。
- 为每个任务更改相同的参数集(任务不变性)。
- 更改的参数在整个参数空间中都是隔离和本地化的。
- 对于中小型训练数据,仅更改这些参数即可达到与完全微调相同的任务精度,有时甚至可以提高结果。
只是微调query和MLP中间层的bias几年会导致一点点的性能下降,而这两部分仅占用模型总bias参数的一半
微调究竟是学习出了新的能力,还是暴露出模型现有的能力
2.模型
仅仅只训练bias和分类头,拥有以下三个特点:
- 与全量微调差不多
- 使任务能够以流的形式到达,这样就不需要同时访问所有数据集
- 仅微调模型的一小部分参数
3.实验

图1显示了RTE任务的每个偏差项和层的变化【颜色越浅说明影响越小】
通过Bitfit训练前后的参数对比,发现很多bias参数没有太多变化,例如跟计算key所涉及到的bias参数。发现其中计算query与中间MLP层的bias(将特征维度从N放大到4N的FFN层——将输入从768d转化为到3072d)变化最为明显,只更新这两类bias参数也能达到不错的效果,反之,固定其中任何一者,模型的效果都有较大损失。
4.相关工作
大模型其实本身就是过度参数化的! 参数个数远大于推理所需,过量的参数可以在微调的时候被利用。
5.结论
作者提出了 BitFit,这是一种针对最终任务对预训练 Transformer 进行本地化、快速微调的新颖方法。该方法将微调重点放在模型参数的特定部分——偏差,并在评估的所有 GLUE 任务中保持良好的性能。