论文:MPNet: Masked and Permuted Pre-training for Language Understanding翻译笔记(MPNet: 遮盖和排列预训练用于语言理解)


在这里插入图片描述

论文标题:MPNet: 遮盖和排列预训练用于语言理解

论文链接:https://arxiv.org/abs/2004.09297
arXiv:2004.09297v2 [cs.CL] 2 Nov 2020

摘要

BERT采用了遮盖语言模型(MLM)进行预训练,是迄今为止最成功的预训练模型之一。由于BERT忽略了预测标记之间的依赖关系,XLNet引入了排列语言模型(PLM)进行预训练以解决此问题。然而,XLNet并没有充分利用句子的完整位置信息,因此在预训练和微调之间存在位置差异。在这篇论文中,我们提出了一种新的预训练方法MPNet,它继承了BERT和XLNet的优点,并避免了它们的局限性。MPNet通过利用预测标记之间的依赖关系来提高模型性能,方法是使用 permuted language modeling(与BERT中的MLM不同),并输入辅助位置信息以便让模型看到整个句子,从而减少位置差异(与XLNet中的PLM不同)。我们在大规模数据集(超过160GB的文本语料库)上预训练MPNet,并在各种下游任务(如GLUE、SQuAD等)上进行微调。实验结果显示,MPNet在很大程度上超过了MLM和PLM,并且在这些任务上比以前的最先进的预训练方法(例如BERT、XLNet、RoBERTa)取得了更好的结果,所有这些都在相同的模型设置下进行。代码和预训练模型可以在以下网址找到:https://github.com/microsoft/MPNet

1 介绍

预训练语言模型[1-8]在近年来极大地提高了NLP任务的准确性。其中最成功的模型之一是BERT[2],它主要采用遮盖语言建模(MLM)进行预训练。MLM有效地利用了被遮盖的标记的双向上下文信息,但忽略了这些被遮盖(即将被预测)标记之间的依赖关系[5]。

为了改进BERT,XLNet[5]引入了排列语言建模(PLM)进行预训练,以捕捉预测标记之间的依赖关系。然而,PLM有其自身的限制:在自回归预训练过程中,每个标记只能看到其前面的标记,但不知道整个句子(例如,乱序句子中未来标记的位置信息)中的位置信息,这导致了预训练和微调之间的差异。请注意,在预测一个被遮盖的标记时,BERT可以获取句子中所有标记的位置信息。

在这篇论文中,我们发现MLM(Masked Language Model)和PLM(Permutation Language Model)可以在一个统一的观点下,即将序列中的标记分为非预测部分和预测部分。在这个统一观点下,我们提出了一种新的预训练方法——掩码和排列语言建模(简称MPNet),它解决了MLM和PLM中的问题,同时继承了它们的优点:1) 通过使用乱序语言建模,它考虑了预测标记之间的依赖关系,从而避免了BERT的问题;2) 它将所有标记的位置信息作为输入,使模型能够看到所有标记的位置信息,从而减轻了XLNet的位置差异。

我们按照[5, 7]中的做法,在大规模文本语料库(超过160GB的数据)上对MPNet进行预训练,并在各种下游基准任务上进行微调,包括GLUE、SQuAD、RACE和IMDB。实验结果显示,MPNet在预测性能上大大超过了MLM和PLM,这表明1)建模预测标记之间的依赖关系的有效性(MPNet与MLM的对比),以及2)完整句子位置信息的重要性(MPNet与PLM的对比)。此外,MPNet在相同模型设置下比以往知名的BERT、XLNet和RoBERTa模型在GLUE开发集上分别提高了4.8、3.4和1.5个点,表明MPNet在语言理解方面具有巨大的潜力。

2 MPNet

2.1 背景

预训练方法的关键[1, 2, 4, 5, 10]是为模型训练设计自监督任务/目标,以利用大量的语言语料库进行语言理解和生成。对于语言理解,BERT[2]中的掩码语言建模(MLM)和XLNet[5]中的乱序语言建模(PLM)是两个代表性的目标。在本节中,我们将简要回顾MLM和PLM,并讨论它们的优点和缺点。

