Delta Tuning(我理解的是微量调整)

Delta Tuning是什么》

本质是在一小部分的参数进行调整。

一种新的模型适配方案——参数高效(Parameter-efficient)方法逐渐受到关注,与标准全参数微调相比,这些方法仅微调模型参数的一小部分,而其余部分保持不变,大大降低了计算和存储成本,同时还有着可以媲美全参数微调的性能。研究者认为,这些方法本质上都是在一个「增量」(Delta
Paremters)上进行调整,因此将它命名为 Delta Tuning

现有的Delta Tuning 方法》

现有 Delta Tuning 方法可以被分为三组:
增量式(Addition-based):重新增加一组参数。常见的增量式方法包括 Adapter-Tuning、Prefix Tuning、Prompt Tuning 等等。将小规模的神经模块或者可调参数插入到模型中,并且通过只微调这一小部分参数来达到模型高效适配的效果。其中 Adapter-tuning 是这类方法的开创性工作,它证明仅仅在每一层添加一个简单的神经网络,就可以在很多任务上媲美全参数微调。Prompt Tuning 可以视为 Prefix Tuning 的简化版,即只在输入层添加 Soft Prompt,这种做法有一个非常大的好处,就是不用修改模型内部的结构。
指定式(Specification-based):指定微调哪一部分参数
重参数化(Reparameterization):指定对哪一部分的参数进行重新设计

所谓**适配器(adater)**是值在预训练网络层之间添加的新模块。基于适配器的调优和基于特征的迁移及微调有一些不同:
在这里插入图片描述
**前缀微调(prefix-tunning),**用于生成任务的轻量微调。前缀微调将一个连续的特定于任务的向量序列添加到输入,称之为前缀,如下图中的红色块所示。与提示(prompt)不同的是,前缀完全由自由参数组成,与真正的token不对应。相比于传统的微调,前缀微调只优化了前缀。因此,我们只需要存储一个大型Transformer和已知任务特定前缀的副本,对每个额外任务产生非常小的开销。https://zhuanlan.zhihu.com/p/386073664

在这里插入图片描述
Adapter-Tuning:

在这里插入图片描述

Delta Tuning 在做什么》

它们似乎都在不约而同地证明一件事情:即大模型的适配过程似乎是一个非常低消耗的过程(相比于预训练),它可以通过非常少的数据和非常少的参数调整来完成

Delta Tuning 和Fine tuning 的比较》

效率分析

全参数Fine-tuning和四种具有代表性的**Delta Tuning方法(包括Prompt Tuning(PT)、Prefix-Tuning(PF)、LoRA(LR)和Adapter(AP))**对性能、收敛性和效率分析进行了彻底的比较。

在这里插入图片描述
结论:根据平均结果,所有方法的性能排名为 FT > LR > AP > PF > PT。同时,研究者也发现,Delta Tuning 方法的性能与其可调参数的数量并不一致,即更多可调参数不一定会带来更好的性能,相比之下,Delta Tuning 的具体结构设计可能会发挥作用更大的作用。(3) PT 作为这些方法中最容易实现的方法(即不修改模型的内部结构),在大多数情况下,它的性能是远远落后于其他 Delta Tuning 方法的。
这些微调方法的收敛速度排序为:FT > AP ≈ LR > PF。

在实验中还发现,对于每种 Delta Tuning 方法,性能和收敛性都对可调参数的数量不敏感,相比之下,对具体的结构更敏感。

可组性分析

  • 同时组合
    这是对多种delta tuning的方式采用同时组合的方式,prompt tuning ,bitfit 和Adapter.
    在这里插入图片描述
    给出的实验结论是:
    从上表可以看出,(1) 无论在全量数据还是低资源场景下,无论是否存在手动模板,在 Delta Tuning 的组合中引入 Adapter 几乎总是有助于平均 GLUE 性能;(2) 在组合中引入 Prompt Tuning 通常会损害平均性能,表明 Prompt Tuning 可能与其他两种 Delta Tuning 方法不兼容;(3) 在组合中引入 BitFit 一般会提高平均性能;(4) 手动模板可以通过缩小下游任务适应和预训练之间的差距显著提高 zero-shot 性能(从 23.7 到 43.4)。

**在 few-shot 设置下,人工模板也可以明显提高平均性能。**然而,当训练监督信号相对比较丰富时(全量数据场景下),引入人工模板仅表现出微弱的性能提升,甚至有可能损害性能

  • 顺序组合,具体来说,他们将整个微调分为 了3 个阶段。在每个阶段,研究者训练一个单独的 Delta Tuning 方法;在接下来的阶段中,他们固定前面阶段训练得到的 Delta Tuning 参数不动 ,只优化新引入的 Delta Tuning 参数。
    实验结论:不存在固定的最优组合顺序。

模型规模变化给出的实验结论

有研究发现 ,随着使用的 PLM 的模型规模增长,Prompt Tuning 的性能会越来越强,甚至可以达到和全参数 Fine-tuning 微调相匹敌的水平。
实验结论:将可微调的参数限制在某个特定层内可能不是一个好的策略。

另一方面,当 PLM 的规模变得非常大时,跨不同层随机选择模块来微调可以实现出色的性能。总的来说,上述结果表明**,随着 PLM 模型规模的增长,各种微调方法的性能 / 收敛速度得到显著提升可能是 Delta Tuning 的常见现象。**

研究者猜测这种现象的存在是因为,较大的 PLM 通常具有较小的本征维度(Intrinsic Dimension),因此,仅调整很少的参数即可获得足够强的表示能力,从而在下游任务中实现非平凡的性能;此外,过参数化的模型可能在下游优化过程中更不容易陷入局部最优,从而加速收敛。

原文链接:https://cloud.tencent.com/developer/article/1975363
论文:《Delta Tuning: A Comprehensive Study of Parameter Efficient Methods for Pre-trained Language Models》

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YingJingh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值