原文作者:Suchin Gururangan,Ana Marasović,Swabha Swayamdipta,Kyle Lo,Iz Beltagy,Doug Downey,Noah A. Smith

原文标题:Don’t Stop Pretraining: Adapt Language Models to Domains and Tasks

原文来源:ACL2020

原文链接:https://www.aclweb.org/anthology/2020.acl-main.740.pdf

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

作者针对预训练模型是否仍然有助于特定领域的任务进行了研究,跨4个领域,8个分类任务,发现第二阶段的领域自适应预训练((domain-adaptive pretraining)仍然能够提高性能。另外,在DAPT之后,再进行TAPT(task-adaptive pretraining)也能够提高成绩。

DAPT

作者选择了四个领域的文本进行DAPT,分别是生物医学和计算机科学出版物、新闻、评论。原因是领域内的文本分类数据集可用,而且在之前的工作中也很常见。表1中列出了这四个数据集的信息。

作者首先进行了这四个领域与ROBERTA预训练领域相似性的分析。图二中为作者采样的文本数据的重叠情况。发现ROBERTA预训练的数据与NEWS和REVIEWS重叠很高,但是和CS、BIOMED相似度比较低。这表明领域的差异越大,DAPT的潜力就越大。

在实验中,作者采用了和ROBERTA一样的设置,选择ROBERTA-base作为baseline,并在四个领域的八个文本分类任务上进行试验,如表2所示。

表三中为实验结果。可以看到,DAPT在所有领域都超过了ROBERTA。尤其是在BIOMED、CS、REVIEWS领域,这也说明了目标领域与ROBERTA领域不相似性的好处。

另外作者做了一个有趣的实验:对于某个领域,使用最不相关的其他领域的LM进行预训练,也就是说,NEWS领域,使用CS
LM;REVIEWS领域,使用BIOMED LM;BIOMED领域,使用REVIEWS LM。原因是,DAPT性能的提升可能只是让模型接触了更多数据。

最终结果在表三最后一列,可以看出每个任务中,DAPT都极大的超过了不相关领域的LM,而且相比与原有的ROBERTA,不相关领域的DAPT性能甚至更低,这也证明了DAPT的有效性。在不考虑领域的情况下,让模型接触更多的数据是有害的。

由图二可以看出,领域之间的界限比较模糊。作者定量的识别了领域间重叠的文档。表4中是一些评论和与评论相关的新闻文章。

这项分析表明,引起领域差异的因素可能不是相互排斥的,超出领域边界的预训练有可能使DAPT更有效。

TAPT

任务数据集可以看作相关领域数据集中的一个子集。作者假设在任务数据是更广泛领域的一个狭义子集的情况下,对任务数据集本身或与任务相关的数据进行预训练可能有帮助。

TAPT是指对给定任务的无标注训练集进行预训练。比起DAPT,TAPT使用的预训练语料库要小得多,但是与任务更相关。这使得TAPT训练的花费比DAPT小得多,而且性能比DAPT也不差。

实验结果如表5所示。

TAPT在所有任务中的表现都超过ROBERTA,即使在新闻领域(TOBERTA预训练语料库的一部分),TAPT的性能也更好,这证明了TAPT的优越性。DAPT更加消耗资源,在一些任务上TAPT用较少的资源就达到了DAPT的效果;在RCT等任务上,TAPT的表现甚至超过了DAPT,这更表明了TAPT的有效性。

作者还研究了DAPT+TAPT的与训练结果,在表5中的最后一列,可以看出,结合DAPT+TAPT的预训练在所有任务上表现最好。

类似DAPT,作者研究了跨任务的TAPT,比如使用RCT的数据预训练LM,然后使用CHEMPROT数据进行fine-tuning,结果如表6所示。

可以发现,TAPT对单一任务的优化会损害其迁移能力,说明在一个领域内的数据分布也可能不同。也说明了仅仅进行DAPT是不够的,DAPT+TAPT有效。

对于TAPT的训练数据增强

作者将TAPT的数据范围扩大,介绍两种构造更多的、任务相关的无标注数据的增强方式:1)人工构造;2)自动数据选择。

