深度学习进阶篇-国内预训练模型[5]:ERINE、ERNIE 3.0、ERNIE-的设计思路、模型构造、利用场景等详解

后预训练模型时代

1.ERINE

1.1 ERINE简介

ERINE是百度公布一个预训练模型,它通过引入三种级别的Knowledge Masking帮忙模型学习语言常识,在多项工作上超过了BERT。在模型构造方面,它采纳了Transformer的Encoder局部作为模型骨干进行训练,如 图1 (图片来自网络)所示。

图1 Transformer的Encoder局部

对于ERNIE网络结构(Transformer Encoder)的工作原理,这里不再展开讨论。接下来,咱们将聚焦在ERNIE自身的次要改良点进行探讨,即三个层级的Knowledge Masking 策略。这三种策略都是利用在ERNIE预训练过程中的预训练任务,冀望通过这三种级别的工作帮忙ERNIE学到更多的语言常识。

1.2 Knowledge Masking Task

训练语料中蕴含着大量的语言常识,例如词法,句法,语义信息,如何让模型无效地学习这些简单的语言常识是一件有挑战的事件。BERT应用了MLM(masked language-model)和NSP(Next Sentence Prediction)两个预训练任务来进行训练,这两个工作可能并不足以让BERT学到那么多简单的语言常识,特地是起初多个钻研人士提到NSP工作是比较简单的工作,它理论的作用不是很大。


阐明:

masked language-model(MLM)是指在训练的时候随即从输出意料上mask掉一些单词,而后通过的上下文预测这些单词,该工作十分像咱们在中学期间常常做的完形填空。 Next Sentence Prediction(NSP)的工作是判断连个句子是否是具备前后顺承关系的两句话。


思考到这一点,ERNIE提出了Knowledge Masking的策略,其蕴含三个级别:ERNIE将Knowledge分成了三个类别:token级别(Basic-Level)短语级别(Phrase-Level)实体级别(Entity-Level)。通过对这三个级别的对象进行Masking,进步模型对字词、短语的常识了解。

图2展现了这三个级别的Masking策略和BERT Masking的比照,显然,Basic-Level Masking 同BERT的Masking一样,随机地对某些单词(如 written)进行Masking,在预训练过程中,让模型去预测这些被Mask后的单词;Phrase-Level Masking 是对语句中的短语进行masking,如 a series of;Entity-Level Masking是对语句中的实体词进行Masking,如人名 J. K. Rowling。

图2 ERNIE和BERT的Masking策略比照

除了上边的Knowledge Masking外,ERNIE还采纳多个异源语料帮忙模型训练,例如对话数据,新闻数据,百科数据等等。通过这些改良以保障模型在字词、语句和语义方面更深刻地学习到语言常识。当ERINE通过这些预训练任务学习之后,就会变成一个更懂语言常识的预训练模型,接下来,就能够利用ERINE在不同的上游工作进行微调,进步上游工作的成果。例如,文本分类工作。

异源语料 :来自不同源头的数据,比方百度贴吧,百度新闻,维基百科等等

2.ERNIE 3.0: Large-scale Knowledge Enhanced Pre-training for Language Understanding and Generation

2.1. ERNIE 3.0的设计思路

自回归模型(Autoregressive Model, AR),通过预计一串文本序列的生成概率分布进行建模。一般而言,AR模型通过要么从前到后计算文本序列概率,要么从后向前计算文本序列概率,但不管哪种形式的建模,都是单向的。即在预测一个单词的时候无奈同时看到该单词地位两边的信息。假如给定的文本序列$x=(x_1, x_2, ..., x_n)$,其从左到右的序列生成概率为:

$$p(x)=\prod_{t=1}^n p(x_t|x_{<t})$$

