赞
踩
ERINE系列模型:
ERINE1.0:https://blog.csdn.net/weixin_49346755/article/details/127257733?spm=1001.2014.3001.5501
ERNIE2.0:https://blog.csdn.net/weixin_49346755/article/details/127266955?spm=1001.2014.3001.5501
ERNIE-Gram:https://blog.csdn.net/weixin_49346755/article/details/127259532?spm=1001.2014.3001.5501
ERNIE-Doc:https://blog.csdn.net/weixin_49346755/article/details/127262111?spm=1001.2014.3001.5501
THU-ERNIE:https://blog.csdn.net/weixin_49346755/article/details/127263266?spm=1001.2014.3001.5501
为了解决单一自回归框架带来的问题,并探索大规模参数的知识增强预训练模型的性能,我们提出了一个名为ERNIE 3.0的统一框架,通过融合自回归网络和自编码网络,在由纯文本和大规模知识图谱组成的4TB语料库上训练大规模知识增强模型。提出的ERNIE 3.0可以通过zero-shot学习、few-shot学习或微调来处理自然语言理解任务和自然语言生成任务。
此外,提议的框架支持在任何时候引入各种定制任务。这些任务共享相同的编码网络,并通过多任务学习进行训练。这种方法使不同任务之间的词汇、句法和语义信息的编码成为可能。此外,当给定一个新任务时,我们的框架可以根据以前的训练参数逐步训练分布式表示,而不需要从头开始训练。
ERNIE 3.0认为不同的任务模式依赖的自然语言的底层特征是相同的,比如词法和句法信息,然而不同的任务模式需要的上层具体的特征是不同的。自然语言理解的任务往往倾向于学习语义连贯性,然而自然语义生成任务却期望能够看见更长的上下文信息。
因此,ERNIE 3.0设计了上下两层网络结构:Universal Representation Module 和 Task-specific Representation Module。其中各个模式的任务共享Universal Representation Module,期望其能够捕获一些通用的基础特征; Task-specific Representation Module将去具体适配不同模式的任务(生成和理解),去抽取不同的特征。
前边提到,自回归模型在文本生成任务上表现更好,自编码模型在语言理解任务上表现更好。因此,ERNIE 3.0在上层使用了两个网络,一个用于聚焦自然语言理解,一个用于聚焦自然语言生成任务。这样做主要有两个好处:
不同任务适配更合适的网络,能够提高模型在相应任务上的表现。
在fune-tuning阶段,可以固定Universal Representation Module,只微调Task-specific Representation Module参数,提高训练效率。
此部分使用Transformer-XL作为骨干网络,Transformer-XL允许模型使用记忆循环机制建模更长的文本序列依赖。在实验中,Universal Representation Module设置了比较多的层数和参数,用以加强捕获期望的词法和句法底层语言特征能力。
这里需要注意的一点是,记忆循环机制只有在自然语言生成任务上会使用。
此部分同样使用了Transformer-XL作为骨干网络,Task-specific Representation Module将用于根据不同模式的任务去学习task-specific的高层语义特征。
在ERNIE 3.0的设置中,Universal Representation Module采用了Base版的Transformer-XL,其层数会比Universal Representation Module少。
另外,ERNIE 3.0采用了两种任务模式的Representation Module,一个是NLU-specific Representation Module,另一个是NLG-specific Representation Module,其中前者是一个双向编码网络,后者是个单向编码网络。
延续ERNIE 2.0的语言学习思路,ERNIE 3.0同样期望通过设置多种预任务的方式辅助模型学习语言的各方面知识,比如词法、句法、和语义信息。
Knowledge Masking策略包含三个级别:token级别(Basic-Level)、短语级别(Phrase-Level) 和 实体级别(Entity-Level)。通过对这三个级别的对象进行 Masking,提高模型对字词、短语的知识理解。
显然,Basic-Level Masking 同BERT的Masking一样,随机地对某些单词(如 written)进行Masking,在预训练过程中,让模型去预测这些被Mask后的单词;Phrase-Level Masking 是对语句中的短语进行masking,如 a series of;Entity-Level Masking是对语句中的实体词进行Masking,如人名 J. K. Rowling。
ERNIE 3.0 选择使用传统的语言模型作为预训练任务,期望减小模型的语言困惑度。同时采用了ERNIE-Doc中提出的记忆循环机制,以建模更长的序列依赖。
将给定的文档依次划分为1-m段,然后打乱这些段,让模型对这些段进行排序,是个k分类问题,这能够帮助模型学习语句之间的关系。
将文档划分为2段,那么排列组合后将有 2! 个可能;将文档划分为3段,那么排列组合后将有 3! 个可能;依次类推,将文档划分为 n 段,那么排列组合后将有 n! 个可能。因此ERNIE将这个任务建模成了一个 k 分类问题。
预测两个句子之间的距离,是个3分类任务。对应的Label依次是0、1和2。其中0代表两个句子在同一篇文章中,并且他们是相邻的;1代表两个句子在同一篇文章中,但他们不是相邻的;2代表两个句子不在同一篇文章中。
为了向预训练模型中引入知识,ERNIE 3.0 尝试在预训练阶段引入了universal knowledge-text prediction(UKTP)任务。
给定一个三元组<head, relation, tail>和一个句子,ERNIE 3.0会mask掉三元组中的实体关系relation,或者句子中的单词word,然后让模型去预测这些内容。当预测实体关系的时候,模型不仅需要考虑三元组中head和tail实体信息,同时也需要根据句子的上下文信息来决定head和tail的关系,从而帮助模型来理解知识。
这个操作基于远程监督的假设:如果一个句子中同时出现head和tail两个实体,则这个句子能够表达这两个实体的关系。
另外,当预测句子中的单词word时,模型不仅需要考虑句子中的上下文信息,同时还可以参考三元组<head, relation, tail>的实体关系。
论文地址:https://arxiv.org/abs/2107.02137
代码地址:https://github.com/PaddlePaddle/PaddleNLP/tree/develop/model_zoo/ernie-3.0
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。