当前位置:网站首页>Ladder Side-Tuning:预训练模型的“过墙梯”
Ladder Side-Tuning:预训练模型的“过墙梯”
2022-06-25 10:59:00 【PaperWeekly】

PaperWeekly 原创 · 作者 | 苏剑林
单位 | 追一科技
研究方向 | NLP、神经网络
如果说大型的预训练模型是自然语言处理的“张良计”,那么对应的“过墙梯”是什么呢?笔者认为是高效地微调这些大模型到特定任务上的各种技巧。除了直接微调全部参数外,还有像 Adapter [1]、P-Tuning 等很多参数高效的微调技巧,它们能够通过只微调很少的参数来达到接近全量参数微调的效果。然而,这些技巧通常只是“参数高效”而并非“训练高效”,因为它们依旧需要在整个模型中反向传播来获得少部分可训练参数的梯度,说白了,就是可训练的参数确实是少了很多,但是训练速度并没有明显提升。
最近的一篇论文《LST: Ladder Side-Tuning for Parameter and Memory Efficient Transfer Learning》[2] 则提出了一个新的名为“Ladder Side-Tuning(LST)”的训练技巧,它号称同时达到了参数高效和训练高效。是否真有这么理想的“过墙梯”?本来就让我们一起来学习一下。

方法大意
其实 LST 这把“过墙梯”的结构,用原论文的 Figure 2 就可以清晰地说清楚了:

▲ LST与Adaper、P-tuning的对比图
反向传播,也就是求模型梯度,是从输出层向输入层逐步计算的,因此反向传播的深度/计算量,取决于最靠近输入层的参数深度,跟可训练的参数量没有太必然的联系。对于 Adapter 来说,它在每一层后面都插入了一个小规模的层,虽然其余参数都固定了,只有新插入的层可训练,但每一层都新层,所以反向传播要传到输入层;对于 P-tuning来说,本质上它是只有在 Embedding 层中有少量可训练参数,但 Embedding 层是输入层,因此它的反向传播也要贯穿整个模型。因此,这两种方案能提升的训练效率并不多。
至于 LST,它是在原有大模型的基础上搭建了一个“旁支”(梯子),将大模型的部分层输出作为旁枝模型的输入,所有的训练参数尽在旁枝模型中,由于大模型仅提供输入,因此反向传播的复杂度取决于旁枝模型的规模,并不需要直接在原始大模型上执行反向传播,因此是可以明显提升训练效率的。

实验效果
原论文做了不少 LST 的实验,包括 NLP、CV 的,下面是 LST 在 GLUE 数据集上的效果:

▲ LST在GLUE上的实验结果
可以看到,LST 确实具备了参数高效和训练高效的特点,能够在较小的训练参数和训练成本的情况下,达到一个不错的微调效果。特别是最后两行的实验结果,体现出了 LST 在有限训练资源下微调大模型的可能性。
笔者在中文的 CLUE 任务上也做了简单尝试,参考代码为:
Github:https://github.com/bojone/LST-CLUE
注意,原论文的“梯子”是用跟 Adapter 中的 MLP 层来搭建的,而笔者上述实现直接用了 Transformer 一样的“Attention + FFN”组合,可训练的参数量控制在 100 万左右,约为 base 版的 1.2%,或者 large 版的 0.4%,梯子的初始化直接用随机初始化,最终在验证集的效果如下:

可以看到,实验结果没有原论文的英文实验那么乐观(当然不排除是笔者自己的实现不够好),但训练效率确实有明显提升(平均来说提升一倍左右)。整个实验下来,笔者的感觉是对于比较常规、一般难度的分类任务,LST 能取得相近的效果,但对于比较困难的任务,比如阅读理解等,LST 会有非常明显的下降。当然,其实应该不只是LST有这个问题,大部分号称参数高效的微调方法估计都有这个问题,因为这些方法的实验任务多数都只是 GLUE,GLUE 其实全都是相对简单的分类任务...

