ACL20 best paper荣誉提名 | DO NOT STOP Pre-training!

星标/置顶小屋,带你解锁

最萌最前沿的NLP、搜索与推荐技术

文 | JayLou娄杰(NLP算法工程师,信息抽取方向)

编 |  可盐可甜兔子酱


在昨晚23点的best paper典礼上我惊了,这篇论文竟然获得了今年ACL2020 best paper荣誉提名...(我没有其他意思

乘风破浪、披荆斩棘的各种 预训练语言模型[1],都备受NLPer们的关注。而你是否思考过:直接拿BERT对目标任务进行finetune就够了吗?是否仍有提升空间?

ACL2020录用的一篇来自Allen AI 的论文《Don’t Stop Pretraining: Adapt Language Models to Domains and Tasks》[2] 告诉我们:不要停止预训练在目标领域和任务上要继续进行预训练,效果还会有明显提升(意外惊喜~)。

废话不说,我们快速播报一下这篇paper的重要结论:

  1. 在目标领域的数据集上继续预训练(DAPT)可以提升效果;目标领域与语言模型的原始预训练语料越不相关,DAPT效果则提升更明显。

  2. 在具体任务的数据集上继续预训练(TAPT)可以十分“廉价”地提升效果。

  3. 结合二者(先进行DAPT,再进行TAPT)可以进一步提升效果。

  4. 如果能获取更多的、任务相关的无标注数据继续预训练(Curated-TAPT),效果则最佳。

  5. 如果无法获取更多的、任务相关的无标注数据,采取一种十分轻量化的简单数据选择策略,效果也会提升。

笔者这里给出一个重要的实验结果:RoBERTa直接对生物医学领域的某个分类任务(低资源设置)进行finetune时,f1只有79.3,而采取DAPT+Curated-TAPT后,指标提升至83.8!提升居然有4.5个percent! 效果也是杠杠的~

也就是说:当我们所执行任务的标注数据较少,所属的领域与初始预训练语料越不相关,而又能获取到充分的、任务相关的无标注数据时,那就不要停止领域预训练和任务预训练!

下面对这篇paper做详细的介绍,本文的组织结构为:

Arxiv访问慢的小伙伴也可以在订阅号后台回复关键词【0709】下载论文PDF~

背景介绍

大多数语言模型都在诸如Wikipedia的通用语料中预训练,而在领域化的特定场景会受到限制。因此很多研究致力于发掘:对目标领域的数据继续进行预训练是否可行?如基于生物医学文本的BioBERT[3],基于科学文本的SciBERT[4],基于临床文本的Clinical-BERT[5]。我们通常称这种范式为domain-pretrain或者post-pretrain。此外,一些工作对具体任务,将语言模型做为辅助目标进行训练,如GPT1.0 [8]。

上述各种领域BERT虽然表明继续进行领域预训练的优势,但这些研究一次仅考虑单个领域,而且BERT原始预训练的语料库相比于后来居上的语言模型仍然较小、多样性也不足。更重要的是,我们尚不清楚一些问题,例如:

  1. 持续预训练的优势是否和下游任务的标注数量有关?

  2. 持续预训练的优势是否和目标领域与原始预训练语料库的接近程度有关?(如图1所示)

▲图1 分别展示了原始预训练LM领域分布、目标领域分布、任务数据集分布;任务数据集通常从目标领域的一个较宽分布内(浅灰色部分)进行采样;目标领域和原始LM领域可交叉重叠。

1 领域自适应预训练

领域自适应预训练 (Domain-Adaptive Pretraining,DAPT),即在领域相关的大规模无标注语料继续进行预训练,然后再对特定任务进行finetune。

论文选取了4个领域语料库,分别为生物医学(BioMed)领域、计算机科学(CS)领域、新闻(NEWs)领域、评论(Reviews)领域,如图2所示。我们采取RoBERTa作为基准的预训练语言模型,其预训练语料库相比于BERT数量更大、更具多样性。

▲图2 不同领域预训练的无标注语料

▲图3 不同领域间的词汇重叠度,PT代表RoBERTa的预训练语料

图3展示了不同领域间的词汇重叠度(选取每个领域TOP 10K个高频词,计算词汇重复度),可以发现RoBERTa语料与NEWs和Reviews领域相似度高,而与BioMed和CS领域相似度较低。我们可以预测:与RoBERTa的领域越不相似,领域自适应预训练的受益程度越高

论文对每个领域选取2个特定分类任务进行实验,并进行了高资源和低资源(训练集标注量小于等于5000)配置,如图4所示:其中CHEMPROT、ACL-ARC、SCIREC、HYP为低资源设置。

▲图4 各个领域特定任务数据设置
▲图5 DAPT与领域无关的¬DAPT对比

由图5可以看出无论高资源还是低资源条件,采用领域自适应预训练在4个领域对应的8个Task上性能均有增加(相较于RoBERTa直接对特定Task进行finetune),而低资源条件下增幅更具明显:尤其是BM、CS这两个领域,它们与RoBERTa的原领域相差较大,提升会更明显。

到这里,我们是否会存在这样一个疑问:是否只要在额外的语料库上持续进行LM预训练,性能就会提升呢?也就是说只要暴露更多的数据,就可以改进RoBERTa性能吗?

为检验上述猜想,论文继续进行了实验:将LM预训练继续应用于领域外(out domain)的语料库,记这一过程为¬DAPT。一个具体做法是:我们可以根据图3展示的领域间的重叠程度,选取与NEWs最不相关的CS领域的语料库继续进行预训练,然后在验证其在NEWs领域下的两个特定Task上finetune的效果。其余领域做法类似。

图5可以看出除了SCIERC和ACL-ARG任务外,域外¬DAPT下的性能相较于RoBERTa下降。因此,在大多数情况下,不考虑领域相关性而直接暴露于更多数据的持续预训练对最终任务性能是有害的;而在某些特例下(极少数情况),直接在额外数据下持续预训练也是有用的,文献[6] 中也有类似的观点。

2 任务自适应预训练

任务数据集可以看作相关领域中的一个子集,我们相信:对任务数据集本身或者与任务相关的数据继续预训练,对下游特定任务可能会有帮助。

任务自适应预训练 (Task-Adaptive Pretraining ,TAPT),即在任务相关的无标注语料继续进行预训练,然后再对特定任务进行finetune。需要说明的是,与领域适应的预训练DAPT相比TAPT实质上进行了一种权衡:使用的预训练语料要少得多,但与特定任务相关的语料要多得多(假设训练集很好地代表了任务的各个方面),这是一种“廉价”的做法。

▲图6 DAPT、TAPT、DAPT+TAPT对比

如图6所示,在8个特定任务上继续预训练(直接使用相应任务的标注数据当作无标注语料),TAPT都提高了相应的RoBERTa基准;特别是在NEWs领域的2个任务上(新闻领域也是RoBERT预训练语料库的一部分),TAPT也比RoBERTa有所提升。

从上述介绍可以得知,TAPT和DAPT之间有着明显的差异,DAPT具有更多的资源优势,但TAPT可以在某些任务(特别是在HYPERPARTISAN和HELPFULNESS)中超过了DAPT。可以看出,TAPT在某些任务上既“便宜”又有效

图6也给出结合DAPT和TAPT的性能表现(在DAPT后,紧接着进行TAPT),除HYPERPARTISAN任务外,DAPT+TAPT都超过了单独使用DAPT或TAPT。我们猜测,如果是在TAPT后再进行DAPT,可能会对任务相关的语料存在灾难性遗忘问题;当然,也许对DAPT和TAPT进行更复杂的组合方式,效果会更佳。

▲图7 跨任务迁移的TAPT对比

图7给出了跨任务迁移的Transfer-TAPT实验:即在同一领域内,对某一任务进行TAPT预训练,然后在另一个任务上进行finetune。例如,在BioMed领域,进一步使用RCT未标注数据进行LM预训练,然后使用CHEMPROT标记的数据对其进行finetune并观察效果。我们可以看出Transfer-TAPT的性能均有下降,这表明:由于同一领域内、不同任务数据的分布不同,TAPT并不适合跨任务迁移,这也说明仅仅进行领域自适应的预训练DAPT是不够的,以及在DAPT之后再进行TAPT为什么是有效的。

3 任务自适应预训练的增强方法

上述分析表明,任务自适应预训练(TAPT)是一种廉价但有效的提升方法。但上述TAPT直接将标注数据当作无标注数据进行预训练,毕竟数据量还是较小的。如果我们能够拥有更多的、任务相关的无标注数据,继续进行TAPT,效果又会如何呢?

下面分别介绍两种构造更多的、任务相关的无标注数据的增强方式:1)人工构造;2)自动数据选择

