系列阅读:
详细介绍百度ERNIE1.0:Enhanced Representation through Knowledge Integration
详细介绍百度ERNIE 2.0:A Continual Pre-Training Framework for Language Understanding
详细介绍百度ERNIE 3.0: Large-scale Knowledge Enhanced Pre-training for Language Understanding and Generation
论文题目:ERNIE 3.0: LARGE-SCALE KNOWLEDGE ENHANCED PRE-TRAINING FOR LANGUAGE UNDERSTANDING AND GENERATION用于语言理解和生成的大规模知识增强预训练
预训练的模型在各种自然语言处理(NLP)任务中取得了最先进的成果。最近的工作,如T5和GPT-3表明,扩大预训练语言模型的规模可以提高其泛化能力。特别是有1750亿个参数的GPT-3模型,显示了其强大的任务无关的零样本学习/少样本学习能力。
尽管它们很成功,但这些大规模的模型是在没有引入语言知识和世界知识的情况下对普通文本进行训练的。此外,大多数大型模型是以自回归的方式训练的。因此,这种传统的微调方法在解决下游语言理解任务时表现出相对较弱的性能。
为了解决上述问题,我们提出了一个统一的框架,名为ERNIE 3.0,用于预训练大规模知识增强模型。它融合了自回归网络和自编码网络,因此,训练后的模型可以很容易地用于自然语言理解和生成任务的零样本学习、少样本学习或微调。我们在一个由普通文本和大规模知识图谱组成的4TB语料库上用100亿个参数训练该模型。
经验结果表明,该模型在54个中文NLP任务上的表现优于最先进的模型,其英文版本在SuperGLUE基准测试中获得第一名,比人类表现高出0.8%(90.6%对89.8%)。
预训练的语言模型,如ELMo、GPT、BERT和ERNIE,已被证明能有效提高各种自然语言处理任务的性能,包括情感分类、自然语言推理、文本总结、命名实体识别等等。
一般来说,预训练的语言模型是以自监督的方式在大量的文本数据上学习的,然后在下游任务上进行微调,或者通过零/少样本学习直接部署而无需针对具体的任务进行微调。 这种预训练的语言模型已经成为自然语言处理任务的新范式。
在过去的一两年中,预训练的语言模型的一个重要趋势是它们的模型规模越来越大,这导致预训练的困惑度越来越低,在下游任务中的表现越来越好。
Megatron-LM,有10亿个参数,被提出用于语言理解,使用简单但高效的层内模型并行方法,在几个数据集上取得了最先进的结果。T5探索了预训练模型的极限,有100亿个参数,但很快这个记录就被有1750亿个参数的GPT-3模型打破了,该模型在少样本学习甚至零样本学习的设置下有很好的表现。此后不久,Switch-Transformer被认为是世界上第一个万亿参数的预训练语言模型。
然而,这些具有千亿参数的大规模预训练语言模型是在明文上训练的。例如,1750亿个参数的GPT-3是在一个拥有570GB过滤文本的Common Crawl语料库上训练的。这种原始文本缺乏对知识的明确表述,如语言知识和世界知识。此外,大多数大规模的模型是以自回归的方式进行训练的,但当适应下游的语言理解任务时,这种模型通过传统的微调表现得更差。
在这项工作中,为了解决单一的自回归框架造成的问题,并探索大规模参数的知识增强预训练模型的性能,我们提出了一个统一的框架,称为ERNIE 3.0,通过融合自回归网络和自编码网络,在一个由纯文本和大规模知识图谱组成的4TB语料库上训练大规模知识增强模型。提出的ERNIE 3.0可以通过零样本学习、少样本学习或微调来处理自然语言理解任务和自然语言生成任务。此外,该框架还支持随时引入各种定制任务。这些任务共享相同的编码网络并通过多任务学习进行训练。这种方法使不同任务之间的词汇、句法和语义信息的编码成为可能。此外,当给定一个新任务时,我们的框架可以根据以前的训练参数逐步训练分布式表征,而不需要从头开始训练。
总而言之,我们的贡献如下:
自从BERT被提出作为自然语言理解的强大语言模型以来,预训练的语言模型引起了越来越多的关注,并成为自然语言处理的新范式。研究趋势之一是增加模型规模,从而降低复杂度和提高性能。因此,在过去的两年里,许多大规模的预训练模型被提出。
T5模型的提出旨在提高自然语言理解和自然语言生成任务的性能,有110亿个参数。T5模型通过一个统一的框架将所有基于文本的语言任务转换为文本到文本的格式,并充分探讨了预训练目标、架构、无标记数据集、转移方法和其他因素的有效性。
在T5模型之后,提出了GPT-3,它包括1750亿个参数,在少样本学习和无样本学习的设置下,在各种任务上取得了惊人的表现。具体来说,GPT-3是一个自回归的语言模型,比其前身GPT-2大10倍。然而,GPT-3在测试中显示出缺乏常识,存在偏差和隐私问题。
Switch Transformer是一个有1万亿参数的模型,采用简化的MoE路由算法,以较少的通信和计算成本改进模型,还提出了一个大规模的分布式训练方案来解决训练复杂性、通信成本和训练不稳定性的问题。
除了上面提到的模型,最近还提出了更多的非英语大型模型。CPM,一个26亿参数的中文预训练语言模型,在大规模中文训练数据上进行了生成式预训练。此外还有110亿参数的模型CPM-2。为了加速基于现有PLM的预训练,而不是从头开始训练模型,引入了知识继承技术,在微调阶段,涉及到提示调整,以更好地利用预训练模型中的知识。M6(Multi-Modality to Multi-Modality Multitask Mega-Transformer)跨模态预训练方法,包括1000亿个参数用于多模态数据的统一预训练。PangGu-α是一个有2000亿参数自回归语言模型,该模型在2048个Ascend 910人工智能处理器的集群上进行训练,其分布式训练技术包括数据并行、操作级模型并行、流水线模型并行、优化器模型并行和重构。 除了这些中国的大规模模型,一个名为HyperCLOVA的韩语2040亿参数语言模型已经被提出,其韩语的机器学习数据量是GPT-3的6,500倍。从上面的讨论来看,现在的观察表明,大规模预训练模型已经吸引了工业界和学术界越来越多的关注。
预训练语言模型从大规模语料库中获取句法和语义知识,但缺乏世界知识。最近,一些工作试图将世界知识纳入预训练语言模型中。世界知识的典型形式是一个知识图谱。许多工作将知识图谱中的实体和关系嵌入到预训练的语言模型中。WKLM用同类型的其他实体的名称替换原始文档中的实体提法,并训练模型将正确的实体提法与随机选择的提法区分开来。KEPLER通过知识嵌入和掩码语言模型目标来优化模型,将世界知识和语言表述统一到同一语义空间。CoLAKE将语言上下文和知识上下文整合在一个词-知识图谱中,并通过扩展的掩码语言模型目标共同学习语言和知识的上下文表示。另一种现有的世界知识形式是大规模数据的额外注释。ERNIE 1.0引入了短语屏蔽和命名实体屏蔽,并预测了整个被屏蔽的短语和命名实体,以帮助模型学习局部语境和全局语境中的依赖信息。CALM通过两种自监督的预训练任务,教导模型检测和修改概念排序不正确的受损句子,并将正确句与不太可信的句子区分开来。K-Adapter利用在不同的知识源上训练的适配器,用额外的注释来区分知识的来源。
在各种自然语言处理任务中,知识增强预训练模型的基础或大型模型规模已经取得了明显的改善,如ERNIE、ERNIE 2.0和SpanBERT,其中基础/大型模型规模分别代表12/24层Transformer。 为了探索知识增强大规模预训练模型的有效性,我们提出了ERNIE 3.0框架,对包括纯文本和知识图谱在内的大规模无监督语料进行模型预训练。此外,我们采用各种类型的预训练任务,使模型能够更有效地学习由有意义的词汇、句法和语义信息组成的不同层次的知识,其中预训练任务分布在三个任务范式中,即自然语言理解、自然语言生成和知识提取。因此,ERNIE 3.0创新性地设计了一个连续的多范式统一预训练框架,以实现多任务范式间的协同预训练。ERNIE 3.0的明确介绍将在以下节中说明。
ERNIE 3.0的框架如图1所示,它可广泛用于预训练、微调和零/少样本学习。与普遍的统一预训练策略:对不同的精心设计的cloze任务采用共享的Transformer网络,并利用特定的自我注意掩码来控制预测条件的内容不同,ERNIE 3.0设计了一个新的连续多范式统一预训练框架。我们认为,自然语言处理的不同任务范式对相同的底层抽象特征的依赖是一致的,如词汇信息和句法信息,但对顶层具体特征的要求是不一致的,其中自然语言理解任务有学习语义连贯性的要求,而自然语言生成任务则期望进一步的语境信息。因此,受多任务学习的经典模型架构的启发,即低层在所有任务中是共享的,而顶层是任务特定的,我们提出了ERNIE 3.0,使不同的任务范式能够共享在一个共享网络中学习的底层抽象特征,并分别利用在他们自己的特定任务网络中学习的特定任务顶层具体特征。此外,为了帮助模型有效地学习词汇、句法和语义表征,ERNIE 3.0利用了ERNIE 2.0中引入的持续的多任务学习框架。至于不同种类的下游任务的应用,我们将首先用预先训练好的共享网络和相应的特定任务网络的参数组合来初始化ERNIE 3.0,用于不同的任务范式,然后利用具体任务的数据执行相应的后续程序。
我们把主干共享网络和特定任务网络称为ERNIE 3.0中的通用表示模块和特定任务表示模块。具体来说,通用表示网络扮演着通用语义特征提取器的角色(例如,它可以是一个多层转化器),其中的参数在各种任务范式中都是共享的,包括自然语言理解、自然语言生成等等。而特定任务的表示网络承担着提取特定任务语义特征的功能,其中的参数是由特定任务的目标学习的。
ERNIE 3.0不仅使模型能够区分不同任务范式的特定语义信息,而且缓解了大规模预训练模型在有限的时间和硬件资源下难以实现的困境,其中ERNIE 3.0允许模型只在微调阶段更新特定任务表示网络的参数。具体来说,ERNIE 3.0采用了一个通用表示模块和两个特定任务表示模块的协作架构,即自然语言理解(NLU)特定表示模块和自然语言生成(NLG)特定表示模块。
ERNIE 3.0使用多层Transformer-XL作为骨干网络,就像其他预训练模型如XLNet、Segatron和ERNIE-Doc一样,其中Transformer-XL与Transformer类似,但引入了一个辅助递归记忆模块以帮助对长文本建模。我们把这个骨干称为通用表示模块,它在所有的任务范式中都是共享的。众所周知,Transformer可以通过自我注意来捕捉序列中每个标记的上下文信息,并生成一个上下文嵌入的序列。显然,Transformer模型的规模越大,其捕捉和存储各种不同层次的语义信息的能力就越强。因此,ERNIE 3.0设置了规模较大的通用表示模块,使模型能够通过学习不同范式的各种预训练任务,有效地从训练数据中捕获通用的词法和句法信息。而需要特别注意的是,当控制注意力屏蔽矩阵时记忆模块只对自然语言生成任务有效。
与基本的共享表征模块类似,特定任务表征模块也是一个多层Transformer-XL,用于捕获不同任务范式的顶层语义表征。ERNIE 3.0将特定任务的表征模块设置为可管理的规模,即基础模型规模,而不是多任务学习中常用的多层感知器或浅层Transformer,这将产生三个明显的好处,第一是基础网络比多层感知器和浅层Transformer有更强的捕捉语义信息的能力;第二是具有基础模型规模的特定任务网络使ERNIE 3. 0能够在不大幅增加大规模模型参数的情况下区分不同任务范式的顶层语义信息;最后,与共享网络相比,特定任务网络的模型规模更小,在只对特定任务表示模块进行微调的情况下,会导致大规模预训练模型的可实现的实际应用。ERNIE 3.0构建了两个特定任务的表示模块,即NLU特定表示模块和NLG特定表示模块,其中前者是一个双向的建模网络,而后者是一个单向的建模网络。
我们为各种任务范式构建了几个任务,以捕捉训练语料中不同方面的信息,并使预训练模型具有理解、生成和推理的能力。
知识屏蔽语言模型:ERNIE 1.0提出了一个有效的策略,即知识整合屏蔽语言模型任务,通过知识整合来增强表示。它引入了短语屏蔽和命名实体屏蔽,预测整个被屏蔽的短语和命名实体,以帮助模型学习本地语境和全局语境中的依赖信息。
文档语言建模:生成性预训练模型通常利用传统的语言模型(如GPT、GPT-2)或序列到序列的语言模型(如BART、T5、ERNIE-GEN)作为预训练任务,后者在具有辅助解码器结构的网络上进行训练。ERNIE 3.0选择了传统的语言模型作为预训练任务,以降低网络的复杂性,提高统一预训练的效果。此外,为了使ERNIE 3.0的NLG网络能够对较长的文本进行建模,我们引入了ERNIE-Doc中提出的增强递归记忆机制,通过将移位一层向下递归改为同层递归,可以对比传统递归转化器更大的有效语境长度进行建模。
句子重排:句子重排任务是在ERNIE 2.0中引入的,目的是训练模型通过重组排列的句段来学习句子之间的关系。在长度上,一个给定的段落在预训练中被随机分割成1到m个片段,所有组合被随机的排列组合洗牌。然后预训练的模型被要求重新组织这些排列组合的片段,被建模为一个k类分类问题,其中k=∑m n=1 n!。
句子距离:句子距离任务是传统的下一句预测(NSP)任务的延伸,被广泛用于各种预训练模型,以提高其学习句子级信息的能力,它可以被建模为一个3类分类问题。这三类分别代表两个句子是相邻的,不相邻但在同一个文档中,以及来自两个不同的文档。
通用知识-文本预测:为了将知识纳入一个预训练语言模型,我们引入了通用知识-文本预测(UKTP)任务,它是知识屏蔽语言模型的延伸。知识屏蔽语言模型只需要非结构化文本,而通用知识-文本预测任务则需要非结构化文本和知识图谱。
图2说明了通用知识-文本预测任务。给出一对来自知识图谱的三联体和来自百科全书的相应句子,我们随机屏蔽三联体中的关系或句子中的单词。为了预测三联体中的关系,模型需要检测头部实体和尾部实体的提及,并确定它们在相应句子中的语义关系。这个过程的本质与关系提取任务中的远距离监督算法相似。远距离监督算法认为,如果两个实体有某种关系,任何包含这两个实体的句子都可能表达这种关系。同时,为了预测相应句子中的词,该模型不仅考虑了句子中的依赖信息,还考虑了三联体中的逻辑关系。具体来说,获得一个三联体和这个对应句子的步骤如下:从百科全书中给定一个文档,我们首先在知识图谱中找到提及头部实体或尾部实体为该文档标题的候选三联体,然后从候选三联体中选择头部实体和尾部实体在该文档的同一句子中被提及的三联体。
ERNIE 3.0通过知识屏蔽语言建模训练NLU网络以提高捕获词法信息的能力,训练句子重排任务和句子距离辨别任务以加强捕获句法信息的能力,最后用通用知识-文本预测任务优化模型以提高知识记忆和推理能力。同时,ERNIE 3.0用文档语言建模任务训练NLG网络,以实现各种生成方式。
渐进式训练最初是为了提高稳定性而提出的, 它从一个高效的小模型开始, 逐渐增加容量。最近的研究利用这一范式来加速模型训练。随着大规模预训练的不断推进, 其巨大的计算消耗成为进一步开发更强大模型的主要负担。 渐进式训练的初步应用已经在Transformer预训练中得到了体现。BERT设计了一个两阶段的训练,在前90%的更新中减少序列长度。从一个小值到满值逐步线性增加批处理量。相对于输入规模,分阶段改变正则化因子可以加快训练网络的速度。为了进一步提高训练过程的收敛速度,我们建议通过逐步同时增加包括输入序列长度、批次大小、学习率和dropout率在内的训练因子,以更全面、更平稳的方式调整训练正则化因子。事实上,Transformer模型采用学习率预热策略来提高训练稳定性是很常见的,我们改进的渐进式学习策略与现有策略是兼容的。
为了保证ERNIE 3.0预训练的成功,我们构建了一个大规模、多种类、高质量的中文文本语料库,存储量达4TB,分11个不同类别。据我们所知,与CLUECorpus2020(100GB)、中文多模态预训练数据(300GB)、CPM-2使用的WuDaoCorpus2.0(2.3TB中文数据和300GB英文数据)和PanGu Corpus(1.1TB)相比,这是目前最大的中文预训练语料。
具体而言,我们在ERNIE 2.0(包括百科、Feed等)、百度搜索(包括百家号、知乎、贴吧、经验)、网络文本、QA-long、QA-short、Poetry 2&Couplet 3、医疗、法律、金融等领域的特定数据以及百度知识图谱(超过5000万条事实)的基础上,为ERNIE 3.0建立了语料。为了提高数据质量,我们采取了以下预处理策略:
然后,每个数据集都要乘以用户定义的乘数,以增加截断数据后的数据多样性,用于NLU网络预训练。
ERNIE 3.0的通用表示模块和特定任务表示模块都使用Transformer-XL结构作为骨干。对于通用表示模块,我们采用了一个具有48层、4096个隐藏单元和64个头的结构。对于特定任务的表示模块,我们采用12层、768个隐藏单元和12个头的结构。通用表示模块和特定任务表示模块的总参数为100亿。使用的激活函数是GeLU。上下文的最大序列长度和语言生成的内存长度分别设置为512和128。所有预训练任务的总批次大小被设置为6144。我们使用Adam,学习率为1e-4,β1=0.9,β2=0.999,L2权重衰减为0.01,学习率在前一万步中进行预热,学习率线性衰减。在前一万步中,我们还使用渐进式学习来加速预训练初始阶段的收敛。该模型用384块NVDIA v100 GPU卡训练了总共3750亿个tokens,并在PaddlePaddle框架上实现。我们设法减少了我们的模型的内存使用,并解决了模型的总参数超过单个GPU卡的内存的问题。
我们通过对自然语言理解任务和自然语言生成任务的微调,以及零样本学习,将ERNIE 3.0的性能与最先进的4个预训练模型进行比较。
我们对54个NLP任务进行了大量实验,评估模型的微调和零样本学习性能。
我们在实验中使用了属于14种自然语言理解任务的45个数据集,具体如下:
在我们的实验中使用了属于7种自然语言生成任务的9个数据集,具体如下:
自然语言理解任务的结果报告于表2。
表2: 自然语言理解任务的结果。我们将ERNIE 3.0与以前的10个SoTA基线进行比较,包括CPM-2、ERNIE 2.0、ERNIE-Gram、SKEP、RoBERTa-wwm-ext-large(标记为RoBERTa*)、ALBERT、MacBERT、Zen 2.0、Glyce 和交叉BERT siamese BiGRU(标记为BERT_BiGRU*)。
情感分析:情感分析是一项分类任务,旨在确定一个句子是积极的、消极的还是中性的。我们考虑了来自不同领域的4个数据集,包括购物(NLPCC2014-SC)、电子(SE-ABSA16_PHNS、SE-ABSA16_CAM)和金融(BDCI2019)。ERNIE 3.0在所有四个数据集上都实现了大幅改进。
观点提取:与情感分析任务类似,观点提取要求模型挖掘一个句子的观点。我们使用了来自中国顾客评论(COTE)的3个子数据集。实验结果表明,ERNIE 3.0也以很大的优势超过了目前的SoTA系统。
自然语言推理:自然语言推理任务是确定一个给定的前提是否在语义上包含另一个假设。我们使用OCNLI和XNLI数据集。结果表明,ERNIE 3.0在两个数据集上分别取得了3.9和0.7的准确性改进。在XNLI数据集上的改进相当有限,这可能是由于数据集的质量较差,因为XNLI数据集是从英语翻译过来的。
Winograd Schemas挑战赛:WSC2020是一项解决回指问题的任务,要求模型决定句子中的代词和名词是否共指,ERNIE 3.0取得了25.7分的重大改进。
关系提取:关系提取的任务是识别不同实体如人和组织之间的关系。我们考虑了FinRE和SanWen这两个关系提取数据集,分别用于金融新闻和中国文学。ERNIE 3.0比以前的SoTA模型平均高出2.46分。
事件提取:与关系提取类似,事件提取任务的目的是识别事件实体并将其归入不同的类别。我们选择CCKS2020–一个金融领域的文本级事件主体提取数据集。ERNIE 3.0在测试集上有3分的改进。
语义相似度:语义相似性是一项经典的NLP任务,它决定了各种术语如单词、句子、文档之间的相似性。在这项工作中,我们专注于句子层面的相似性任务。我们在不同领域的几个数据集上测试ERNIE 3.0,包括AFQMC、LCQMC、CSL、PAWS-X和BQ。实验结果表明,ERNIE 3.0的性能明显优于基线模型。特别是在参数数量相当的情况下,ERNIE 3.0在LCQMC数据集上以1.2分的优势超过了CPM-2。
中文新闻分类:我们还对ERNIE 3.0在中文新闻分类上进行了评估。我们考虑了6个数据集,包括新闻标题(TNEWS)、应用描述(IFLYTEK)和新闻故事(THUCNEWS、CNSE、CNSS)。在不同类型的分类任务下,ERNIE 3.0能够持续实现更好的准确性,平均提高2.8分。
闭卷答题:闭卷答题的目的是直接回答问题,不需要任何额外的参考资料或知识。我们选择了一个一般的QA数据集NLPCC-DBQA和三个医学领域的数据集–CHIP2019、cMedQA和cMedQA2来测试ERNIE 3.0的能力。实验结果表明,ERNIE 3.0在所有的QA任务上都表现得更好,我们相信知识增强的预训练方法确实给闭卷的QA任务带来了好处。
黑话理解:黑话,也被称为双关语,是人类的一种高级语言用法。然而,对于机器来说,理解这种类型的语言是相当困难的。我们在DogWhistle–一个基于Decrypto游戏的数据集上测试了ERNIE 3.0的cant理解能力。该模型需要在相应的cant的指导下选择正确的答案。ERNIE 3.0得到了最好的结果,并显示了它在理解更难的语言方面的潜力。
命名实体识别:命名实体识别是一项经典的NLP任务,对文本中的实体进行提取和分类。我们选择了广泛使用的OntoNotes、CLUENER、微博,以及一个特定领域的数据集CCKS2019。从结果来看,ERNIE 3.0在所有数据集上的表现都优于基线模型。
机器阅读理解:我们全面评估了ERNIE 3.0在不同方面的机器阅读理解能力,包括跨度预测阅读理解(CMRC2018,DuReader,DRCD,DuReaderchecklist),多选阅读理解(C3,DuReaderyesno),cloze和完成(CHID,CMRC2019),以及鲁棒性测试(Dureaderrobust)。在知识强化预训练的帮助下,ERNIE 3.0超越了基线模型,在所有类型的任务上都有明显的提升。更具体地说,ERNIE 3.0在5个跨度预测任务上实现了至少1.0分的EM改进,在多项选择任务上平均实现了0.89分的准确性改进。另外,在参数数量相当的情况下,ERNIE 3.0在C3数据集上以0.6分的成绩超越了CPM-2。对于鲁棒性测试,ERNIE 3.0在具有过度敏感和过度稳定样本的测试集上也表现最好。
法律文档分析:接下来,我们测试ERNIE 3.0在文档分析上的能力,我们选择了两个特定领域的法律任务。这两个来自CAIL2018的数据集都是多标签的文档分类任务。ERNIE 3.0的性能优于ERNIE 2.0,并有明显的提升。
文档检索:文档检索的目的是匹配给定查询的文档。我们在搜狗日志上评估了ERNIE 3.0的检索能力。按照以前的工作,我们报告了NDCG@1在测试-相同测试集上的表现和MRR在测试-原始测试集上的表现,ERNIE 3.0优于CPM-2。
自然语言生成任务的结果在表3中报告。
文本摘要:我们考虑了大规模中文短文总结(LCSTS)数据集,它需要一个模型来理解文本并提炼关键信息,以生成连贯的、信息丰富的总结。LCSTS是一个经典的中文文本总结数据集,由200万个真实的中文短文和来自新浪微博的短文总结组成。ERNIE 3.0实现了48.46%的Rouge-L得分,超过了参数数量相当的CPM-2(11B)和目前的SoTA ProphetNet-zh。
问题生成:问题生成是机器阅读理解(MRC)的反向任务,要求模型理解文档并根据给定的简短答案生成一个合理的问题。我们使用三套数据集,包括知识库问题生成(KBQG),两个名为Dureader和Dureaderrobust的MRC数据集。与基线相比,ERNIE 3.0在这三个数据集上的表现最好。
数学:为了测试ERNIE 3.0执行简单算术运算的能力,我们考虑了Math23K数据集,它包含了23161个小学生的真实数学单词问题,有问题描述、结构化方程和答案。ERNIE 3.0经过微调,可以根据问题描述生成结构化方程的后缀表达式,然后用Python的eval()函数计算出最终答案(注意’[‘和’]‘应分别替换为’(‘和’)‘,同时’%‘应替换为’*0.01’以避免使用Python的eval()函数解题失败)。这表明ERNIE 3.0是一个很好的数学求解器,与CPM-2的69.37%相比,实现了75%的高精确度。
广告生成:我们考虑AdGen,它由119K对广告文本和来自中国电子商务平台的服装规格表组成。 它要求模型生成一个长的广告文本,涵盖一件衣服的所有给定的属性-价值对。一个属性-价值对用冒号连接,几个属性-价值对根据其段号用"|"依次连接。然后我们把结构性的属性-价值对字符串作为ERNIE 3.0的输入。结果表明,ERNIE 3.0能够通过从结构输入中提取信息,生成连贯的、耐人寻味的长篇广告文本,与CPM-2相比,在BLEU-4上提高了19.56%。
翻译:对于ERNIE 3.0,我们主要考虑对中文语料库进行预训练。为了测试其多语言能力,我们扩大了词汇量,包括额外的10K个英文子词。在经典的多语言数据集WMT20-enzh上,我们对ERNIE 3.0进行了微调,将英语翻译成中文。与mT5-xxLarge和CPM-2相比,ERNIE 3.0是最好的,呈现出卓越的多语言能力。
对话生成:接下来,我们对ERNIE 3.0的对话生成任务进行评估。我们考虑了一个中文多领域知识驱动的对话数据集,其中包含三个领域(电影、音乐和旅游)的4.5K对话。我们在上述三个领域的融合数据集上训练和测试ERNIE 3.0,只给出对话历史来生成当前语料。知识三要素被排除在输入之外,所以它适合于测试模型在预训练期间利用固有的知识来模拟多轮对话的能力。与基线相比,ERNIE 3.0的性能提高了很多,提高了8.1个百分点,我们认为知识图谱极大增强了预训练属性。
为了进一步全面、方便地评估不同模型的能力,我们在语言理解和生成评估基准(LUGE)上进行了实验。我们使用LUGE中的六个代表性任务(见表4)。ERNIE 3.0比ERNIE 2.0和RoBERTa等领先的预训练模型平均提高5.36%。
我们已经证明了ERNIE 3.0在预训练-再调整的范式下,在NLU和NLG任务上都优于以前的SoTA方法。在这一节中,我们用零样本学习设置来进行各种类型的任务,在这种情况下,模型的应用没有任何梯度更新或微调。与最近提出的大规模语言模型如CPM-1(2.6B)、PanGu-α-2.6B和PanGu-α-13B相比,ERNIE 3.0在大多数下游任务上取得了强大的性能。最后,我们表明,ERNIE 3.0可以产生更连贯、更自然和更准确的反应,这是在我们手工收集的450个案例中对13个不同任务的评估。
评估方法可分为两类,即基于困惑度的方法和基于生成的方法。
中文新闻分类:对于TNEWS和IFLYTEK数据集,分别有15和119个类别。我们在每个样本中随机抽取三个候选作为负面标签,并在这四个选择中比较每个标记的互认性得分。这种抽样策略与CPM-1和PanGu-α的抽样策略一致,以减少总的计算成本,因为我们需要分别计算每个候选的每标记的互认性得分。ERNIE 3.0在TNEWS上表现良好,甚至达到了与之前最先进的微调方法竞争的程度,在IFLYTEK上表现略好。
语义相似度:我们考虑了AFQMC和CSL数据集。ERNIE 3.0在很大程度上超过了基线。然而,其准确度略高于随机猜测模型。 这可能部分归因于提示语的次优选择。
自然语言推理:ERNIE 3.0在两个NLI数据集上进行了评估,即OCNLI和CMNLI,其中CMNLI由XNLI和MNLI组成,通过将英文翻译成中文。ERNIE 3.0的性能与基线相当,它表明预训练的模型在零样本学习的NLI任务上仍有很大的改进空间。
Winograd Schema挑战赛:我们将WSC2020数据集正式化为一个多选择完成任务,其中一个代词被替换成每个候选者,以计算样本的每token perplexity。与PanGu-α-13B相比,ERNIE 3.0的性能提高了3.38%。
Cloze和完成度:在CHID数据集上,我们把每个只包含一个空字的句子拆开作为一个样本,并正式作为一个多选题任务。ERNIE 3.0在基线中取得了最好的成绩。对于长上下文的中文词汇预测(Chinese WPLC),一个样本由一个被屏蔽的文本和一个正确的词组成。按照PanGu-α的方法,我们用正确的词来替换屏蔽的标记,并计算整个句子的困惑度分数。与PanGu-α相比,ERNIE 3.0实现了更低的困惑得分。在CMRC2019数据集上,我们为每个空白随机抽出三个负面的候选人,然后应用波束搜索来计算出一个样本的最优路径。我们还将PD、CFT和CMRC2017形式化为多选任务,将空白前的文本作为输入,而多选是整个文本中出现的单词。ERNIE 3.0以很大的优势超过了基线。
机器阅读理解:我们考虑四个MRC数据集。ERNIE 3.0在CMRC2018、DRCD和DuReader数据集上以较大的幅度优于基线。
闭卷答题:我们在两个闭卷答题数据集上评估了ERNIE 3.0,该数据集要求模型使用其在预训练期间学到的固有知识生成答案。WebQA是一个来自百度知乎的大规模实词QA数据集。我们只向ERNIE 3.0提供问题,而不提供其他证据。提示与MRC的类似,但没有文档输入(QUESTION:$QUESTION? ANSWER:)。与基线相比,ERNIE 3.0取得了更好的性能。
表6:对我们收集到的450个案例进行人工评估的零样本学习生成性能。(我们分别报告了连贯性、流畅性和准确性的平均得分,评分标准为[0, 1, 2])。
我们手工收集了450个案例,以评估当前大规模预训练模型在5种不同类型的13个任务上的零照生成能力,包括问答、解释、对话、文本生成和总结。在人工评估中,注释者被要求对生成质量进行打分,评分标准为[0, 1, 2]。我们在表6中报告了连贯性、流畅性和准确性的平均得分。并在表7中展示了ERNIE 3.0的一些零样本学习生成。与CPM-1、PLUG、PanGu-α 20相比,ERNIE 3.0平均能生成最连贯、最流畅和最准确的文本。三个评分指标的介绍如下,评分细节见表8。
连贯性衡量生成的文本是否与上下文相关且一致。
流畅性评价生成的文本是否自然或可读。一个流畅的文本应该在生成的文本中没有语义上的矛盾。
准确性是评估生成的文本是否与正确答案相同的指标。
作为自然语言理解的多任务基准,SuperGLUE通常被用来评估预训练模型的性能。我们也在SuperGLUE上测试了ERNIE 3.0的性能,它涵盖了以下不同的NLP数据集。
与RoBERTa和DeBERTa使用的预训练语料库类似,我们为ERNIE 3.0编制了英文预训练语料库,包括英文维基百科、BookCorpus、CC-News、OpenWebText、Stories。如表9所示,ERNIE 3.0超过了T5和DeBERTa,获得了90.6分,在SuperGLUE Benchmark中排名第一。
特定任务表征模块的有效性:为了验证特定任务网络的有效性,我们将我们提出的结构与那些在各种预训练任务下共享参数的网络进行比较。对于消融测试,我们选择理解和生成作为两种不同的训练范式,并利用上文提到的相应任务。统一的网络遵循基本的模型设置(12层,768点,12个注意头),每个任务范式的特定任务网络被设置为3层,256点,4个注意头。对于对比度模型,特定的任务网络在不同的任务范式中是共享的。图3说明了预训练过程中NLG任务的困惑度变化。
如图3所示,对于不同的任务范式,具有自己的任务特定网络的模型达到了较高的收敛速度。此外,随着训练的进行,与具有共享任务专用网络的模型相比,性能差距变得更大。实验结果显示了所提出的特定任务网络的有效性,并证明了区分不同任务的必要性。
通用知识-文本预测:我们进行了一组消融实验来评估通用知识-文本预测任务的性能。关系提取任务是一个典型的知识驱动的任务,目的是预测给定句子中提到的两个实体之间的关系。具体来说,我们添加了四个特殊标记,[HD]、[/HD]、[TL]和[/TL],分别用来识别提到的头部实体和尾部实体,然后根据上述四个特殊标记的最终表示之和进行关系分类。 我们在SanWen和FinRE数据集上进行了实验,如表10所示,知识增强策略在关系提取任务上取得了令人印象深刻的经验表现。
此外,关于CKBQA的零样本学习生成实验也证实了通用知识-文本预测任务的有效性。具体来说,基于知识的问题回答(KBQA)任务需要一个模型基于知识图谱搜索和推理出正确的答案。用KBQA任务来衡量预训练的语言模型的知识学习能力是合适的。我们使用 "QUESTION: $QUESTION? ANSWER: "作为零样本学习的提示,然后在CKBQA数据集上比较我们提出的模型和几个最先进的预训练语言模型的性能。如表5所示,ERNIE 3.0在CKBQA数据集中的表现明显优于PanGu-α和CPM-1,这表明ERNIE 3.0具有记忆和学习更多知识的能力。
渐进式学习加速收敛:我们记录了两种架构设置的训练收敛速度,包括ERNIEBase和ERNIE1.5B,其中ERNIEBase的架构设置和ERNIE保持一致,ERNIE1.5B模型由48层组成,隐含大小为1,536,有24个注意头。 如表11所示。该模型的损失值收敛时间与ERNIE3.0相同。对于ERNIEBase模型,收敛时间减少了65.21%,从11小时减少到4小时,而对于ERNIE1.5B,收敛时间减少了48%。 对于这两种设置,我们在8个NVIDIA Tesla V100 GPU上进行了预训练。对于ERNIEBase,我们将批次大小从8增加到2048,序列长度从128增加到512,学习率从0线性增加到1e-4,在渐进式预热阶段,dropout率保持为0。对于ERNIE1.5B,我们逐渐将批处理量从8增加到8192,学习率从0增加到6e-4,dropout率也保持为0,其余实验设置与ERNIE1.0相同。对于ERNIE1.5B,为了在GPU内存的约束下达到峰值批处理量,在预训练中使用了梯度累积策略。
我们提出了ERNIE 3.0框架,在包括纯文本和知识图谱的4TB语料库上预训练一个知识增强的100亿参数模型。为了处理语言理解和生成的任务,ERNIE 3.0设计了一个统一的预训练框架,整合了自编码网络和自回归网络。我们在来自不同任务范式和领域的各种数据集上构建了广泛的实验,结果表明,与之前最先进的预训练模型相比,ERNIE 3.0是有效的。