BERT中的多级联销售 BERT[2]是自然语言理解中最成功的预训练模型之一。它采用Transformer[11]作为特征提取器,并引入了遮盖语言模型(MLM)和下一句预测作为训练目标,以学习双向表示。具体来说,对于给定的句子x=(x1,x2,…,xn),MLM随机遮盖15%的标记,并将它们替换为一个特殊符号[M]。将K表示为遮盖位置的集合,xK表示为被遮盖的代币集合,x\K表示为遮盖后的句子。如图1(a)左侧所示的例子,K = {2, 4},xK= {x2, x4},x\K = (x1, [M], x3, [M], x5)。MLM通过最大化以下目标函数对模型θ进行预训练:
在这里插入图片描述
XLNet中的PLM(永久语言模型)被提出,以保留自回归建模的优势,同时允许模型捕捉双向上下文。对于给定长度为n的句子x=(x1,x2,…,xn),有n!种可能的排列方式。记Zn为集合{1,2,…,n}的n的排列。对于一个排列z属于Zn,记zt为z中的第t个元素,z<t为z中的前t-1个元素。如图1(b)右侧的示例所示,z=(1,3,5,2,4),如果t=4,那么zt=2,xzt=x2,zt={1,3,5}。PLM通过最大化以下目标函数来预训练模型θ:
在这里插入图片描述
在这个描述中,c代表没有预测到的标记数量,xz≤c。在实际应用中,我们只选择一部分最后的标记xz>c(通常是c=85%乘以n)来进行预测,而剩下的标记则作为条件来降低优化的难度[5]。

MLM和PLM的优缺点 我们从两个角度比较MLM和PLM:预测(输出)令牌的依赖性和预训练与微调之间输入句子的一致性。

  • 输出依赖性:如方程1所示,MLM假设被遮盖的标记彼此独立,并分别预测它们,这不足以模拟自然语言中的复杂上下文依赖关系[5]。相比之下,PLM以任意顺序使用乘法规则对预测标记进行因式分解,如方程2所示,它避免了MLM中的独立性假设,并能更好地模拟预测标记之间的依赖关系。
  • 输入一致性:在下游任务的微调过程中,模型可以看到整个输入句子。为了保证预训练和微调之间的一致性,模型应该在预训练期间尽可能多地获取到整个句子的信息。在MLM中,尽管一些代币被遮盖,但它们的位置信息(即位置嵌入)对于模型来说是可用的,以便部分地表示整个句子的信息(一个句子中有多少个代币,即句子的长度)。然而,在PLM中,每个预测的标记只能看到其前面的标记,而不知道整个句子的位置信息。这在自回归预训练期间带来了预训练和微调之间的差异。

如所看到的,PLM在利用输出依赖方面优于MLM,但在预训练和微调一致性方面较差。那么一个自然的问题就产生了:我们能否在继承MLM和PLM优点的同时,解决它们的问题呢?

2.2 统一看待MLM和PLM

为了解决上述问题并继承MLM和PLM的优势,本节提供了一个统一的观点来理解这两种方法。BERT和XLNet都以Transformer[11]作为其基础。Transformer将标记和它们的位置作为输入,并且对这些标记的绝对输入顺序不敏感,只要每个标记与其在句子中的正确位置相关联即可。

这段文字启发我们提出一个统一的观点来解释MLM和PLM,即将令牌重新排列和分割为非预测部分和预测部分,如图1所示。对于图1(a)中的MLM,左侧的输入等于先对序列进行排列,然后在右侧的最右边的代币上打码(如图中所示,x1、x3、x5、x2、x4的序列中,x2和x4被打码)。对于图1(b)中的PLM,序列(x1,x2,x3,x4,x5)首先被排列成(x1,x3,x5,x2,x4),然后选择最右边的标记x2和x4作为预测标记,如右侧所示,这等于左侧。也就是说,在这个统一的观点中,非遮盖标记放在左边,而遮盖并需要预测的标记在排列后的序列的右边,适用于MLM和PLM。
在这里插入图片描述