自编码模型(Autoencoding Model, AE), 通过从毁坏的输出文本序列中重建原始数据进行建模。例如BERT通过预测【mask】地位的词重建原始序列。它的长处在于在预测单词的时候可能同时捕捉该单词地位前后双向的信息;它的毛病是预训练过程中采纳了mask单词的策略,然而微调阶段并没有,因而导致了预训练阶段和微调阶段的的GAP,另外在训练过程中,对不同mask单词的预测是互相独立的。假如序列中被mask的词为$w\in W_m$,未被mask的词为$w\in W_n$,则其相应的计算概率为:

$$p(x) = \prod_{w\in Wm} p(w|W_n)$$

一般而言,自回归模型在文本生成工作上体现更好,自编码模型在语言了解工作上体现更好。ERNIE 3.0借鉴此想法,在如下方面进行了改良:

  1. ERNIE 3.0同时联合了将自回归和自编码网络,从而模型在文本生成和语言了解工作体现均很好。
  2. ERNiE 3.0在预训练阶段中引入了常识图谱数据。

2.2. ERNIE 3.0的模型构造

图1 ERNIE 3.0模型构造

2.2.1 ERNIE 3.0的网络结构

连续ERNIE 2.0的语言学习思路,ERNIE 3.0同样冀望通过设置多种预工作的形式辅助模型学习语言的各方面常识,比方词法、句法、和语义信息。这些预训练任务包含自然语言生成、自然语言了解和关系抽取等领域。ERNIE 3.0冀望可能在这三种工作模式(task paradigm)中均能取得比拟好的成果,因而提出了一个通用的多模式预训练框架,这就是ERNIE 3.0,如图1所示。

ERNIE 3.0认为不同的工作模式依赖的自然语言的底层特色是雷同的,比方词法和句法信息,然而不同的工作模式须要的下层具体的特色是不同的。自然语言了解的工作往往偏向于学习语义连贯性,然而天然语义生成工作却冀望可能看见更长的上下文信息。

因而,ERNIE 3.0设计了高低两层网络结构:Universal Representation Module 和 Task-specific Representation Module。其中各个模式的工作共享Universal Representation Module,冀望其可能捕捉一些通用的根底特色; Task-specific Representation Module将去具体适配不同模式的工作(生成和了解),去抽取不同的特色。

前边提到,自回归模型在文本生成工作上体现更好,自编码模型在语言了解工作上体现更好。因而,ERNIE 3.0在下层应用了两个网络,一个用于聚焦自然语言了解,一个用于聚焦自然语言生成工作。这样做次要有两个益处:

  1. 不同工作适配更适合的网络,可能进步模型在相应工作上的体现。
  2. 在fune-tuning阶段,能够固定Universal Representation Module,只微调Task-specific Representation Module参数,进步训练效率。

2.2.2 Universal Representation Module

此局部应用Transformer-XL作为骨干网络,Transformer-XL容许模型应用记忆循环机制建模更长的文本序列依赖。在试验中,Universal Representation Module设置了比拟多的层数和参数,用以增强捕捉冀望的词法和句法底层语言特色能力。

这里须要留神的一点是,记忆循环机制只有在自然语言生成工作上会应用。

2.2.3 Task-specific 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,其中前者是一个双向编码网络,后者是个单向编码网络。

2.3. 不同类型的预训练任务

2.3.1 Word-aware Pre-training Task

  • Knowledge Masked Language Modeling

Knowledge Masking策略蕴含三个级别:token级别(Basic-Level)短语级别(Phrase-Level)实体级别(Entity-Level)。通过对这三个级别的对象进行 Masking,进步模型对字词、短语的常识了解。

图2展现了这三个级别的Masking策略和BERT Masking的比照,显然,Basic-Level Masking 同BERT的Masking一样,随机地对某些单词(如 written)进行Masking,在预训练过程中,让模型去预测这些被Mask后的单词;Phrase-Level Masking 是对语句中的短语进行masking,如 a series of;Entity-Level Masking是对语句中的实体词进行Masking,如人名 J. K. Rowling。

图2 ERNIE和BERT的Masking策略比照

  • Document Language Modeling

