做商城网站会不会被攻击,北京大型网站优化,遵义新闻在线第一网,深圳展示型网站建设星标/置顶小屋#xff0c;带你解锁最萌最前沿的NLP、搜索与推荐技术文 | JayLou娄杰#xff08;NLP算法工程师#xff0c;信息抽取方向#xff09;编 | 可盐可甜兔子酱在昨晚23点的best paper典礼上我惊了#xff0c;这篇论文竟然获得了今年ACL2020 best paper荣誉提名..… 星标/置顶小屋带你解锁最萌最前沿的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的重要结论在目标领域的数据集上继续预训练DAPT可以提升效果目标领域与语言模型的原始预训练语料越不相关DAPT效果则提升更明显。在具体任务的数据集上继续预训练TAPT可以十分“廉价”地提升效果。结合二者先进行DAPT再进行TAPT可以进一步提升效果。如果能获取更多的、任务相关的无标注数据继续预训练Curated-TAPT效果则最佳。如果无法获取更多的、任务相关的无标注数据采取一种十分轻量化的简单数据选择策略效果也会提升。笔者这里给出一个重要的实验结果RoBERTa直接对生物医学领域的某个分类任务低资源设置进行finetune时f1只有79.3而采取DAPTCurated-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所示▲图1 分别展示了原始预训练LM领域分布、目标领域分布、任务数据集分布任务数据集通常从目标领域的一个较宽分布内浅灰色部分进行采样目标领域和原始LM领域可交叉重叠。1 领域自适应预训练领域自适应预训练 (Domain-Adaptive PretrainingDAPT)即在领域相关的大规模无标注语料继续进行预训练然后再对特定任务进行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、DAPTTAPT对比如图6所示在8个特定任务上继续预训练直接使用相应任务的标注数据当作无标注语料TAPT都提高了相应的RoBERTa基准特别是在NEWs领域的2个任务上新闻领域也是RoBERT预训练语料库的一部分TAPT也比RoBERTa有所提升。从上述介绍可以得知TAPT和DAPT之间有着明显的差异DAPT具有更多的资源优势但TAPT可以在某些任务特别是在HYPERPARTISAN和HELPFULNESS中超过了DAPT。可以看出TAPT在某些任务上既“便宜”又有效图6也给出结合DAPT和TAPT的性能表现在DAPT后紧接着进行TAPT除HYPERPARTISAN任务外DAPTTAPT都超过了单独使用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-TAPTHYP和IMDB就是图4中直接给出的任务相关的无标注数据。我们可以发现除了HYP任务外Curated-TAPT相较于TAPT均有提升而Curated-TAPT也超过了DAPTTAPT可见如果我们能获取更多的、任务相关的无标注数据进行TAPT效果不但提升明显而且更为“廉价”、消耗资源低后续图10会详细介绍这一点而结合DAPTCurated-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和finetuneCurated-TAPT要额外构造任务相关的无标注数据集然后进行finetune。本篇论文的相关实验表明即使是具有数亿个参数的语言模型也难以编码单个文本域的复杂性更不用说所有语言了。继续在目标领域和任务上进行预训练可以带来明显的受益。论文也给出了未来的研究方向如何采取一个更有效的数据选择方法来构建更多的、任务相关的无标注数据有效地将大型预训练语言模型重构到更远的domain并且获得一个可重用的语言模型。最后笔者还是要重申一个不成熟的小建议当我们所执行任务的标注数据较少所属的领域与初始预训练语料越不相关而又能获取到充分的、任务相关的无标注数据时那就不要停止领域预训练和任务预训练Arxiv访问慢的小伙伴也可以在订阅号后台回复关键词【0709】下载论文PDF~卖萌屋成立了自然语言处理、搜索技术、推荐系统、算法岗求职等方向大群和知识图谱与信息抽取、智能问答、对话系统等垂类讨论群。不仅可以认识众多志同道合的优秀小伙伴而且还有若干卖萌屋美丽小姐姐划掉、顶会审稿人、大厂研究员、知乎大V等你来撩哦。后台回复关键词【入群】即可获取入口。记得扫描下方二维码关注并星标置顶我才能来到你面前哦。参考文献[1] PTMsNLP预训练模型的全面总结( 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