图1:MLM和PLM的统一视图,其中xi和pi表示标记和位置嵌入。 在MLM(a)和PLM(b)的左侧是原始顺序,而在MLM(a)和PLM(b)的右侧是乱序的,并被视为统一视图。

在这个统一的观点下,我们可以将方程式1中的MLM(多层感知机)的目标重写为:
在这里插入图片描述
在此,我们表示Mz>c是位置z>c中的两个掩码标记[M]。如图1(a)所示的例子,n=5,c=3,xz<=c=(x1,x3,x5),xz>c=(x2,x4)和Mz>c是位于z4=2和z5=4的两个掩码标记。我们还在这里放了从方程2得出的PLM的目标。

在这里插入图片描述
从方程3和4中,在这种统一的观点下,我们发现MLM和PLM在数学表达式上具有相似性,但在P(xzt|·;θ)的条件部分存在微小差异:MLM在xz<=c和Mz>c的条件下进行,而PLM则在xz<t的条件下进行。在下一小节中,我们将描述如何修改条件部分以解决MLM和PLM的问题,并继承它们的优势。

2.3 我们提出的方法

图2展示了我们提出的MPNet的关键思想。MPNet的训练目标是:

在这里插入图片描述

在这里插入图片描述

图2:(a) MPNet的结构。(b) MPNet的注意力掩码。(a)中的浅灰色线条代表非预测部分(xz≤c,Mz>c)中的双向自注意力,即(x1, x5, x3, [M], [M], [M]),与(b)中的浅灰色注意力掩码相对应。蓝色和绿色的面具在(b)中表示两流自注意力中的内容和查询流中的注意面具,它们对应于(a)中的蓝色、绿色和黑色线条。由于内容和查询流中的一些注意面具重叠,我们在(a)中使用黑色线条表示它们。(b)中的每一行代表一个查询位置的注意面具,每一列代表一个键/值位置。预测部分xz>c=(x4,x6,x2)由查询流预测得出。

如所见,MPNet在xz<t(即当前预测的符号xzt之前的符号)条件下进行条件设置,而不是像等式3中所示的MLM那样仅在xz≤c(即非预测符号)下进行条件设置;与等式4中所示的PLM相比,MPNet将更多信息(例如,在位置z>c处的遮盖符号[M])作为输入。尽管目标看起来很简单,但实现模型的效率却具有挑战性。为此,我们在以下段落中描述了MPNet的几个关键设计。

输入令牌和位置 我们用一个例子来说明MPNet的输入令牌和位置。对于一个令牌序列x = (x1, x2, · · · , x6),长度为n = 6,我们随机地重新排列序列,得到一个排列顺序z = (1, 3, 5, 4, 6, 2) 和一个排列后的序列xz = (x1, x3, x5, x4, x6, x2)。其中,非预测部分的长度为c = 3,非预测部分是xz<=c = (x1, x3, x5),预测部分是xz>c = (x4, x6, x2)。此外,我们还在预测部分之前添加掩码标记Mz>c,从而得到新的输入标记(xz<=c,Mz>c,xz>c)=(x1,x3,x5,[M],[M],[M],x4,x6,x2)和相应的位置序列(z<=c,z>c,z>c)=(p1,p3,p5,p4,p6,p2,p4,p6,p2),如图2a所示。在MPNet中,(xz≤c, Mz>c) = (x1, x3, x5, [M], [M], [M])被视为非预测部分,而xz>c = (x4, x6, x2)则被视为预测部分。对于非预测部分(xz≤c, Mz>c),我们使用双向建模[2]来提取表示,这在图2a中的浅灰色线条中进行了说明。下一段我们将描述如何建模预测部分之间的依赖关系。

模拟输出依赖关系的双流自注意力模型 对于预测部分xz>c,由于令牌处于乱序排列,下一个预测的令牌可能出现在任何位置,这使得正常的自回归预测变得困难。为此,我们遵循PLM采用两流自我注意力[5]来自回归地预测令牌,如图3所示。在两流自注意力中,查询流只能看到之前的令牌和位置以及当前位置,但不能看到当前的令牌,而内容流可以看到所有以前和现在的令牌和位置,如图2a所示。关于两流自注意力的更多细节,请参考[5]。PLM中两流自注意力的一个缺点是,它只能看到序列中前一个位置的标记,但在自回归预训练期间并不知道整个句子的位置信息,这在预训练和微调之间产生了差异。为了解决这个限制,我们在接下来描述的位置补偿的基础上对其进行了修改。
在这里插入图片描述