3.1 Human Curated-TAPT

任务数据集的创建通常会通过人工方式从已知来源收集,其中通过下采样选取部分数据进行人工标注构建标注数据集,而剩下的未标注数据有时也是可用的。对人工构造的、可用的、任务相关的未标注数据进行任务自适应预训练,这一过程就是Curated-TAPT

▲图8 Curated-TAPT实验结果

图8给出了Curated-TAPT的实验结果。其中RCT-500是保留原始标注集的500条标注数据,基于剩余的标注数据作为无标注数据进行Curated-TAPT;HYP和IMDB就是图4中直接给出的任务相关的无标注数据。

我们可以发现:除了HYP任务外,Curated-TAPT相较于TAPT均有提升,而Curated-TAPT也超过了DAPT+TAPT,可见如果我们能获取更多的、任务相关的无标注数据进行TAPT,效果不但提升明显,而且更为“廉价”、消耗资源低(后续图10会详细介绍这一点);而结合DAPT+Curated-TAPT在上述3个任务上效果均提升,特别是HYP任务更为明显,从90提升至92.1.

可想而知,如果我们在设计相关任务时,能够释放大量的、任务相关的无标注数据集,并继续进行预训练(TAPT),对于最终任务是极其有利的。

3.2 Automated Data Selection for TAPT

