0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

从统一视角看各类高效finetune方法实现最优tuning框架设计

深度学习自然语言处理 来源:圆圆的算法笔记 作者:圆圆的算法笔记 2022-11-29 11:13 次阅读

随着预训练模型参数量越来越大,迁移学习的成本越来越高,parameter-efficient tuning成为一个热点研究方向。在以前我们在下游任务使用预训练大模型,一般需要finetune模型的所有参数。随着parameter-efficient tuning技术的发展,一些注入adaptor、prefix tuning、LoRA等成本更低的finetune方法被提出。那么各种各样的parameter-efficient tuning方法之间是否存在某些潜在的关系呢?ICLR 2022就有一篇相关的研究,从统一的视角理解现有的各类parameter-efficient tuning方法,并提出了一套迁移框架,可以实现更接近全量参数finetune效果的部分参数finetune。

1各类tuning方法回顾

比较经典的高效finetune方法主要包括adaptor、prefix-tuning、LoRA这三类,这里进行一个简单的回顾。

Adaptor核心是在原Bert中增加参数量更小的子网络,finetune时固定其他参数不变,只更新这个子网络的参数。Adaptor是最早的一类高效finetune方法的代表,在Parameter-Efficient Transfer Learning for NLP(ICML 2019)这篇文章中被提出。在原来的Bert模型的每层中间加入两个adapter。Adapter通过全连接对原输入进行降维进一步缩小参数量,经过内部的NN后再将维度还原,形成一种bottleneck的结构。在finetune过程中,原预训练Bert模型的参数freeze住不更新,只更新adapter的参数,大大减少了finetune阶段需要更新和保存的参数量。

b60e7bc4-6f24-11ed-8abf-dac502259ad0.png

Prefix-tuning的核心是为每个下游任务增加一个prefix embedding,只finetune这些embedding,其他参数freeze。Prefix-tuning对应的论文是Prefix-Tuning: Optimizing Continuous Prompts for Generation(2021),这类方法的思想来源于prefix prompt,prefix embedding相当于一个上下文信息,对模型最终产出的结果造成影响,进而只finetune这个embedding实现下游任务的迁移。

b6af57e2-6f24-11ed-8abf-dac502259ad0.png

LoRA的核心是通过引入参数量远小于原模型的可分解的两小矩阵建立一个旁路,通过finetune这个旁路来影响预训练模型。LoRA于LoRA: Low-rank adaptation of large language models(2021)论文中被提出,利用低秩矩阵替代原来全量参数的训练,提升finetune效率。

b75a2758-6f24-11ed-8abf-dac502259ad0.png

2统一视角看高效finetune方法

ICLR 2022的这篇文章从统一的视角来看各类不同的parameter-efficient tuning方法。首先对于prefix tuning,Transformer的每个head的结果可以进行如下的公式推导变换:

b76eb9f2-6f24-11ed-8abf-dac502259ad0.png

其中,第一行的P就是prefix embedding,C对应着key和value的序列向量,x代表query。经过中间的变换后,可以发现prefix tuning的attention计算可以分为两个部分的加权求和,第一部分是原始的attention,第二部分是和key或value无关的一项,只用query和prefix embedding进行self-attention的计算。而权重则是根据prefix embedding的attention权重。通过上述公式,我们可以从另一个视角来看prefix-tuning:即在原始attention的输出结果上,对位相加一个由prefix embedding得到的attention值,实现对原始attention score的修正。

我们再来看Adaptor和LoRA两种tuning方式的数学表示。Adaptor和LoRA方法可以分别表示为如下公式:

b780c99e-6f24-11ed-8abf-dac502259ad0.png

我们把prefix embedding也可以转换成相同的表达形式:

b7a5b77c-6f24-11ed-8abf-dac502259ad0.png

可以发现这些finetune方法都具有相似的表达形式。并且,prefix-tuning中prefix embedding的数量其实和Adapter中降维的维度具有相似的功能。三种方法在这个视角下的对比如下图所示:

b7c173ea-6f24-11ed-8abf-dac502259ad0.png

3统一的高效finetune框架

