赞
踩
文章给出了一种新的NLP预训练模型的训练方法,并提出了ERNIE2.0(Enhanced Representation through kNowledge IntErgration)。ERNIE2.0在ERNIE1.0[1]的基础上提升了采用了continual multi-task learning,在多个NLP下游任务上取得了SOTA表现。
文章总体框架如下
大语言模型的训练成本比较高,为了节约成本和方便使用,我们希望有一个通用的大语言模型可以适用于尽可能多的下游任务。一般来说,我们可以采用多任务学习来对进行语言模型的预训练(multi-task learning)。常规的多任务学习对选定的tasks同时进行训练,这样可以保证所有task都能被平等对待。但这种方法要求所有task的数据都预先准备好,而实际工程化时我们的训练集往往是在过程中逐渐增多的。
Continual pre-training在一定程度上解决了这个问题。在Continual learning中,模型依此学习每个task,这样我们可以在训练号的模型基础上随时增加新的task训练。但这种串行结果往往会让模型忘记之前学习到的信息。
为了解决上述问题,模型提出了一种sqeuential multi-task learning,使得模型在不忘记前面学习的知识的前提下进行增量学习。下图给出了本文应用的sequential multi-task learning(SMTL)和传统的multi-task learning以及continual learning的区别。SMTL首先用原始模型的参数初始化,然后每次新增一个任务的时候,会讲新增任务和原有任务一些学习来更新模型的参数。
为了使得模型学习到训练语料库中的词汇、语法和语义信息,文章构建了多个级别的任务
为了使模型了解到不同的任务指令,模型增加了task embedding。每个task id由0~N表示,然后生成对应的task embedding。例如task id为3时,对应的输入如下图
文章在BERT基础上,新增了Reddit和Discovery的数据,且增加了百科、新闻、对话等中文语料库(类似ERNIE1.0,来自百度百科、贴吧、新闻等)
文章给出一种基于sequential multi-task learning的模型预训练方法,在不忘记历史学习到的知识的同时,又可以进行增量学习。文章给出的ERNIE 2.0在多个英文任务上达到了SOTA,且ERNIE 2.0 LARGE重新刷新了实验的10个任务的SOTA表现。
ERNIE 2.0: A Continual Pre-Training Framework for Language Understanding
代码+模型
[1] 论文笔记–ERNIE: Enhanced Representation through Knowledge Integration
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。