图3:MPNet中使用的双流自注意力机制,其中查询流重复使用内容流中的隐藏层来计算键和值。

通过位置补偿减少输入不一致 我们提出位置补偿来确保模型能够看到整个句子,这更符合下游任务。如图2b所示,我们精心设计查询和内容流的注意力掩码,以确保每一步都能看到n个令牌,其中n是原始序列的长度(在上述示例中,n=6)。例如,在预测标记xz5=x6时,原始两流注意力[5]中的查询流将掩码标记Mz5=[M]和位置pz5=p6作为注意力查询,并且只能在内容流中看到先前的标记xz<5=(x1,x3,x5,x4)和位置pz<5(p1,p3,p5,p4),但无法看到位置pz>=5=(p6,p2),因此错过了整个句子的信息。根据我们的位置补偿,如图2b中的查询流的倒数第二行所示,查询流可以看到附加的标记Mz>=5 = ([M], [M])和位置pz>=5 = (p6, p2)。内容流中的位置补偿遵循与图2b中类似的思路。通过这种方式,我们可以大大减少预训练和微调之间的输入不一致性。

2.4 讨论

MPNet相比BERT和XLNet的主要优势在于,在预测被遮盖的标记时,它基于更多的信息进行条件判断,这导致学习到的表示更好且与下游任务的差异更小。

如表1所示,我们以一个句子[The, task, is, sentence, classification]为例,比较MP-Net/MLM(BERT)/PLM(XLNet)的条件信息。假设我们对两个词[sentence, classification]进行预测遮盖。如所看到的,当预测一个被遮盖的词时,MP-Net 会根据所有位置信息来捕捉句子的全局视图(例如,模型知道有两个缺失的令牌需要预测,这有助于预测两个令牌“句子分类”而不是三个令牌“句子对分类”)。请注意,PLM没有这种信息。此外,为了更好地预测一个词,MPNet在所有前面的标记上进行条件设置,包括被遮盖和预测的标记,以便更好地上下文建模(例如,给定前一个标记“句子”,模型可以更好地预测“分类”,而不是像预测“问题回答”那样预测“回答”)。相比之下,MLM不考虑其他被遮盖的标记。
在这里插入图片描述

表1:一个示例句子“任务是句子分类”,以说明MLM、PLM和MPNet的条件信息。

根据上述示例,我们可以得出表2,它显示了在每个预训练目标中,平均使用了多少条件信息来预测一个被遮盖的代币。我们假设所有三个目标都按照BERT[2]和XLNet[5]3中的常见做法,遮盖并预测相同数量的代币(15%)。如所见,MLM在85%的代币和100%的位置上进行条件设置,因为被遮盖的代币包含位置信息;PLM在所有85%未遮盖的代币和位置以及15%/2=7.5%的遮盖代币和位置上进行条件设置,总共为92.5%的代币和位置。MPNet在92.5%的代币上进行条件设置,类似于PLM,同时像MLM一样在100%的位置上进行条件设置,这得益于位置补偿。
在这里插入图片描述

表2:在MLM、PLM和MPNet中,输入信息(标记和位置)的利用率百分比,假设它们预测的数量相同(15%)。

总之,MPNet在预测被遮盖的令牌时利用了最多的信息。一方面,MPNet可以利用更多的信息来学习更好的表示;另一方面,对于下游语言理解任务(例如,句子分类任务),MPNet模型可以获得输入句子的100%令牌和位置信息,因此与这些任务的不一致程度最小。

3 实验和结果

3.1 实验设置

