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

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

3天内不再提示

一个基于参数更新的迁移学习的统一框架

深度学习自然语言处理 来源:NLP日志 作者:NLP日志 2022-09-26 10:29 次阅读

1 简介

在下游任务对大规模预训练模型进行finetune已经成为目前NLP一种流行的学习方法,然而传统的finetune方法会更新预训练语言模型的全部参数,这种方式随着模型尺寸跟下游任务数量的增加会变得难以承受。

于是乎,出现了一系列高效的更新参数的迁移学习方式,通过只更新少量模型参数来保证下游任务的效果,例如前面章节提及的prompt learning,Adapter,LoRA,BitFit等方法。

这些方法虽然有效,但他们成功的原因跟彼此之间的联系却不明所以,这对我们理解这些关键设计造成了阻碍。

在这个章节,我们介绍一篇ICLR2022相关的论文,它提出一个基于参数更新的迁移学习的统一框架,建立多种参数优化方法之间的联系,从而方便理解不同方法背后的关键设计,进而设计出只更新更少参数同时取得更好效果的参数优化方法。

2 背景

在这个篇章,我们从另一种角度去回顾之前提及的多种高效的参数优化方法,通过一种更加抽象的方式去解析其中的原理跟细节,从而比对彼此之间的共性与差异,构建一个统一的框架。

2.1 Prefix tuning

Prefix tuning会在每层transformer的多个attention的key跟value向量中插入l个用于更新参数的prefix向量,每个attention的计算公式如下,其中的Pk,Pv就是新插入的prefix向量。

57a4453a-3cdb-11ed-9e49-dac502259ad0.png


图1:prefix tuning

而等式的前半部分是不加入prefix向量的初始attention计算的公式,后半部分则是跟上下文向量C无关的部分,通过一个类似门的机制来计算前后两部分的比重,如果用h表示原本的attention模块输出,那么prefix tuning的attention计算可以写成如下形式,加入prefix的attention模块输出等于原本attention模块输出和一个的与上下文无关的增量之间的加权平均。

57cbab66-3cdb-11ed-9e49-dac502259ad0.png

2.2 Adapter

Adapter方法在transformer层子模块之间插入一些新的模块,在Adapter内部,它的输入h通过矩阵乘法Wdown,先将特征维度缩小,然后通过一个非线形层f,再通过矩阵乘法Wup将特征维度放大到跟adapter输入一样的尺寸,最后通过一个跨层连接,将adapter的输入跟上述结果加到一起作为最终adapter的输出,即下图形式。

57e7f262-3cdb-11ed-9e49-dac502259ad0.png


同样包括前面两部分,前面部分还是原先的输入h,而后面部分则是h的一个增量变化,但是相比prefix tuning这里用于计算的前面两部分的权重的门的机制,同样可以把上式改写为以下形式。

57f9314e-3cdb-11ed-9e49-dac502259ad0.png


2.3LoRA

LoRA在transformer的权重矩阵旁插入了一个低秩矩阵,用于近似权重更新,对于预训练模型的权重矩阵W,LoRA通过低秩分解将其表示为如下形式,其中s是一个可训练的参数,在形式跟LoRA极其相似,只是少了一个中间非线性运算和多了一个标准化参数s。

5811bc00-3cdb-11ed-9e49-dac502259ad0.png


3.1 The unified framework

通过对上述几种方法的抽象表示,不难发现这几种方法存在一定的共性,隐藏层的最终表征都由两部分组成,分别是原始的语言模型的输出跟新的增量两部分,虽然很多关键设计有所不同,但是这几种方法都在学习应用于各种隐藏表征的一个修正向量,也就是后半部分。

为了建立统一的框架去理解这些不同方法背后的关键设计,论文定义了以下四个设计维度,并分析了不同方法在这四个维度之间的差异跟联系。

a) Functional Form,修正向量的计算方式,下图中的第二列。

b) Modified Representation,直接调整的隐藏表征位置,作用于attetnion模块还是FFN模块?

c) Insertion Form,新增模块如何插入语言模型中?序列化还是并行化?

如果输入是语言模型的输入,输出是语言模型的输出,则属于并行化,类似于Prefix tuning,如果输入跟输出都是语言模型的输出,则属于序列化,类似于Adapter.

d)Composition Form,修正向量跟原本的隐藏层表征如何结合到一起去构建新的隐藏层表征?

582e41cc-3cdb-11ed-9e49-dac502259ad0.png

图2:不同方法在4个设计维度下的具体信息

在提出上述统一的框架后,通过调整某些设计维度下的信息,论文提出了3种新的迁移学习方法的设计,具体细节可以参考下图理解。

a)Parallel Adapter,

将prefix tuning的并行插入方式迁移到Adapter,也就是把Adapter的insertion form的属性改成prefix tuning。