本小节考虑一个资源短缺的情况,当任务设计者没有释放更多的、任务相关的无标注数据时,我们怎么能够通过TAPT受益?

▲图9 任务相关的数据自动选取方法

论文采取的方法也很简单,即设计一种简单的、轻量化的自动数据选择方法。具体地,如图9所示,例如对于BioMed领域的ChemProt任务,采取VAMPIRE [7](一种轻量化的词袋语言模型)对1百万的领域数据进行预训练,然后将ChemProt任务中无标注的句子嵌入到VAMPIRE向量空间。通过kNN最近邻方法,选取k个最相似的、BioMed领域内的句子作为任务相关的无标注数据,然后进行TAPT(这里表述为kNN-TAPT)。

▲图10 不同TAPT方式的实验结果

图10给出了不同TAPT方式的实验结果。通过自动选择方法进行的kNN-TAPT相比于TAPT效果提升明显;各种TAPT会比DAPT更为廉价:TAPT训练会比DAPT快60倍。Curated-TAPT表现最佳,但需要考虑在大型领域内人工构造任务相关的无标注数据的成本,不过这样的成本相比较于标注成本也是微不足道了。所以,我们最好在设计任务时能够释放更多的、任务相关的无标注数据,以便于进一步进行TAPT预训练。

总结

▲图11 多阶段预训练策略总结

图11很清晰地给出了不同阶段的预训练策略,例如,kNN-TAPT要在领域内选取与任务相关的数据,这是领域数据集的一个子集,然后进行TAPT和finetune;Curated-TAPT要额外构造任务相关的无标注数据集,然后进行finetune。

本篇论文的相关实验表明:即使是具有数亿个参数的语言模型也难以编码单个文本域的复杂性,更不用说所有语言了。继续在目标领域和任务上进行预训练可以带来明显的受益。

论文也给出了未来的研究方向:如何采取一个更有效的数据选择方法,来构建更多的、任务相关的无标注数据,有效地将大型预训练语言模型重构到更远的domain,并且获得一个可重用的语言模型。

最后,笔者还是要重申一个不成熟的小建议:当我们所执行任务的标注数据较少,所属的领域与初始预训练语料越不相关,而又能获取到充分的、任务相关的无标注数据时,那就不要停止领域预训练和任务预训练!

Arxiv访问慢的小伙伴也可以在订阅号后台回复关键词【0709】下载论文PDF~


卖萌屋成立了自然语言处理、搜索技术、推荐系统、算法岗求职等方向大群和知识图谱与信息抽取、智能问答、对话系统等垂类讨论群。不仅可以认识众多志同道合的优秀小伙伴,而且还有若干卖萌屋美丽小姐姐(划掉)、顶会审稿人、大厂研究员、知乎大V等你来撩哦。后台回复关键词【入群】即可获取入口。

记得扫描下方二维码关注并星标置顶,我才能来到你面前哦。

参考文献