1)人工构造

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

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

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

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

2)自动数据选择

作者试图找出一个轻量级的数据选择方法,能够在合理的时间内,嵌入上百万的句子。具体的,论文提出了一种词袋模型的最近邻算法,思想非常简单,对于任务领域的每条样本,用词袋模型向量化表示,找领域语料中与其距离最近的k个样本,也纳进任务领域的预训练中。使用两种方法选择k个样本:要么是KNN,要么是随机选择。

在表8中可以看到,KNN-TAPT表现超过TAPT,而RAND-TAPT通常比KNN-TAPT表现要差。随着k增加,kNN-TAPT的性能也稳步提升,并逐步接近DAPT。

总结

本文提出了预训练增强的两种方法,DAPT和TAPT。在4个领域,8个任务上进行了实验。

本文没有太多数学证明,数学公式的东西,主要进行试验,然后对实验结果的说明和推理。实验的结论说明:在DAPT中,如果DAPT的领域与原领域越不相关,则DAPT的效果越好;在大多数情况下,DAPT接触越多领域无关的数据,则其性能反而会下降。注意到这两点并不冲突,前一点是说预训练的模型的领域与DAPT选择的领域越不相关越好,后一点是说,在DAPT中,与该领域不相关的知识越少越好。但是在有些情况下,在任何数据上的预训练都会提高模型性能。另外,领域之间的边界往往并不十分明确,超出传统领域边界的可能会使DAPT更有效。

关于TAPT方法,作者假定任务语料是领域语料的子集。比起DAPT,TAPT的资源消耗往往更少,但是没有领域那么大的限制,比如即便是在ROBERTA的领域中,TAPT方法也能有较好的表现。

作者还将DAPT与TAPT组合起来,发现其性能更好,原因可能在于,即使在一个领域内,其数据的分布也可能不同。这是作者在做了Transfer实验后得出的结论。

最后,作者提出了一种数据选择的方法。TAPT直接将标注数据当作无标注数据进行预训练,数据量较小。有时候,我们能得到有标注的任务数据,还能得到无标注的大量任务数据。那如何在更少资源消耗的情况下,利用这些数据,成了作者关注的一个问题。作者考虑了两种情况,一种是人工构造,一种是自动选择。

人工构造方法就是人为地从RCT中选择500例,然后将RCT剩下的数据当作无标注数据。HYPERPARTISAN使用high-re中5k文档作为unlabeled数据,low-re用来fine-tuning。IMDB,使用由任务注释者手动整理的额外未标记数据,这些数据来自与标记数据相同的分布。最终得到的数据使模型表现出了更好的性能。

自动选择办法是作者提出的一个无监督轻量级的方法。首先使用VAMPIRE得到文本的嵌入,然后对每一个任务句子使用最近邻或者随机的方法进行文本数据的选择。然后在这个数据集上进行预训练。实验结果表明,该方法是有效的。