既然上述几类方法表达形式相似,并且主要学的都是如何修改原来attention的输出结果,那么我们可以建立一个统一的框架,涵盖上述各类finetune方法。这个框架的核心是如何生成修改原始attention score的向量。为了生成这个向量,需要考虑以下4个核心模块:

Functional Form:用什么样的函数生成,上述方法基本都是全连接降维+激活函数+全连接升维的形式,当然也可以设计更复杂的函数形式;

Modified Representation:对哪个位置的信息进行直接修改;

Insertion Form:向量引入的形式,Adapter采用的是串联的方式,根据上一层的隐状态生成向量;而prefix tuning和LoRA采用并联的方式,直接根据输入序列生成向量;

Composition Function:向量的使用方式,利用adapter中采用简单的对位相加的形式。

Adapter、Prefix-tuning、LoRA等方法按照 上面4个维度拆分,各自的实现形式如下表:

b7f18ad0-6f24-11ed-8abf-dac502259ad0.png

接下来,文中基于上述4个模块设计了一些新的方法:

Parallel Adapter:将Adapter的串联形式修改为并联形式;

Multi-head Parallel Adapter:在Parallel Adapter基础上修改了Modified Representation,使用旁路向量修改attention输出结果;

Scaled Parallel Adapter:将LoRA的scaling引入进来。

b80cc340-6f24-11ed-8abf-dac502259ad0.png

4实验结果

本文由于站在了更高的视角,看到了parameter-efficient tuning的统一形式,因此可以实现更加灵活的建模方式,基于这个框架寻找最节省参数量、最能达到更好效果的结构。从下图可以看出,本文提出的方法实现接接近全量参数finetune的效果,参数量也比Adapter、LoRA等方法有所减少。

b8268032-6f24-11ed-8abf-dac502259ad0.png

文中通过大量的实验对比各个模块采用什么样的形式能带来最好的效果-效率的这种,并最终提出最优的模型MAM-Adapter。核心的实验发现包括:并联的方式比串联的好;对FFN输出结果的修改比对Attention输出结果修改要好等。

b880989c-6f24-11ed-8abf-dac502259ad0.png

5总结

本文从统一视角看parameter-efficient tuning,实现了更高视角的最优tuning框架设计。这也启发我们寻找同类问题不同建模方式背后原理的统一性,能够跳出一种模型结构去看各类建模方式的相似性,实现更高视角下对问题的理解。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • LoRa
    +关注

    关注

    349

    文章

    1700

    浏览量

    232138

