关于人工智能:深度学习进阶篇国内预训练模型5ERINEERNIE-30ERNIE的设计思路模型结构应用场景等详解

39次阅读

共计 9665 个字符,预计需要花费 25 分钟才能阅读完成。

深度学习进阶篇 - 国内预训练模型[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
正文完
 0