ERNIE 3.0 抉择应用传统的语言模型作为预训练任务,冀望减小模型的语言困惑度。同时采纳了ERNIE-Doc中提出的记忆循环机制,以建模更长的序列依赖。

2.3.2 Structure-aware Pre-training Tasks

  • Sentence Reordering Task

将给定的文档顺次划分为1-m段,而后打乱这些段,让模型对这些段进行排序,是个k分类问题,这可能帮忙模型学习语句之间的关系。

将文档划分为2段,那么排列组合后将有 $2!$ 个可能;将文档划分为3段,那么排列组合后将有 3! 个可能;顺次类推,将文档划分为 n 段,那么排列组合后将有 n! 个可能。因而ERNIE将这个工作建模成了一个 k 分类问题,这里 $k=\sum_{n=1}^m n!$。

  • Sentence Distance Task

预测两个句子之间的间隔,是个3分类工作。对应的Label顺次是0、1和2。其中0代表两个句子在同一篇文章中,并且他们是相邻的;1代表两个句子在同一篇文章中,但他们不是相邻的;2代表两个句子不在同一篇文章中。

2.3.3 Knowledge-aware Pre-training Tasks

为了向预训练模型中引入常识,ERNIE 3.0 尝试在预训练阶段引入了universal knowledge-text prediction(UKTP)工作,如图3所示。

给定一个三元组<head, relation, tail>和一个句子,ERNIE 3.0会mask掉三元组中的实体关系relation,或者句子中的单词word,而后让模型去预测这些内容。当预测实体关系的时候,模型不仅须要思考三元组中head和tail实体信息,同时也须要依据句子的上下文信息来决定head和tail的关系,从而帮忙模型来了解常识。

这个操作基于近程监督的假如:如果一个句子中同时呈现head和tail两个实体,则这个句子可能表白这两个实体的关系。

另外,当预测句子中的单词word时,模型不仅须要思考句子中的上下文信息,同时还能够参考三元组<head, relation, tail>的实体关系。

图3 universal knowledge-text prediction

  • 相干材料
  1. ERNIE 3.0: LARGE-SCALE KNOWLEDGE ENHANCED PRE-TRAINING FOR LANGUAGE UNDERSTANDING AND GENERATION
  2. ERNIE-DOC: A Retrospective Long-Document Modeling Transformer

3.ERNIE-Gram: Pre-training with Explicitly N-Gram Masked language Modeling for Natural Language Understanding

3.1. ERNIE-Gram简介

在经典预训练模型BERT中,次要是通过Masked Language Modeling(MLM)预训练任务学习语言常识。在BERT中MLM会随机Masking一些地位的token,而后让模型去预测这些token。这些Masking的token在中文中便是,在英文中便是sub-word,这样的预测兴许不能让模型获取更加直观的语言常识,所以后续又呈现了一些模型,比方ERNIE, SpanBERT等,其从Masking单个字转变成了Masking一系列间断的token,例如Masking实体词,Masking短语等,即从细粒度的Masking转向粗粒度的Masking。

ERNIE-Gram指出一种观点:这种间断的粗粒度Masking策略会疏忽信息外部的相互依赖以及不同信息之间的关联。因而,基于这种想法进行改良,提出了一种显式建模n-gram词的办法,即间接去预测一个n-gram词,而不是预测一系列间断的token,从而保障n-gram词的语义完整性。

另外,ERNIE-Gram在预训练阶段借鉴ELECTRA想法,通过引入一个生成器来显式地对不同n-gram词进行建模。具体来讲,其利用生成器模型去采样正当的n-gram词,并用这些词去mask原始的语句,而后让模型去预测这些地位原始的单词。同时还应用了RTD预训练任务,来辨认每个token是否是生成的。

3.2. ERNIE和N-Gram的融入形式