原文标题:从统一视角看各类高效finetune方法

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    详解框架设

    后台程序(控制中心),是程序的核心。它实现各类RPC接口(远程调用接口),供前台程序、MQTT程序使用。
    的头像 发表于 01-09 16:48 115次阅读
    详解<b class='flag-5'>框架设</b>计

    HarmonyOS NEXT应用元服务开发Intents Kit(意图框架服务)习惯推荐方案概述

    用户的行为习惯。 2.在HarmonyOS学习到用户的行为习惯后,会给用户推荐相应功能,并且尝试补充详细功能参数,减少用户执行任务的步骤。 以听音乐为例,意图框架设计了统一的意图——播放歌单意图,该意图可以让
    发表于 11-19 17:59

    特斯拉智能驾驶未来发展

    编者语:「智驾最前沿」微信公众号后台回复:C-0587,获取本文参考报告:《特斯拉视角智能驾驶研究框架》pdf下载方式。 随着自动驾驶技术的快速发展,智能驾驶已成为汽车行业技术竞
    的头像 发表于 11-16 16:49 1251次阅读
    <b class='flag-5'>从</b>特斯拉<b class='flag-5'>看</b>智能驾驶未来发展

    种简单高效配置FPGA的方法

    本文描述了种简单高效配置FPGA的方法,该方法利用微处理器串行外围接口(SPI)闪存配置FPGA设备。这种
    的头像 发表于 10-24 14:57 745次阅读
    <b class='flag-5'>一</b>种简单<b class='flag-5'>高效</b>配置FPGA的<b class='flag-5'>方法</b>

    蓝牙协议栈视角探索信道探测

    亲爱的蓝牙科技爱好者们,上期的“干货”希望大家看得过瘾!在本期节目中,主讲人蓝牙技术联盟技术与市场工程师鲁公羽会继续为您详解信道探测(Channel Sounding),蓝牙协议栈的视角探索信道探测的技术细节!
    的头像 发表于 10-12 16:49 360次阅读
    <b class='flag-5'>从</b>蓝牙协议栈<b class='flag-5'>视角</b>探索信道探测

    使用PPC3软件,进入Tuning and Audio Processing模块后,喇叭就不发声了怎么解决?

    自己的电脑,不管是笔记本还是台式机,都是上述那个问题,是不是我的电脑驱动跟PPC3有冲突,还是PPC3需要进行些设置才能使用Tuning and Audio Processing模块呢?
    发表于 10-12 07:58

    般高压架设线路用的什么线

    高压架设线路是指用于输送高压电流的架空线路,通常用于远距离输电。高压架设线路的选用和设计需要考虑多种因素,包括线路的电压等级、输电距离、地形地貌、气候条件等。 、高压架设线路的类型
    的头像 发表于 08-16 09:15 825次阅读

    统一多云管理平台怎么用?

    的IT基础设施管理功能,帮助企业在日益复杂的云计算环境中实现高效管理和成本优化,Rak小编统一多云管理平台怎么用?
    的头像 发表于 08-14 11:28 251次阅读

    ESP32-S3-KROVO2如何在ADF框架实现wifi连接?

    本人现在想要做个项目,能够实现wifi连接并在LCD上显示图片,目前能够分别使用idf框架实现wifi连接,和adf框架下的图片LCD显示
    发表于 06-28 08:02

    视觉新纪元:解码LED显示屏的视角、可视角、最佳视角的最终奥秘

    在璀璨夺目的LED显示屏世界里,每个绚烂画面的背后,都离不开三个关键概念:视角、可视角与最佳视角。这些术语不仅是衡量显示效果的重要标尺,也是连接观众与精彩内容的桥梁。让我们
    的头像 发表于 06-23 02:55 694次阅读
    视觉新纪元:解码LED显示屏的<b class='flag-5'>视角</b>、可<b class='flag-5'>视角</b>、最佳<b class='flag-5'>视角</b>的最终奥秘

    鸿蒙Ability Kit(程序框架服务)【应用启动框架AppStartup】

    `AppStartup`提供了种更加简单高效的初始化组件的方式,支持异步初始化组件加速应用的启动时间。使用启动框架应用开发者只需要分别为待初始化的组件实现`AppStartup`提供
    的头像 发表于 06-10 18:38 754次阅读

    讯维融合通信系统:如何助力企业实现高效沟通?

    讯维融合通信系统是款功能强大的通信解决方案,专为满足现代企业高效沟通需求而设计。通过其先进的通信技术和智能化的管理功能,该系统能够助力企业实现高效、便捷和安全的沟通,进而提升整体运营
    的头像 发表于 04-10 16:35 467次阅读

    高效的KV缓存压缩框架--GEAR

    GEAR框架通过结合三种互补的技术来解决这挑战:首先对大多数相似幅度的条目应用超低精度量化;然后使用低秩矩阵来近似量化误差。
    发表于 03-19 10:12 360次阅读
    <b class='flag-5'>一</b>种<b class='flag-5'>高效</b>的KV缓存压缩<b class='flag-5'>框架</b>--GEAR

    自制测试框架(设置界面密码1)

    鼠标,按键盘,目视确认颜色或CheckSUM值的。直接可以实现自动或半自动操作,实现程序防呆; 5、可连接各类仪器和板卡; *附件:测试框架.rar
    发表于 03-02 19:33

    【鸿蒙】NAPI 框架生成工具实现流程

    NAPI 框架生成工具 可以根据用户指定路径下的 ts(typescript)接口文件键生成 NAPI 框架代码、业务代码框架、GN 文件等。在开发 JS 应用与 NAPI 间接口时
    的头像 发表于 02-28 17:00 717次阅读
    【鸿蒙】NAPI <b class='flag-5'>框架</b>生成工具<b class='flag-5'>实现</b>流程