我们在BERT基础设置(BERTBASE)[2]下进行实验,其中模型由12个转换器层组成,具有768个隐藏大小,12个注意力头,总共有1.1亿个模型参数。对于MPNet的预训练目标,我们按照PLM[5]的方式随机排列句子,选择最右侧的15%的标记作为预测标记,并按照BERT[2]中相同的8:1:1替换策略准备掩码标记。此外,我们还在模型预训练中应用了整词掩码[12]和相对位置编码[13]6,因为这些技巧在以前的工作[5, 14]中已经成功验证过。

对于预训练语料库,我们遵循RoBERTa[7]中使用的数据,其中包括Wikipedia和BooksCorpus[15],OpenWebText[16],CC-News[17]和Stories[18],总数据量为160GB。我们使用BERT[2]中的30K BPE代码子词典对句子进行分词。按照以前的做法[17,9],我们将每个批次的句子长度限制为最多512个标记,并使用8192个句子的批量大小。我们使用Adam[19]优化器,其中β1=0.9,β2=0.98和ϵ=1e-6,权重衰减设置为0.01。为了与XLNet[5]、RoBERTa[7]和ELECTRA[10]等最先进的模型相媲美,我们将我们的模型预训练50万步。我们使用32个NVIDIA Tesla 32GB V100 GPU,并使用FP16加速。整个训练过程需要35天。

在微调过程中,我们不在双流自注意力中使用查询流,并按照[5]的方式使用原始隐藏状态来提取上下文表示。对每个下游任务的微调实验进行了5次,选择中位数作为最终结果。为了进行实验比较,除非另有说明,我们主要在相同的BERTBASE设置下将MPNet与以前的最先进的预训练模型进行比较。我们还在BERT大型设置中预训练我们的MPNet,其中权重由RoBERTa大型模型初始化以节省计算。关于大型设置的培训细节和实验结果,请参阅补充材料。

3.2 在GLUE基准上的结果

通用语言理解评估(GLUE)[20]是一系列包含9个自然语言理解任务的集合,其中包括两个单句任务(CoLA [21],SST-2 [22]),三个相似性和释义任务(MRPC [23],STS-B [24],QQP)以及四个推理任务(MNLI [25],QNLI [26],RTE [27],WNLI [28])。在我们的实验中,为了与之前的工作保持一致,我们不会评估WNLI。我们遵循RoBERTa的超参数进行单任务微调,其中RTE、STS-B和MRPC从MNLI微调模型开始,以保持一致。

我们列出了MPNet和其他现有强基线的结果在表3中。所列出的所有结果都在BERTBASE设置下报告,并且来自单个模型,没有任何数据增强,以便进行公平的比较。在GLUE任务的开发集上,MPNet平均比BERT[2]、XLNet[5]和RoBERTa[7]高出4.8、3.4、1.5分。在GLUE任务的测试集上,MPNet的表现超过了ELECTRA[10],后者在多种语言理解任务上取得了以前的最佳准确度。平均而言,MPNet在语言理解方面比ELECTRA高出了0.7个百分点,证明了MPNet在语言理解方面的优势。
在这里插入图片描述

表3:在BERTBASE设置下,MPNet与先前的强预训练模型在GLUE任务的开发集和测试集上的比较。我们只列出了已发表论文中每个集合的结果。STS以Pearman相关性报告,CoLA以Matthew’s相关性报告,其他任务以准确度报告。

3.3 在问答任务(SQuAD)上的结果

斯坦福问答数据集(SQuAD)任务需要根据问题从提供的上下文中提取答案范围。我们在SQuAD v1.1[26]开发集和SQuAD v2.0[29]开发/测试集上评估我们的模型(SQuAD v1.1的测试集提交已关闭)。在SQuAD v1.1中,每个问题和相应的上下文总是存在对应的答案,而在SQuAD v2.0中,有些问题并没有对应的答案。对于v1.1版本,我们在这个预训练模型的输出上添加了一个分类层,用于预测标记是否是答案的开始或结束位置。对于v2.0版本,我们还增加了一个二元分类层,用于预测答案是否存在。