b)Multi-head Parallel Adapter

将Parallel Adapter应用到multi head attention的位置,也就是把Parallel Adapter的modified representation的属性改成prefix tuning。

c)Scaled Parallel Adapter

将LoRA的复合函数跟插入方式迁移到Adapter,也就是把Adapter的composition form跟insertion form的属性改成LoRA

5844c460-3cdb-11ed-9e49-dac502259ad0.png


图3:多种参数优化方法结构对比

4 实验

为了探索不同的设计维度所隐藏的特性,以及哪些设计维度尤为重要,论文在4个不同类型的下游任务上进行了实验,包括文本总结,文本翻译,文本推断以及情感分类任务,相应的数据集分别为XSum, en-ro, MNLI, SST2。至于语言模型的选择,为了更贴合当前实际,论文使用了encoder-decoder结构的语言模型在前两者上做实验,而使用encoder结构的语言模型在后两者上进行实验。

a)当下主流方法的表现

在文本推断跟情感分类任务的数据集上,现存的几种主流方法在只更新小于1%的参数量条件下可以达到媲美更新全部模型参数的效果,但在文本总结跟翻译任务数据集上,即便增加要更新的参数量,这几种参数优化的方法距离更新全部模型参数的方法在效果上仍有一定差距。

这也说明那些宣称可以媲美finetune全部参数方法效果的参数优化方法,其实是在只包含encoder的模型并在GLUE上取得,或者是基于encoder-decoder的模型在相对简单的文本生成任务上取得媲美finetune全部参数的效果,不能泛化到其他标准评测任务。

58766e2a-3cdb-11ed-9e49-dac502259ad0.png

图4:目前几种主流方法的效果对比

b)Insertion Form

下图中,SA指的是Adapter,相应的insertion form是sequential,PA则是Parallel Adapter,相应的insertion form跟prefix tuning一样,都是parallel。

从实验结果看,使用parallel作为插入方式的prefix tuning跟PA效果明显优于SA,从而说明parallel的插入形式更优。

58ab34de-3cdb-11ed-9e49-dac502259ad0.png

图5:Insertion Form对比

c)ModifiedRepresentation

从下图可以看出,直接作用于FFN层的方法的效果明显优化作用于attention层,这些结果显示FFN层可以更高效的利用新增的参数进行调整。这可能是由于FFN层学习的是具体任务的文本模式,而attention层学习的是文本不同位置之间的交互,具有一定泛化能力,不需要特地为新任务做太多调整导致的。

58d80ebe-3cdb-11ed-9e49-dac502259ad0.png


图6:modified representation对比

当更新的参数量从3.6%减少到0.1%时,作用于attention模块的MH PA(attn)跟prefix tuning的方法在效果上领先于其他方法。

5904a0c8-3cdb-11ed-9e49-dac502259ad0.png

图7:multi head attention的有效性

结合上述实验效果,当目标参数量非常少时,作用于attention层的方法可以取得更好效果,反之,则优先选择作用于FFN层的方法。

d) Composition Function

不难看出,scaling的复合函数效果优于简单相加的复合函数。

5927d8a4-3cdb-11ed-9e49-dac502259ad0.png

图8:不同composition function对比

5 总结

基于前面的实验结论,论文有以下重大发现:

a) Scaled parallel adapter是作用于FFN层的最好变体。

b) FFN层可以通过更多的参数从而更好优化下游模型表现。

c)类似于prefix tuning的作用于attention的方式可以在仅更新0.1%比例参数量的前提下得到不错效果。

于是论文提出一种新的方法Mix-And-Match adapter(MAM Adapter),它包括作用于attention模块30个prefix tuning向量,以及引入更多参数量的scaled parallel adapter,在诸多任务上取得了SOTA效果。融合prefix tuning跟scaled parallel adapter的结构,并根据它们的特点分配合适的优化参数,从而达到一个整体的更优。

之前在学习怎么高效的参数优化方法时总是感觉里面有很多神似的地方,但是建立不了其中的联系,看到这篇论文后,有一种茅塞顿开的领悟,这篇文章提出的统一框架能够帮助大家更好的理解这些参数优化方法,从而更好理解这些关键设计带来的价值。具体到个人,可以根据自己的任务和场景,设计出更加灵活的参数优化的迁移学习方案了。




审核编辑:刘清

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

    关注

    0

    文章

    69

    浏览量

    35175
  • GLUE
    +关注

    关注

    0

    文章

    5

    浏览量

    7346
  • LoRa技术
    +关注

    关注

    3

    文章

    101

    浏览量

    16317

原文标题:Parameter-efficient transfer learning系列之A Unified View

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