延伸思考
从“事后诸葛亮”来看,其实 LST 也算不上多高明的做法,本质上就是把预训练模型固定住,然后把其输出层和部分中间层的结果作为补充输入来训练一个新的小模型,理解到这一点之后,想必很多读者已经在脑海中酝酿着自己的相似方案了。不过,LST 真正的意义在于告诉我们可以这样做,并且给出了一个可行的参考方案,以及实验证明了它确实是大模型的一个有效利用方案。
有类似研究经验的读者会发现,LST 新增的“梯子”分支的初始化是个问题,如果完全随机初始化的话,可能会有训练上的困难,效果效果会不理想。这一点原论文也提到了,它提供了一个截取大模型矩阵权重来作为小模型矩阵初始化的方案,从而提升了 LST 的最终效果,其细节可以在论文中找到,至于笔记自己的实现,就纯粹是简单验证 LST 的有效性,所以就偷懒没实现这一步。
进一步想,既然 LST 新增的“梯子”分支存在初始化难题,而 LST 确实是微调大模型的有效方案,那么未来我们在训练新的大模型时,是不是就可以事先把这个“梯子”也预留好呢?也就是说,我们直接把这个“梯子”作为预训练模型的一部分做大规模的预训练,后面微调的时候,就只微调“梯子”,这样就可以实现高效地微调大模型,又不用担心初始化问题?
从形式上来看,笔者觉得 LST 跟《BERT-of-Theseus:基于模块替换的模型压缩方法》中介绍的 BERT-of-Theseus 挺相似的,只不过一个目的是蒸馏小模型,还是需要用到大模型来反向传播;而 LST 目的则是提升训练效率,不需要大模型来反向传播,但推理时需要用到大模型来前向传播。可以说两者有点互补了。

文章小结
本文主要介绍了同时具备参数高效和训练高效特点的一种大模型微调方法——Ladder Side-Tuning。
更多阅读

#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
投稿通道:
• 投稿邮箱:[email protected]
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

△长按添加PaperWeekly小编
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
·

边栏推荐
- VW VH adaptation of mobile terminal
- Arrays.asList()
- Technical practice and development trend of video conference all in one machine
- Jincang KFS data centralized scenario (many to one) deployment
- Database Series: MySQL index optimization summary (comprehensive version)
- Tidb applicable scenarios
- ZABBIX distributed system monitoring
- Chinese translation of IMA Lazarus' the new giant, the goddess of Liberty
- Ouverture de l'inscription | le troisième marathon des hackers de pagaie est arrivé comme prévu.
- 看完这篇 教你玩转渗透测试靶机Vulnhub——DriftingBlues-7
猜你喜欢

Shen Lu, China Communications Institute: police open source Protocol - ofl v1.1 Introduction and Compliance Analysis

Use of three-level linkage plug-ins selected by provinces and cities

网络远程访问的方式使用树莓派

Sign up to open the third session of the "flying oar hacker marathon". It's been a long time

一个数学难题,难倒两位数学家

How to start the phpstudy server

Apache ShenYu 入門

Coscon'22 lecturer solicitation order

Double buffer transparent encryption and decryption driven course paper + project source code based on minifilter framework

Jincang KFS data centralized scenario (many to one) deployment
随机推荐
软件测试 避免“试用期被辞退“指南,看这一篇就够了
手机办理长投学堂证券开户靠谱安全吗?
Netease's open source distributed storage system curve officially became the CNCF sandbox project
仿真与烧录程序有哪几种方式?(包含常用工具与使用方式)
Cdn+cos ultra detailed steps for drawing bed construction
keep-alive
2022 PMP project management examination agile knowledge points (2)
Kingbasees plug-in ftutilx of Jincang database
A five-year technical Er, based on the real experience of these years, gives some suggestions to the fresh students
Daily 3 questions (2) - find out the lucky numbers in the array
Gaussdb others scenarios with high memory
[observation] objectscale: redefining the next generation of object storage, reconstruction and innovation of Dell Technology
基于SSH的高校实验室物品管理信息系统的设计与实现 论文文档+项目源码及数据库文件
中国信通院沈滢:字体开源协议——OFL V1.1介绍及合规要点分析
基于C语言的图书信息管理系统 课程论文+代码及可执行exe文件
CSRF攻击
Ouverture de l'inscription | le troisième marathon des hackers de pagaie est arrivé comme prévu.
网易开源的分布式存储系统 Curve 正式成为 CNCF 沙箱项目
龙书虎书鲸书啃不动?试试豆瓣评分9.5的猴书
ARM64特有一些的汇编指令