MPNet在SQuAD上的结果如表4所示。所有列出的结果都是在BERTBASE设置下报告的,来自单个模型,没有任何数据增强,以便进行公平的比较。我们注意到,MPNet在SQuAD v1.1和v2.0中都大幅度超过了BERT、XLNet和RoBERTa,这与GLUE任务上的结果一致,显示了MPNet的优势。
在这里插入图片描述

表4:在BERTBASE设置下,MPNet与之前强大的预训练模型在SQuAD v1.1和v2.0上的比较。我们只列出了已发表论文中每个集合的结果。结果以精确匹配(EM)/F1得分报告。

3.4 RACE阅读理解结果

ReAding Comprehension from Examinations(RACE)[30]是一个从初中和高中学生的英语考试中收集的大型数据集。 在RACE中,每篇文章有多个问题,每个问题有四个选择项。 任务是根据给定的选择项选择正确的答案。

RACE任务的结果如表5所示。我们只能找到在维基百科和BooksCorpus(16GB数据)上预训练的BERT和XL-Net的结果。为了公平比较,我们还在16GB的数据上预训练了MPNet(在表5中标记为*)。MPNet在三个指标上大大超过了BERT和XLNet,证明了MPNet的优势。当使用默认的160GB数据对MPNet进行预训练时,可以额外获得5.7分的提升(76.1对70.4)。
在这里插入图片描述

表5:在RACE和IMDB测试集上使用BERTBASE设置的结果。“中等”和“高等”分别表示在RACE中学组和高中组的准确率。对于IMDB,“*”表示仅在维基百科和BooksCorpus(16GB大小)上进行预训练。

3.5 在IMDB上的结果

我们进一步在IMDB文本分类任务[31]上研究MPNet,该任务包含超过50,000部电影评论,用于二元情感分类。结果如表5所示。可以看出,使用Wikipedia和BooksCorpus(16GB数据)训练的MPNet比BERT和PLM(XLNet)分别高出0.6和0.1个百分点。当使用160GB数据进行预训练时,MPNet实现了额外的0.4个百分点的提升。

3.6 消融研究

我们进一步进行消融研究,以分析MPNet中的几个设计选择,包括向MLM引入预测标记之间的依赖关系,向PLM引入位置补偿等。结果如表6所示。我们有以下几个观察:

  • 在移除位置补偿后,MPNet 退化为 PLM,其在下游任务中的准确度下降了0.6-2.3个百分点。这表明位置补偿的有效性以及 MPNet 相比于 PLM 的优势。
  • 在移除排列操作但仍然保持预测标记之间的依赖关系,通过两流注意力(即MLM+输出依赖)时,准确度仅下降了0.5-1.7个百分点。这验证了 MPNet 中使用的排列的好处。
  • 如果同时去掉排列和输出依赖性,MPNet退化为MLM,其准确度下降了0.5-3.7个百分点,这表明了MPNet相对于MLM的优势。

在这里插入图片描述

表6:在SQuAD任务(v1.1和v2.0)和GLUE任务(MNLI和SST-2)的开发集上,对MPNet进行BERTBASE设置下的消融研究。消融研究中的所有实验都在Wikipedia和BooksCorpus(16GB大小)上进行了1M步的预训练,每批256个句子,每个句子最多包含512个词。

4 结论

在这篇论文中,我们提出了一种名为MPNet的新型预训练方法,它解决了BERT中的MLM问题和XLNet中的PLM问题。MPNet通过使用乱序语言建模来利用预测标记之间的依赖关系,并使模型能够查看辅助位置信息以减少预训练和微调之间的差异。在各种任务上的实验表明,MPNet 比 MLM 和 PLM 以及之前的强大预训练模型(如 BERT、XLNet、RoBERTa)有更大的优势。未来,我们计划将 MPNet 扩展到其他更先进的结构,并将其应用于更多多样化的语言理解任务。

更广泛的影响