收藏 人收藏

    评论

    相关推荐

    基于动态编译(Just-in-Time)的全新深度学习框架

    据官方消息,清华大学计算机系图形实验室宣布开源全新的深度学习框架:Jittor,中文名计图。 Jittor 是
    的头像 发表于 11-25 11:08 2995次阅读

    EXCEL文件,每天更新固定不变; 用新的更新计划和固定标准对比,取出值;这种结构框架怎么弄??

    我想做一个labview程序,简化我的日常工作;现在希望高手给予指点;我手上有两EXCEL文件,份是每天更新的计划,另份是固定不变的参
    发表于 01-28 16:43

    迁移学习

    的基本原理和编程思想。理解在新的场景或数据集下,何时以及如何进行迁移学习。利用PyTorch加载数据、搭建模型、训练网络以及进行网络微调操作。给定
    发表于 04-21 15:15

    分享种智能网卡对热迁移支持的新思路

    般通过Libvirt这工具来管理。Guest是指里面的RAM区域,不需要内容可见。Deivces主要指设备的工作状态。热迁移的过程分以下几步完成:发起热迁移后,在目的物理机上会启
    发表于 07-05 14:46

    面向用户的IMS媒体层统一安全框架

    针对IMS 媒体层安全保护机制存在的问题,提出面向用户的IMS 媒体层统一安全框架,在此基础上设计了具体的实现方案,该方案能为用户提供灵活的媒体层安全保护机制,实现媒
    发表于 03-24 09:35 13次下载

    屏幕衍生商机 统一框架助力UI设计

    屏幕衍生商机 统一框架助力UI设计 Windows Embedded以开放的平台模糊了不同设备间的物理界限,新版本Windows 7的推出将创造出很多新的应用。微软表示,在此基础之上公
    发表于 01-06 13:58 638次阅读

    深度学习发展的5主力框架

    在这篇文章中,我想向大家介绍推动深度学习发展的5主力框架。这些框架使数据科学家和工程师更容易为复杂问题构建深度学习解决方案,并执行更复杂的
    发表于 05-04 10:30 4038次阅读
    深度<b class='flag-5'>学习</b>发展的5<b class='flag-5'>个</b>主力<b class='flag-5'>框架</b>

    PLASTER:与深度学习性能有关的框架

    PLASTER 是与深度学习有关的框架,为致力于开发和部署基于 AI 的服务的人士提供了全方位指导。本文介绍了每个框架元素的测量方式,以
    的头像 发表于 06-22 15:07 3481次阅读

    全新的深度学习框架——计图

    清华大学计算机系胡事民教授研究团队提出了全新的深度学习框架——计图(Jittor)。Jittor是
    的头像 发表于 03-26 15:50 6753次阅读

    天才黑客George Hotz开源了小型深度学习框架tinygrad

    最近,天才黑客 George Hotz 开源了小型深度学习框架 tinygrad,兼具 PyTorch 和 micrograd 的功能。tinygrad 的代码数量不到 1000
    的头像 发表于 12-16 09:36 4190次阅读

    统一框架下期望在线核选择的竞争性分析

    在线核选择旨在给岀在线核学习毎回合的最优核,是在线核学习的基础性和关键性问题。在线核选择问题可归约为专家建议框架问题,其中专家集对应候选核集;毎回合,根据专家的权重及专家的建议給岀预测结果,并
    发表于 04-12 09:40 44次下载
    <b class='flag-5'>统一</b><b class='flag-5'>框架</b>下期望在线核选择的竞争性分析

    基于谷歌中长尾item或user预测效果的迁移学习框架

    文中提出的迁移学习框架主要包括model-level transfer和item-level transfer。其中model-level transfer通过学习
    的头像 发表于 09-19 11:18 1174次阅读

    文详解迁移学习

    引导(TOAST),这是种新的迁移学习算法,它可以冻结预先训练的骨干模型,选择与任务相关的特征输出,并将这些特征反馈到模型中,以引导注意力关注特定任务的特征。仅通过重新聚焦注意力,TOAST在多个
    的头像 发表于 08-11 16:56 6241次阅读
    <b class='flag-5'>一</b>文详解<b class='flag-5'>迁移</b><b class='flag-5'>学习</b>

    深度学习框架是什么?深度学习框架有哪些?

    深度学习框架是什么?深度学习框架有哪些?  深度学习框架
    的头像 发表于 08-17 16:03 2669次阅读

    视觉深度学习迁移学习训练框架Torchvision介绍

    Torchvision是基于Pytorch的视觉深度学习迁移学习训练框架,当前支持的图像分类、对象检测、实例分割、语义分割、姿态评估模型的迁移
    的头像 发表于 09-22 09:49 860次阅读
    视觉深度<b class='flag-5'>学习</b><b class='flag-5'>迁移</b><b class='flag-5'>学习</b>训练<b class='flag-5'>框架</b>Torchvision介绍