当前位置:   article > 正文

【论文泛读】Don‘t Stop Pretraining: Adapt Language Models to Domains and Tasks_don't stop pretraining: adapt language models to d

don't stop pretraining: adapt language models to domains and tasks

作者:Suchin Gururangan, Ana Marasović, Swabha Swayamdipta, Kyle Lo, Iz Beltagy, Doug Downey and Noah A. Smith
背景(nlp中语言模型的“预训练(pretraining)”)
在输入模型之前需要变成向量
nlp模型训练分为两个阶段:

  1. 一个很大的语言模型在很大的无标签数据集上预训练(如:word2vec)
  2. 将单词向量表示输入到下游任务进行有监督训练

word2vec:
左边:CBOW模型,右边:Skip-gram模型
两者区别:

  • CBOW是根据上下文去预测目标词来训练得到词向量,如图是根据W(t-2),W(t-1),W(t+1),W(t+2)这四个词来预测W(t);
  • Skip-gram是根据目标词去预测周围词来训练得到词向量,如图是根据W(t)去预测W(t-2),W(t-1),W(t+1),W(t+2)。
  • CBOW用于小型语料库比较适合,而Skip-gram在大型的语料上表现得比较好。
    在这里插入图片描述

解决问题
目标领域应该应用什么领域的预训练?有没有必要多次预训练?

  • 持续预训练的优势是否和下游任务的标注数量有关?
  • 持续预训练的优势是否和目标领域与原始预训练语料库的接近程度有关?

解决对策
设计了4个领域上的8个分类任务(每个领域上各有2个分类任务),将已经在大量且广泛文本上预训练过的模型(ROBERT)进行第二阶段的预训练。
作者分别用领域数据、任务数据、增强的任务数据进行了实验,即用这些数据对模型进行第二阶段的预训练,然后再用经过两个预训练阶段后得到的模型生成的数据做分类任务。
创新点:
当我们所执行任务的标注数据较少,所属的领域与初始预训练语料越不相关,而又能获取到充分的、任务相关的无标注数据时,就需要进行领域预训练和任务预训练。

  • 在目标领域的数据集上继续预训练(领域自适应预训练,DAPT)可以提升效果;目标领域与语言模型的原始预训练语料越不相关,DAPT效果则提升更明显。
  • 在具体任务的数据集上继续预训练(任务自适应预训练,TAPT)可以十分“廉价”地提升效果。
  • 结合二者(先进行DAPT,再进行TAPT)可以进一步提升效果。
  • 如果能获取更多的、任务相关的无标注数据继续预训练(Curated-TAPT),效果则最佳。
  • 如果无法获取更多的、任务相关的无标注数据,采取一种十分轻量化的简单数据选择策略,效果也会提升。

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

领域自适应预训练(DAPT):
在预训练完成的语言模型 RoBERTa 的基础上,分别使用4个领域的数据接着做第二阶段的预训练,生成4个领域自适应的语言模型。
任务自适应预训练(TAPT):
将各个任务本身的训练数据当作无标签数据来进行第二阶段的预训练,得到8个任务自适应的预训练语言模型
任务自适应预训练的增强方法(Curated-TAPT):
考虑如果拥有庞大的数据集会怎么样?
两种构造更多的、任务相关的无标注数据的增强方式:1)人工构造;2)自动数据选择

参考推文
参考文章
拒绝无脑吹!从ACL20看预训练缺陷

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/937565
推荐阅读
相关标签
  

闽ICP备14008679号