上边咱们提到了,不同于间断多个token的预测,ERNIE-GRAM采纳了一种显式的n-gram形式进行建模,在本节咱们将展开讨论ERNIE和显式的n-gram交融建模的形式。ERNIE-Gram次要提出了两种交融形式:Explictly N-gram MLM 和 Comprehensive N-gram Prediction。

在正式介绍之前,咱们先回顾一下经典的间断token的建模形式:Contiguously MLM,而后再正式介绍以上ERNIE-Gram提出的两种形式。

3.2.1 Contiguously MLM

给定一串序列$x=\{x_1, x_2, ..., x_{|x|}\}$ 和 n-gram起始边界序列(starting boundaries)$b=\{b_1, b_2, ..., b_{|b|}\}$,依据$x$和$b$进行如下约定:

  • $z=\{z_1, z_2,..., z_{|b|-1}\}$:由$x$转换成的n-gram序列。
  • $M=\{\}$:从起始边界$b$中随机抉择15%的筹备Masking的index,组成$M$
  • $z_M$:由$M$抉择出的相应的token集
  • $z_{\text{\\}M}$: 示意将$x$进行Masking后的序列

图1展现了一个Contiguously MLM的例子,给定的序列为$x=\{x_1,x_2,x_3,x_4,x_5,x_6\}$, 起始边界序列为$b=\{1,2,4,5,6,7\}$, 假如从起始边界序列$b$的随机抉择的索引为$M=\{2,4\}$, 则

  • $z=\{x_1, x_{[2:4)}, x_4, x_5, x_6\}$
  • $z_M = \{x_{[2:4)}, x_5\}$
  • $z_{\text{\\}M}=\{x_1,\text{[M]} , \text{[M]}, x_4, \text{[M]}, x_6\}$

Contiguously MLM 可通过如下形式进行优化:

$$\begin{split} -\text{log} p_{\theta}(z_M|z_{\text{\\}M}) = -\sum_{z \in z_M} \sum_{x \in z} \text{log}\; p_{\theta}(x|z_{\text{\\}M}) \end{split}$$

图1 contiguously MLM

在探讨完间断的token Masking策略之后,上面咱们将持续探讨ERNIE-Gram中提出的两种显式n-gram的建模形式。

3.2.2 Explicitly N-gram Masked Language Modeling

在间断token预测中, 须要预测屡次,每次预测一个token,直到实现这一段间断token的所有预测,才示意实现了一个实体词或者短语。不同于间断token预测, 显式的N-gram预测间接去预测一个n-gram词,即站在一种粗粒度的角度上进行预测。

如图2为所示,假如$y=\{y_1,y_3, ..., y_{|b|-1}\}$为显式的n-gram序列,$y_M=\{y_2, y_4\}$为随机抉择的Masking token, 则Masking后的残缺序列为$\bar {z}_{\text{\\M}}=\{x_1, \text{[M]}, x_4, \text{[M]}, x_6\}$。

Explicitly N-gram Masked Language Modeling可通过如下形式进行优化:

$$\begin{split} -\text{log}p_{\theta}(y_M|z_{\text{\\}M}) = -\sum_{y \in y_M} \text{log} \; p_{\theta}(y|\bar{z}_{\text{\\}M}) \end{split}$$

图2 Explicitly N-gram MLM

3.2.3 Comprehensive N-gram Prediction

通过以上探讨可知,Contiguously MLM是从细粒度角度进行预测间断token, Explicitly N-gram MLM是从粗粒度角度进行预测n-gram token, 而本节介绍的Comprehensive N-gram是一种交融细粒度和粗粒度的预测形式,其将更加全面地进行建模。其优化的指标函数为以上两种形式的交融,这里须要留神这两种形式是基于对立的上下文$\bar{z}_{\text{\\}M}$进行预测:

$$\begin{split} -\text{log} \; p_{\theta}(y_M, z_M|\bar{z}_{\text{\\}M}) = -\sum_{y \in y_M} \text{log} \; p_{\theta}(y|\bar{z}_{\text{\\}M})-\sum_{z \in z_M} \sum_{x \in z} \text{log}\; p_{\theta}(x|\bar{z}_{\text{\\}M}) \end{split}$$

