【论文笔记】BitFit: Simple Parameter-efficient Fine-tuning for Transformer-based Masked Language-models

题目: 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的优势:

  1. 每个微调任务只更改很少的参数。
  2. 为每个任务更改相同的参数集(任务不变性)。
  3. 更改的参数在整个参数空间中都是隔离和本地化的。
  4. 对于中小型训练数据,仅更改这些参数即可达到与完全微调相同的任务精度,有时甚至可以提高结果。

只是微调query和MLP中间层的bias几年会导致一点点的性能下降,而这两部分仅占用模型总bias参数的一半

微调究竟是学习出了新的能力,还是暴露出模型现有的能力

2.模型

仅仅只训练bias和分类头,拥有以下三个特点:

  1. 与全量微调差不多
  2. 使任务能够以流的形式到达,这样就不需要同时访问所有数据集
  3. 仅微调模型的一小部分参数

3.实验

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

扫描二维码关注公众号,回复: 17496970 查看本文章

图1显示了RTE任务的每个偏差项和层的变化【颜色越浅说明影响越小】

通过Bitfit训练前后的参数对比,发现很多bias参数没有太多变化,例如跟计算key所涉及到的bias参数。发现其中计算query与中间MLP层的bias(将特征维度从N放大到4N的FFN层——将输入从768d转化为到3072d)变化最为明显,只更新这两类bias参数也能达到不错的效果,反之,固定其中任何一者,模型的效果都有较大损失。

4.相关工作

大模型其实本身就是过度参数化的! 参数个数远大于推理所需,过量的参数可以在微调的时候被利用。

5.结论

作者提出了 BitFit,这是一种针对最终任务对预训练 Transformer 进行本地化、快速微调的新颖方法。该方法将微调重点放在模型参数的特定部分——偏差,并在评估的所有 GLUE 任务中保持良好的性能。

猜你喜欢

转载自blog.csdn.net/weixin_44904205/article/details/139830494