[1] PTMs:NLP预训练模型的全面总结( https://zhuanlan.zhihu.com/p/115014536 ) 

[2] Don’t Stop Pretraining: Adapt Language Models to Domains and Tasks

[3] BioBERT: a pre-trained biomedical language representation model for biomedical text mining. 

[4] SciBERT: A pre-trained language model for scientific text 

[5] ClinicalBERT: Modeling clinical notes and predicting hospital readmission. 

[6] Cloze-driven pretraining of self-attention networks. 

[7] Variational pretraining for semi-supervised text classification. 

[8] GPT:Improving Language Understanding by Generative Pre-Training

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/480267.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文浅尝 | 对于知识图谱嵌入表示的几何形状理解

论文链接:http://anthology.aclweb.org/attachments/P/P18/P18-1012.Presentation.pdf发表会议:ACL 2018摘要知识图谱的嵌入表示在近几年已经成为一个非常活跃的研究领域,众多相关方法相继被提出,这些嵌入方法是将知识图谱中的实体…

数据结构--堆 Heap

文章目录1. 概念2. 操作和存储2.1 插入一个元素2.2 删除堆顶元素3. 堆排序(不稳定排序)3.1 建堆3.2 排序3.3 思考:为什么快速排序要比堆排序性能好?两者都是O(nlogn)4. 堆应用4.1 优先级队列4.2 用堆求 Top K(前K大数据…

金融时报:人工智能在银行中的应用—对全球30家大型银行的调查

原文地址:https://cloud.tencent.com/developer/article/1144829 (微信公众号 点滴科技资讯)尽管银行业对新技术感到兴奋,但仍采取比较谨慎的方式。德意志银行首席执行官约翰•克莱恩(John Cryan)曾经提出将…

百度Java三面:现场面试39题目实拍含答案!

百度一面(现场) 自我介绍 Java中的多态 为什么要同时重写hashcode和equals Hashmap的原理 Hashmap如何变线程安全,每种方式的优缺点 垃圾回收机制 Jvm的参数你知道的说一下 设计模式了解的说一下啊 手撕一个单例模式 算法题目 手撕算…

CCKS2020事理图谱应用工作:刘焕勇等.面向开放文本的逻辑推理知识抽取与事件影响推理探索

一、背景介绍 第十四届全国知识图谱与语义计算大会(CCKS 2020) 11 月 12 日至 15 日在江西南昌举行,CCKS(China Conference on Knowledge Graph and Semantic Computing)是由中国中文信息学会语言与知识计算专委会定期举办的全国年度学术会议…

ACL20 Best Paper揭晓!NLP模型评价体系或将迎来重大转折

星标/置顶小屋,带你解锁最萌最前沿的NLP、搜索与推荐技术文 | 北大小才女小轶昨晚ACL2020的Main Conference落下帷幕,今年的最佳论文颁给了这篇《Beyond Accuracy: Behavioral Testing of NLP Models with CHECKLIST》。在ACL录用的778篇论文中&#xff…

论文浅尝 | 基于多模态关联数据嵌入的知识库补全

链接&#xff1a;https://arxiv.org/pdf/1809.01341.pdf动机&#xff08;摘要&#xff09;当前的知识库补全的方法主要是将实体和关系嵌入到一个低维的向量空间&#xff0c;但是却只利用了知识库中的三元组结构 (<s,r,o>) 数据&#xff0c;而忽略了知识库中大量存在的文本…

智能投顾原理与主流产品分析

原作者 王希&#xff0c;CFA&#xff0c;中国光大银行。核心观点&#xff1a;1、智能投顾的模式是通过技术实现财富管理的流程自动化&#xff0c;为客户定制FOF产品来投资并赚取管理费。目前尚未看出大数据分析、人工智能等技术在其中发挥出关键作用。2、智能投顾在美国的快速…

POJ 1442 Black Box(大小堆,求第K小的元素)

文章目录1. 题目链接2. 题目解读3. 代码3.1 Runtime Error 代码1. 题目链接 http://poj.org/problem?id1442 2. 题目解读 可以利用大小堆&#xff0c;大堆长度从1开始&#xff0c;每次1 大堆元素都比小堆的小&#xff0c;那么大堆顶的元素就是第k小的元素 3. 代码 3.1 Run…

阿里java架构师面试128题含答案:分布式架构+Dubbo+多线程+Redis

一、Java基础和高级 1.String类为什么是final的。 2.HashMap的源码&#xff0c;实现原理&#xff0c;底层结构。 3.反射中&#xff0c;Class.forName和classloader的区别 4.session和cookie的区别和联系&#xff0c;session的生命周期&#xff0c;多个服务部署时session管理…

LightGBM——提升机器算法(图解+理论+安装方法+python代码)

原文地址&#xff1a;https://blog.csdn.net/huacha__/article/details/81057150 前言 LightGBM是个快速的&#xff0c;分布式的&#xff0c;高性能的基于决策树算法的梯度提升框架。可用于排序&#xff0c;分类&#xff0c;回归以及很多其他的机器学习任务中。 在竞赛题中&am…

这个NLP工具,玩得根本停不下来

今天推荐一个有趣的自然语言处理公众号AINLP&#xff0c;关注后玩得根本停不下来&#xff01;AINLP的维护者是我爱自然语言处理&#xff08;52nlp&#xff09;博主&#xff0c;他之前在腾讯从事NLP相关的研发工作&#xff0c;目前在一家创业公司带技术团队。AINLP公众号的定位是…

论文浅尝 | 基于Universal Schema与Memory Network的知识+文本问答

来源&#xff1a;ACL 2017链接&#xff1a;http://aclweb.org/anthology/P17-2057本文提出将 Universal schema 用于自然语言问答中&#xff0c;通过引入记忆网络&#xff0c;将知识库与文本中大量的事实信息结合起来&#xff0c;构建出一个由问答对&#xff08;question-answe…

数据结构--图 Graph

文章目录1. 概念2. 存储方法2.1 邻接矩阵 Adjacency Matrix2.2 邻接表 Adjacency List3. 图的遍历3.1 广度优先搜索BFS&#xff08;Breadth First Search&#xff09;3.2 BFS代码&#xff08;基于邻接表&#xff09;3.3 深度优先搜索DFS&#xff08;Depth First Search&#xf…

2019最新拼多多Java面试题:幻影读+分段锁+死锁+Spring Cloud+秒杀

拼多多Java一面 简短自我介绍 事务的ACID&#xff0c;其中把事务的隔离性详细解释一遍 脏读、幻影读、不可重复读 红黑树、二叉树的算法 平常用到哪些集合类&#xff1f;ArrayList和LinkedList区别&#xff1f;HashMap内部数据结构&#xff1f;ConcurrentHashMap分段锁&…

视频问答兴起,多跳问答热度衰退,92篇论文看智能问答的发展趋势

星标/置顶小屋&#xff0c;带你解锁最萌最前沿的NLP、搜索与推荐技术文 | 舒意恒&#xff08;南京大学硕士生&#xff0c;知识图谱方向&#xff09;编 | 北大小才女小轶2019年的时候&#xff0c;舒意恒Y.Shu整理了一份《2019年&#xff0c;智能问答有哪些研究方向&#xff1f;…

论文浅尝 | 知识图谱相关实体搜索

本文转载自公众号&#xff1a;南大Websoft。相关搜索&#xff08;Relevance Search&#xff09;是信息检索中的一个经典问题&#xff0c;相关搜索是指给定一个查询实体&#xff0c;返回与其相关度最高的实体&#xff08;一个类似的问题Similarity Search&#xff0c;一般来说指…

最新美团Java面试题目(共3面)

一面 线程池用过哪些&#xff0c;线程池有哪些参数&#xff0c;然后问我几个常用线程池的用法和实际场景问题。 集合框架的知识&#xff0c;hashmap&#xff0c;ArrayList&#xff0c;LinkedList源码相关知识&#xff0c;基本整个介绍了一遍&#xff0c;与hastable&#xff0c…

PersonGraphDataSet近十万的开放人物关系图谱项目

PersonGraphDataSet PersonGraphDataSet, nearly 10 thousand person2person relationship facts that build from extraction method, which can be applied to person kg search and inference applications。 人物图谱数据集&#xff0c;近十万的人物关系图谱事实数据库&am…

图Graph--寻找二度好友(BFS应用)

社交网络可以用图来表示&#xff08;查阅图的概念&#xff09;。 寻找二度好友&#xff0c;这个问题就非常适合用图的广度优先搜索BFS算法来解决&#xff0c;因为广度优先搜索是层层往外推进的。 首先&#xff0c;遍历与起始顶点最近的一层顶点&#xff0c;也就是用户的一度好…