【Day 8】Adaptation!适应!让BERT更好地过渡到下游任务!

今天开始,我们要进入一个新的主题「Adaptation」。这是指在预训练模型和Fine-tune之间对模型额外做一个「适应」(Adaptation)的动作,让BERT能够更好地过渡到下游任务的微调。这个领域如今正变得越来越大,如何更好地Adaptation,已经成为提升BERT系列模型效果的关键。

作为这个主题的第一篇,我们今天先简单从概念上介绍一下预训练模型的Adaptation有哪些可谈的内容:

1.让预训练任务更像下游任务

这个领域不太适合一般研究者来实作,毕竟预训练一个BERT模型所花费的成本已经不是普通研究者或硕博士学生可以承担的了。但是,我们可以选择最新的、更合适的预训练模型来进行我们的下游任务。对於这些模型资源,如果不善加利用,是非常可惜的。举例而言,之前简单介绍过用於生成的BART、用於摘要任务的PEGASUS就是这种思考下的产物。其它还有许多类似的模型,之後我们会专门来介绍,我最近发现的QA预训练模型Splinter就表现不错。

2.继续预训练

不要停止你的预训练!拿到一个预训练好的模型之後,你可以继续在你的下游任务文本上继续进行预训练,也可以在相似的领域文本上进行。将继续预训练後的模型拿来进行微调,已经被许多论文证明可以提升最终表现。虽然这很费功夫,也花时间和显卡,但预训练仍然是王道!

3.连续微调/多任务微调

没有显卡,没有时间继续预训练,怎麽办?那就微调好了。我们不只要在下游任务上微调,我们可以在一些相似任务、相似领域的资料上进行微调。再将微调後的模型拿去做最终任务的微调。当然,除了按顺序进行微调,你也可以选择进行多任务同时进行的微调。虽然参数比较难调,但具有提升模型效果的能力。

4.Promoting/Prefix-Tuning:让下游任务更像预训练任务

Promoting/Prefix-Tuning是最近兴起的方法,它的初衷来自於让下游任务更像预训练任务。而现在,各预训练语言模型必不可少的预训练任务是克漏字。如何把分类、QA等等任务变得更像克漏字,就是Promoting/Prefix-Tuning所做的事情。例如说原本我们将电影评论进行序列分类,判断其蕴含的情感取向。现在我们可以把它改成去挖空猜字。例如:

  • 原本的任务:「我全场都在无聊地吃爆米花。」 -> 判断0(负向),1(正向)
  • 改进後:「我全场都在无聊地吃爆米花。这部电影真的是[MASK]」 -> 判断MASK是「烂」(负向)或「棒」(正向)

https://ithelp.ithome.com.tw/upload/images/20210911/20127672DIFsPleIvh.jpg

让下游任务更接近预训练任务,其效果可能相当於几百个标注文本。让模型少了一些改动,还引入了一些额外的资讯,对於最终效果都很有帮助。


<<:  AE骇客萤幕打字效果1-Day10

>>:  排线相机 (续)

[Java Day26] 6.3. super

教材网址 https://coding104.blogspot.com/2021/06/java-s...

Day01 - Vue3 环境设置 Vue CLI 帮我准备手术室卡关笔记

这次主要跟着三位大神学习 Vue3 重新认识 Vue.js | Kuro Hsu Vue3.0学习教...

[Day16] Flutter - Firebase Authentication & Google Sign-In ( IOS & Android )

前言 Hi, 我是鱼板伯爵今天要教大家 Firebase Authentication 和开通 Go...

Day20 - [丰收款] 以Django Web框架实作永丰API线上支付模拟情境(1)

我们的丰收款主题完结了吗? 今天即使达成铁人赛的2/3赛程,在先前的篇幅已完整将每一个功能都实作出来...

废文好多,来搞个粉丝专页吧!

今天要分享的故事是关於我在今年初开始经营粉丝专页的收获! 进入正题 虽然现在的年轻人更偏好使用 In...