在自然语言处理中,预训练模型取得了迅速的进步,提出了许多预训练方法。在积极影响方面,MPNet可以帮助人们重新思考当前流行的预训练方法(即BERT中的MLM和XLNet中的PLM),从而激励未来的研究者探索更先进的预训练方法。当前,预训练模型被认为是功能最强大的工具,帮助机器在一系列NLP任务中获得惊人的表现。预训练模型的最终目标是让机器像人类一样理解自然语言,这是朝着人工智能方向迈出的重要一步。关于负面影响,预训练模型通常具有较大的模型规模和训练成本,这使得在研究和产品中使用过于昂贵。未来,我们将开发更多轻量级和低成本的预训练模型。

A 预训练超参数

预训练的超参数如表7所示。对于BERTLARGE,我们的模型通过RoBERTaLARGE进行初始化以节省计算资源,同时禁用相对位置嵌入和整个词掩码,以保持与RoBERTa设置的一致性。我们还应用了一个较小的学习率(5e-5)用于持续训练,因为该模型已经经过了很好的优化。
在这里插入图片描述

表7:BERTBASE和BERTLARGE设置的预训练超参数。

B 微调超参数

微调超参数如表8所示。

在这里插入图片描述

表8:RACE、SQuAD和GLUE的微调超参数。

C MPNet在大型设置上的表现

我们使用RoBERTaLARGE的初始化在大型设置上预训练我们的MPNet,以节省计算资源。在表9中报告了MPNet在BERTLARGE设置上的结果。从表9中,我们发现我们的MPNet在平均得分上超过了RoBERTa[7]0.5个百分点。由于这只是为了快速验证而预训练的10万步,因此无法充分展示我们方法的优势。因此,我们还在从头开始准备MPNet的大规模模型,并将在完成后进行更新。
在这里插入图片描述

表9:MPNet在BERTLARGE设置下在GLUE开发集上的结果。

在我们的研究中,我们使用了一种名为MNLI初始化的方法,这种方法用于RTE、STSB和MRPC任务,以确保与RoBERTa模型的微调设置保持一致。为了进行公正的比较,我们还对这些任务进行了不使用MNLI初始化的实验,以便观察MNLI初始化的效果。结果如表10所示。从表10中,我们观察到,移除MNLI初始化仅略微降低了在RTE和MRPC上的性能,但平均得分仍然优于ELECTRA。
在这里插入图片描述

表10:在测试集上RTE、STS-B和MRPC的结果,不使用MNLI初始化。"- MNLI-init"表示禁用MPNet中的MNLI初始化。"GLUE"表示所有GLUE任务的平均得分。

E 训练效率

为了进一步证明我们方法的有效性,我们还研究了我们的MPNet相对于其他先进方法的训练效率。比较结果如表11所示。与XLNet/RoBERTa相比,我们发现我们的方法可以在更少的计算下取得更好的性能。
在这里插入图片描述

表11:在BERTBASE设置下,不同方法的训练FLOPS比较。BERT是在16GB数据上进行训练,其他方法则是在160GB数据上进行训练。

F 更多Ablation研究

我们进一步进行了更多的实验来分析BERTBASE设置中全词遮盖和相对位置嵌入的效果。结果如表12所示,这些模型也在维基百科和BooksCorpus(16GB大小)上进行预训练,训练步骤为100万步,批量大小为256个句子,每个句子包含最多512个词汇。

在这里插入图片描述

表12:在BERTBASE设置下,对MPNet进行消融研究的实验结果,包括在SQuAD任务(v1.1和v2.0)和GLUE任务(MNLI和SST-2)的开发集上的表现。

G 训练加速比

我们介绍了一种训练技巧,通过划分注意力矩阵来加速训练过程。如图4所示,我们将注意力矩阵(原始图示在正文中的图2)根据查询和键/值来自非预测部分还是预测部分划分为4个子矩阵。更具体地说,矩阵-{A,B}的查询来自非预测部分,矩阵-{C,D}的查询来自预测部分,矩阵-{A,C}的键/值来自非预测部分,矩阵-{B,D}的键/值来自预测部分。我们发现矩阵B对我们的模型训练没有用处。因此,在计算内容流时,我们只考虑矩阵-{A, C, D},这将在整个训练过程中节省近10%的计算量。
在这里插入图片描述

图4:MPNet内容流的注意力掩码矩阵。更多细节可以参考主论文中的图2。

  • 27
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值