图3a展现了细粒度和粗粒度预测的具体交融形式,其将细粒度的预测地位间接拼接到了序列的开端,图中以虚线宰割。其中虚线以左是Explictly N-gram的粗粒度预测,虚线以右是Contiguously MLM的细粒度预测。以$y_2$地位为例,因为其蕴含两个token,所以细粒度预测须要预测2次(论文中这两个地位应用了$M_1$和$M_2$这两个不同的token进行Masking)。

此时,整个文本序列为:$[x_1, \text{[M]}, x_4, \text{[M]}, x_6, \text{[M1]}, \text{[M2]}, \text{[M1]}]$, 为了在Self-Attention时不造成信息的凌乱,ERNIE-Gram约定:

  • 虚线以左的 Explicitly N-gram MLM 粗粒度预测,即在预测$y_2$和$y_4$时,只能看见虚线以左的token。
  • 虚线当前的Contiguously MLM细粒度预测,即在预测$x_2,x_3$和$x_5$时,只能看见本人以及虚线以左的token。

图3b展现了其计算时的Attention矩阵,其中红色点示意互相可能看见,在Self-Attention计算时,互相的信息须要融入。

图3 Comprehensive N-gram Prediction

3.3. 应用生成器显式建模N-gram Relation

为了更加显式地建模不同n-gram之间的关系,在预训练阶段,ERNIE-Gram借鉴了Electra的思路,应用一个生成器去生成一个地位的n-gram词,并且用这个n-gram词去mask该地位的n-gram token。

如图4所示,Transformer Encoder ${\theta}^{'}$便是生成器,图4b展现了应用生成的n-gram token去mask原始句子token的一个样例,ERNIE-Gram依据数据Masking地位的词散布采样了public official和completely去替换了原始语句词,即

  • 原始语句:the prime minister proposed nothing less than a overhaul of the tax system.
  • Masking语句:the public official proposed completely a overhaul of the tax system.

而后将Masking语句传入Transformer Encoder $\theta$中进行训练。

图4 Enhanced N-gram Relation Modeling

假如$y_M^{'} = \{ y_2^{'}, y_4^{'}\}$示意生成的n-gram项, $\bar{z}^{'}_{\text{\\}M} = \{x_1, y_2^{'}, x_4, y_4^{'},x_6\}$示意用生成n-gram项Masking后的序列,则联结的预训练指标函数为:

$$\begin{split} -\text{log} \; p_{\theta^{'}}(y_M|\bar{z}_{\text{\\}M ^{'}} ) - \text{log}\; p_{\theta}(y_M, z_M|\bar{z}_{\text{\\}M ^{'}} ) \end{split}$$

另外,ERNIE-Gram融入了the replaced token detection (RTD)工作,用于辨认这些token是否是被生成器替换的token。假如$\hat{z}^{'}_{\text{\\}M } = \{x_1, y_2, x_4, y_4,x_6\}$为实在指标n-gram词替换后的序列,则RTD的指标函数为:

$$\begin{split} \begin{align} &-\text{log} \; p_{\theta}(\mathbb{1}(\bar{z}^{'}_{\text{\\}M} = \hat{z}_{\text{\\}M} |\bar{z}^{'}_{\text{\\}M}) \\ &= - \sum_{t=1}^{|\hat{z}_{\text{\\}M}|} \text{log}\; p_{\theta}(\mathbb{1}(\bar{z}^{'}_{\text{\\}M,t} = \hat{z}_{\text{\\}M,t} |\bar{z}^{'}_{\text{\\}M,t}) \end{align} \end{split}$$

  • 相干材料

    1. ERNIE-Gram: Pre-training with Explicitly N-Gram Masked language Modeling for Natural Language Understanding
    2. ERNIE-Gram github