【论文笔记】Don’t Stop Pretraining: Adapt Language Models to Domains and Tasks相关推荐

  1. Re26:读论文 Don’t Stop Pretraining: Adapt Language Models to Domains and Tasks

    诸神缄默不语-个人CSDN博文目录 论文名称:Don't Stop Pretraining: Adapt Language Models to Domains and Tasks (不要停下来啊!) ...

  2. Don‘t Stop Pretraining: Adapt Language Models to Domains and Tasks

    Abstract 现有的语言模型大多是在大量且广泛的文本数据上训练而成的.作者思考有没有必要将模型迁移到特定目标任务领域上.作者在4个领域上的8个分类任务,将已经在大量且广泛文本上预训练过的模型进行第 ...

  3. 论文笔记:CLIP:Learning Transferable Visual Models From Natural Language Supervision详解

    paper:https://arxiv.org/abs/2103.00020 代码:GitHub - openai/CLIP: Contrastive Language-Image Pretraini ...

  4. [读论文]-Mask-Predict: Parallel Decoding of Conditional Masked Language Models阅读报告-机器翻译

    1 Introduction 大多数机器翻译系统使用顺序译码的策略,即单词是一个一个预测的.本文展示了一个并行译码的模型,该模型在恒定译码迭代次数下得到翻译结果.本文提出的条件掩码语言模型(CMLMS ...

  5. 论文解读: 2023-Lost in the Middle: How Language Models Use Long Contexts

    大模型使用的关键在于Prompt,然而大模型存在幻觉现象,如何减少这种现象的发生成为迫切解决的问题.外部知识库+LLM的方法可以缓解大模型幻觉,但是如何撰写Prompt才能发挥LLM的性能.下面介绍这 ...

  6. 【论文笔记】Program synthesis using natural language

    摘要 随着计算机进入千家万户,人机交互变成了一项极其普遍的活动.一些重复性或专业性任务通常需要创建小型的.一次性的程序.为了实现这些一次性程序,终端用户(End-User)可能需要花费大量时间和精力去 ...

  7. 论文笔记翻译——Enhanced LSTM for Natural Language Inference(ESIM)

    文章目录 0.前言 1. 模型结构 1.1 input encoding 1.2 local inference modeling 1.3 inference composition 2. 模型实现 ...

  8. 论文笔记High-Resolution Image Synthesis with Latent Diffusion Models

    论文提出了latent diffusion models (LDMs).基于该模型最著名的工作是文本生成图像模型stable-diffusion. 普通的扩散模型在像素空间操作,运算复杂度较高.为了保 ...

  9. 论文笔记《End-to-End Training of Hybrid CNN-CRF Models for Stereo》用于立体评估的端到端训练的混合CNN-CRF模型

    论文作者提供的源码 https://github.com/VLOGroup 摘要: 1. 介绍 2. 相关工作 3. CNN-CRF 模型 3.1 Unary CNN 3.2 Correlation ...

  10. 论文笔记--Goat: Fine-tuned LLaMA Outperforms GPT-4 on Arithmetic Tasks

    论文笔记--Goat: Fine-tuned LLaMA Outperforms GPT-4 on Arithmetic Tasks 1. 文章简介 2. 文章概括 3 文章重点技术 3.1 LLM的 ...

最新文章

  1. C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(ubuntu g++)——删除
  2. RabbitMQ C Client编译
  3. Precision和Recall
  4. 电脑卡得厉害,得采取一些措施了
  5. Windows10 编译 Open3D 时出现 error C2220: 以下警告被视为错误 (编译源文件
  6. Xtragrd 取消当前行
  7. json动画_three.js动画(四)
  8. response.setcontenttype的參数
  9. Java 容器类练习题(一)
  10. 7-3 DAG图优化-A (15 分)(更新版)
  11. php session超时设置,php如何设置session超时过期时间
  12. 视频教程-三天掌握三菱FX系列PLC视频教程-单片机/工控
  13. namp安装及官方使用手册翻译及注释5
  14. 开源BI工具对比(三) DataEase
  15. c语言课程火车售票报告,C语言课程设计报告书火车票务管理系统.doc
  16. 12V直通限流芯片,输出12V,短路保护,可调限流1A-4A
  17. 如何计算网络地址和广播地址
  18. 小程序获取oppenid
  19. 常见信息安全威胁与经典案例
  20. 路由器显示DNS服务器设置错误,路由器dns设置错误怎么处理

热门文章

  1. 如何免费将XPS转换为PDF格式
  2. cesium 旋转图片
  3. 微信公众号迁移流程和公众号迁移公证书办理步骤
  4. android js 回调函数,Javascript回调函数传递给Android
  5. 考勤日历插件 android,jQuery手机考勤日历插件
  6. A* operator/(A*, A*)‘ must have an argument of class or enumerated type
  7. 重装战姬电脑版模拟器怎么玩
  8. 论文参考文献批量改为上角标,简单好用!!!
  9. java xheditor,xhEditor不能支持本map片上传,请问
  10. c语言无符号数最大值和最小值,c语言 int最大值是多少?