美文网首页
ELECTRA:作为鉴别器而非生成器的预训练文本编码器

ELECTRA:作为鉴别器而非生成器的预训练文本编码器

作者: Valar_Morghulis | 来源:发表于2023-02-12 18:18 被阅读0次

    ELECTRA: Pre-training Text Encoders as Discriminators Rather Than Generators

    https://arxiv.org/abs/2003.10555

    https://openreview.net/forum?id=r1xMH1BtvB

    掩码语言建模(MLM)预训练方法(如BERT)通过用[MASK]替换一些令牌来破坏输入,然后训练模型以重建原始令牌。虽然它们在迁移到下游NLP任务时产生了良好的结果,但它们通常需要大量的计算才能有效。作为替代方案,我们提出了一种更样本高效的预训练任务,称为替换令牌检测。我们的方法不是掩码输入,而是通过用从小型生成器网络采样的可信替代品替换一些令牌来破坏输入。然后,我们训练一个判别模型,预测损坏输入中的每个令牌是否被生成器样本替换,而不是训练一个预测损坏令牌的原始身份的模型。彻底的实验表明,这种新的预训练任务比MLM更有效,因为该任务是在所有输入令牌上定义的,而不仅仅是被掩码掉的小子集。因此,在相同的模型大小、数据和计算条件下,通过我们的方法学习的上下文表示显著优于通过BERT学习的上下文表达。小型车型的收益尤其强劲;例如,我们在一个GPU上训练一个模型4天,该模型在GLUE自然语言理解基准上的表现优于GPT(使用30倍以上的计算进行训练)。我们的方法在规模上也很好,它的性能与RoBERTa和XLNet相当,但使用的计算量不到它们的1/4,并且在使用相同数量的计算量时性能优于它们。

    1简介

    当前最先进的语言表示学习方法可以被视为学习去噪自动编码器(Vincent等人,2008)。他们选择未标记输入序列的一小部分(通常为15%),掩码这些令牌的身份(例如,BERT;Devlin等人(2019))或关注这些令牌(例如,XLNet;Yang等人(2019年)),然后训练网络以恢复原始输入。尽管由于学习双向表示而比传统语言模型预训练更有效,但这些掩码语言建模(MLM)方法产生了大量的计算成本,因为网络每个示例仅从15%的令牌中学习。

    作为替代方案,我们提出了替换令牌检测,这是一项预训练任务,在该任务中,模型学习区分真实输入令牌和可信但合成生成的替换。我们的方法不是掩码,而是通过用提案分发中的样本替换一些令牌来破坏输入,提案分发通常是小型掩码语言模型的输出。这种破坏过程解决了BERT中的不匹配(虽然在XLNet中没有),其中网络在预训练期间看到人工[MASK]令牌,但在对下游任务进行微调时没有。然后,我们将网络预训练为鉴别器,该鉴别器预测每个令牌是原始令牌还是替换令牌。相反,MLM将网络训练为一个生成器,用于预测损坏令牌的原始身份。我们的区分性任务的一个关键优势是,模型从所有输入令牌中学习,而不仅仅是小的掩码子集,从而提高了计算效率。尽管我们的方法让人联想到训练GAN的鉴别器,但我们的方法不是对抗性的,因为由于难以将GAN应用于文本,产生损坏令牌的生成器以最大的可能性进行训练(Caccia等人,2018)。

    我们将我们的方法称为ELECTRA1,以“高效地学习准确分类令牌替换的编码器”。与之前的工作一样,我们将其应用于预训练Transformer文本编码器(Vaswani等人,2017),可对下游任务进行微调。通过一系列消融,我们发现从所有输入位置学习都会使ELECTRA比BERT训练更快。我们还表明,ELECTRA在经过充分训练后,在下游任务上实现了更高的精度。

    大多数当前的预训练方法需要大量的计算才能有效,这引发了人们对其成本和可访问性的担忧。由于具有更多计算的预训练几乎总是导致更好的下游精度,我们认为预训练方法的一个重要考虑因素应该是计算效率以及绝对下游性能。从这个角度来看,我们训练各种大小的ELECTRA模型,并评估其下游性能与计算需求。特别是,我们对GLUE自然语言理解基准(Wang等人,2019)和SQuAD问答基准(Rajpurkar等人,2016)进行了实验。在相同的模型大小、数据和计算条件下,ELECTRA大大优于基于MLM的方法,如BERT和XLNet(见图1)。例如,我们构建了一个ELECTRA Small模型,该模型可以在4天内在1个GPU上进行训练。2 ELECTRA Small在GLUE上的表现优于相对较小的BERT模型5个点,甚至优于更大的GPT模型(Radford等人,2018)。我们的方法在大规模上也很有效,我们训练了一个ELECTRA大型模型,该模型的性能与RoBERTa(Liu等人,2019)和XLNet(Yang等人,2019年)相当,尽管参数较少,使用了1/4的计算进行训练。训练ELECTRA Large进一步产生了一个更强大的模型,该模型在GLUE上优于ALBERT(Lan等人,2019),并为SQuAD 2.0设置了新的最先进水平。总之,我们的结果表明,与现有的语言表示学习生成方法相比,区分真实数据和具有挑战性的负样本的区分任务更具计算效率和参数效率。

    2方法

    我们首先描述替换令牌检测预训练任务;如图2所示。我们在第3.2节中建议并评估了该方法的几个建模改进

    我们的方法训练两个神经网络,一个生成器G和一个鉴别器D。每个神经网络主要由一个编码器(例如,Transformer网络)组成,该编码器将输入令牌x=[x1,…,xn]上的序列映射成一个上下文化向量表示h(x)=[h1,…,hn]的序列。对于给定的位置t(在我们的情况下,只有xt=[MASK]的位置),生成器输出生成具有softmax层的特定令牌xt的概率:

    其中e表示令牌嵌入。对于给定位置t,鉴别器预测令牌xt是否“真实”,即它来自数据而不是生成器分布,具有S形输出层:

    生成器被训练为执行掩码语言建模(MLM)。给定输入x=[x1,x2,…,xn],MLM首先选择一组随机位置(介于1和n之间的整数)来掩码m=[m1,…,mk]。3所选位置中的标记被[MASK]标记替换:我们将其表示为x MASK=REPLACE(x,m,[MASK])。然后,生成器学习预测被掩码的令牌的原始身份。鉴别器被训练为将数据中的令牌与已被生成器样本替换的令牌区分开来。更具体地说,我们通过用生成器样本替换掩码掉的令牌来创建一个损坏的示例x损坏,并训练鉴别器来预测x损坏中的哪些令牌与原始输入x匹配

    损失函数为

    虽然与GAN的训练目标相似,但有几个关键区别。首先,如果生成器恰好生成了正确的令牌,则该令牌被视为“真实”而不是“假的”;我们发现这个公式可以适度提高下游任务的结果。更重要的是,生成器以最大的可能性进行训练,而不是进行对抗性训练以愚弄鉴别器。对抗性训练生成器具有挑战性,因为不可能通过生成器的采样进行反向传播。尽管我们尝试通过使用强化学习来训练生成器(参见附录F)来规避这个问题,但这比最大似然训练表现得更差。最后,我们没有像GAN那样向生成器提供噪声矢量作为输入。

    我们将综合损失降至最低

    在原始文本的大型语料库X上。我们用一个样本来估计损失的预期值。我们不会通过生成器反向传播鉴别器损失(事实上,由于采样步骤,我们不能)。在预训练之后,我们丢弃生成器并在下游任务上微调鉴别器。

    3个实验

    3.1实验设置

    我们基于通用语言理解评估(GLUE)基准(Wang等人,2019)和斯坦福问答(SQuAD)数据集(Rajpurkar等人,2016)进行评估。GLUE包含多种任务,包括文本蕴含(RTE和MNLI)问答蕴含(QNLI)、释义(MRPC)、问题释义(QQP)、文本相似性(STS)、情感(SST)和语言可接受性(CoLA)。有关GLUE任务的更多详细信息,请参见附录C。我们的评估指标是STS的Spearman相关性、CoLA的Matthews相关性以及其他GLUE任务的准确性;我们通常报告所有任务的平均得分。对于SQuAD,我们在1.1版和2.0版上进行评估,在1.1版中,模型选择回答问题的文本范围,在2.0版中,有些问题无法通过文章回答。我们使用精确匹配(EM)和F1分数的标准评估指标。对于大多数实验,我们使用与BERT相同的数据进行预训练,BERT由来自维基百科和BooksCorpus的33亿代币组成(Zhu等人,2015)。然而,对于我们的大型模型,我们对XLNet使用的数据进行了预训练(Yang等人,2019),通过包括ClueWeb(Callan等人,2009)、CommonCrawl和Gigaword(Parker等人,2011)的数据,将BERT数据集扩展到33B代币。所有的预训练和评估都基于英语数据,尽管我们认为将来将我们的方法应用于多语言数据会很有趣。

    我们的模型结构和大多数超参数与BERT相同。为了对GLUE进行微调,我们在ELECTRA上添加了简单的线性分类器。对于SQuAD,我们在ELECTRA的基础上添加了XLNet的问答模块,该模块比BERT稍微复杂一些,因为它联合而不是独立地预测开始和结束位置,并且为SQuAD 2.0添加了“可回答性”分类器。我们的一些评估数据集很小,这意味着微调模型的精度会因随机种子的不同而有很大差异。因此,对于每个结果,我们报告了来自同一预训练检查点的10次微调运行的中值。除非另有说明,否则结果在开发集上。更多训练详情和超参数值请参见附录。

    3.2型号扩展

    我们通过提出和评估模型的几个扩展来改进我们的方法。除非另有说明,这些实验使用与BERT Base相同的模型大小和训练数据。

    权重分担

    我们建议通过在生成器和鉴别器之间共享权重来提高预训练的效率。如果生成器和鉴别器的尺寸相同,则所有Transformer的权重都可以绑定。然而,我们发现使用一个小生成器更有效,在这种情况下,我们只共享生成器和鉴别器的嵌入(令牌和位置嵌入)。在这种情况下,我们使用嵌入鉴别器隐藏状态的大小。4生成器的“输入”和“输出”令牌嵌入始终与BERT相同。

    当生成器与鉴别器大小相同时,我们比较权重绑定策略。我们训练这些模型进行500k步。无权重绑定的GLUE得分为83.6,绑定令牌嵌入的GLUE分数为84.3,绑定所有权重的GLUE评分为84.4。我们假设ELECTRA受益于绑定的令牌嵌入,因为掩码语言建模在学习这些表示时特别有效:虽然鉴别器仅更新输入中存在的或由生成器采样的令牌,但生成器在词汇表上的softmax密集地更新所有令牌嵌入。另一方面,绑定所有编码器权重几乎没有改善,同时产生了要求生成器和鉴别器大小相同的显著缺点。基于这些发现,我们在本文中使用绑定嵌入进行进一步的实验。

    较小的生成器

    如果生成器和鉴别器的大小相同,则训练ELECTRA的每一步计算量大约是仅使用掩码语言建模的训练的两倍。我们建议使用较小的生成器来降低这一因素。具体来说,我们通过减小层大小,同时保持其他超参数不变,使模型变小。我们还探索了使用一个极其简单的“unigram”生成器,该生成器根据训练语料库中的伪令牌频率对其进行采样。不同大小发生器和鉴别器的GLUE分数如图3左侧所示。所有模型都训练了500k步,这使得较小的生成器在计算方面处于劣势,因为它们每训练一步所需的计算更少。然而,我们发现,模型与鉴别器大小为1/4-1/2的发生器配合使用效果最好。我们推测,过于强大的生成器可能会给鉴别器带来太大的挑战,使其无法有效地学习。特别地,鉴别器可能必须使用其许多参数来建模生成器,而不是实际的数据分布。本文中的进一步实验使用针对给定鉴别器大小找到的最佳生成器大小。

    训练算法

    最后,我们探索了ELECTRA的其他训练算法,尽管这些算法最终没有改善结果。建议的训练目标联合训练发生器和鉴别器。我们尝试使用以下两阶段训练程序:

    1.仅用LMLM训练生成器n步。

    2.用发生器的权重初始化鉴别器的权重。然后用LDisc训练鉴别器n步,保持发生器的权重不变。

    注意,此过程中的权重初始化要求生成器和鉴别器具有相同的大小。我们发现,如果没有权重初始化,鉴别器有时会在大多数类之外根本无法学习,可能是因为生成器比鉴别器启动得早。另一方面,联合训练自然为鉴别器提供了一个课程,其中生成器开始时很弱,但在整个训练过程中会变得更好。我们还探索了在GAN中对生成器进行对抗性训练,使用强化学习来适应生成器采样的离散操作。详见附录F。

    结果如图3右侧所示。在两阶段训练中,从生成性目标转换为辨别性目标后,下游任务表现显著改善,但最终不会超过联合训练。尽管仍优于BERT,但我们发现对抗性训练的表现低于最大似然训练。进一步分析表明,这种差距是由对抗性训练的两个问题造成的。首先,对抗性生成器在掩码语言建模方面更差;与MLE训练的模型的65%准确度相比,它在掩码语言建模中实现了58%的准确度。我们认为,更差的准确性主要是由于在生成文本的大动作空间中工作时,强化学习的样本效率较差。其次,对抗训练的生成器生成低熵输出分布,其中大多数概率质量都在单个令牌上,这意味着生成器样本中没有太多的多样性。这两个问题都已在先前工作中的GAN文本中观察到(Caccia等人,2018)。

    3.3小型号

    由于这项工作的目标是提高预训练的效率,我们开发了一个可以在单个GPU上快速训练的小模型。从BERT Base超参数开始,我们缩短了序列长度(从512到128),减少了批量大小(从256到128)、减少了模型的隐藏维度大小(从768到256),并使用了更小的令牌嵌入(从768至128)。为了提供公平的比较,我们还使用相同的超参数训练BERT Small模型。我们对BERT Small进行了1.5M步的训练,因此它使用了与ELECTRA Small相同的训练FLOP,后者进行了1M步的训练。5除了BERT,我们还比较了两种基于语言建模的资源密集度较低的预训练方法:ELMo(Peters等人,2018)和GPT(Radford等人,2018年)。6我们还显示了与BERT base相当的基本大小的ELECTRA模型的结果。

    结果见表1。更多结果见附录D,包括经过更多计算训练的更强的小型和基本尺寸模型。ELECTRA Small在尺寸上表现出色,与其他使用大量计算和参数的方法相比,其GLUE得分更高。例如,它的得分比可比的BERT Small模型高5分,甚至超过了更大的GPT模型。ELECTRA Small主要针对收敛进行训练,模型训练时间更短(仅6小时),仍能达到合理的性能。虽然从较大的预训练Transformer中提取的小模型也可以获得良好的GLUE分数(Sun等人,2019b;Jiao等人,2019),但这些模型需要首先花费大量计算来预训练较大的教师模型。结果还表明,ELECTRA的强度适中;我们的基本尺寸ELECTRA模型大大优于BERT base,甚至优于BERT Large(GLUE得分为84.0)。我们希望ELECTRA以相对较少的计算实现强大结果的能力将扩大在NLP中开发和应用预训练模型的可访问性。

    3.4大型模型

    我们训练大型ELECTRA模型,以在当前最先进的预训练Transformer的大规模规模上测量替换的令牌检测预训练任务的有效性。我们的Electrolarge型号与BERT Large型号尺寸相同,但训练时间更长。特别是,我们训练了一个400k步的模型(ELECTRA-400k;大约是RoBERTa预训练计算的1/4)和一个1.75M步的(ELECTRA-1.75M;类似于RoBERTa的计算)。我们使用批量大小2048和XLNet预训练数据。我们注意到,尽管XLNet数据与用于训练RoBERTa的数据相似,但比较并不完全直接。作为基线,我们使用与ELECTRA-400K相同的超参数和训练时间来训练我们自己的BERT大型模型。

    GLUE开发集的结果如表2所示。ELECTRA-400K的性能与RoBERTa和XLNet相当。然而,训练ELECTRA-400K所需的计算量不到训练RoBERTa和XLNet所需计算量的1/4,这表明ELECTRA的样本效率增益在很大程度上保持不变。对ELECTRA进行更长时间的训练(ELECTRA-1.75M)会产生一个模型,在大多数GLUE任务中,该模型的得分超过了他们,同时仍然需要更少的训练前计算。令人惊讶的是,我们的基线BERT模型得分明显低于RoBERTa-100K,这表明我们的模型可能受益于更多的超参数调整或使用RoBERTa训练数据。ELECTRA的收益保持在GLUE测试集上(见表3),尽管由于模型采用了额外的技巧(见附录B),这些比较结果不太一致。

    SQuAD的结果如表4所示。与GLUE的结果一致,在相同的计算资源下,ELECTRA的得分优于基于掩码语言建模的方法。例如,ELECTRA-400K优于RoBERTa-100k和我们的BERT基线,后者使用了类似的训练前计算量。ELECTRA-400K的性能也与RoBERTa-500K相当,尽管使用的计算量不足1/4。不出所料,训练ELECTRA的时间更长会进一步提高结果:ELECTRA-1.75M在SQuAD 2.0基准测试中的得分高于之前的模型。ELECTRA Base也取得了很好的成绩,得分大大优于BERT Base和XLNet Base,根据大多数指标,甚至超过BERT Large。ELECTRA在SQuAD 2.0中的表现通常优于1.1。也许替代的令牌检测(模型将真实令牌与可信的伪令牌区分开来)特别适用于SQuAD 2.0的可回答性分类,在该分类中,模型必须将可回答的问题与不可回答的伪问题区分开来。

    3.5效率分析

    我们已经提出,将训练目标放在一小部分令牌上会使掩码语言建模效率低下。然而,情况并非完全如此。毕竟,模型仍然会接收大量的输入令牌,即使它只预测少量的掩码令牌。为了更好地了解ELECTRA的收益来自何处,我们比较了一系列旨在成为BERT和ELECTRA之间的“垫脚石”的其他预训练目标。

    •ELECTRA 15%:该模型与ELECTRA相同,但鉴别器损失仅来自被掩码出输入的15%代币。换句话说,鉴别器损失LDisc的和在i∈m上,而不是从1到n。7

    •替换MLM:此目标与掩码语言建模相同,不同之处在于,不是用[MASK]替换掩码的令牌,而是用生成器模型中的令牌替换。这一目标测试了ELECTRA在多大程度上得益于解决在预训练期间将模型暴露于[MASK]代币而非微调的差异。

    •所有令牌MLM:与替换MLM类似,掩码令牌被生成器样本替换。此外,该模型预测输入中所有令牌的身份,而不仅仅是被掩码的令牌。我们发现,使用显式复制机制来训练该模型可以改善结果,该机制使用S形层为每个令牌输出复制概率D。

    模型的输出分布将输入令牌的D权重加上MLM softmax输出的1−D倍。该模型本质上是BERT和ELECTRA的结合。注意,如果不替换生成器,模型将很容易学会从[MASK]标记的词汇表中进行预测,并复制其他标记的输入。

    结果见表5。首先,我们发现ELECTRA从定义所有输入令牌而不仅仅是一个子集的损失中获益匪浅:ELECTRA 15%的表现比ELECTRA差得多。其次,我们发现,由于Replace MLM略优于BERT,[MASK]代币的预训练微调失配对BERT性能略有损害。我们注意到,BERT(包括我们的实现)已经包含了一个技巧来帮助解决预训练/微调差异:掩码令牌在10%的时间内被替换为随机令牌,并且在10%的时候保持不变。然而,我们的结果表明,这些简单的启发式方法不足以完全解决这个问题。最后,我们发现,All Tokens MLM是一种生成模型,它对所有代币而非子集进行预测,弥补了BERT和ELECTRA之间的大部分差距。总的来说,这些结果表明,ELECTRA的大量改进可以归因于从所有代币中学习,而较小的改进则可以归因于缓解预训练微调失配。

    ELECTRA对所有代币MLM的改进表明,ELECTRA的收益不仅仅来自更快的训练。我们通过比较不同型号的BERT和ELECTRA来进一步研究这一点(见图4,左图)。我们发现,模型越小,ELECTRA的收益越大。小模型被完全训练以收敛(见图4,右图),表明ELECTRA在完全训练时比BERT获得更高的下游精度。我们推测,ELECTRA比BERT更具参数效率,因为它不必对每个位置的可能代币的完整分布进行建模,但我们认为需要更多的分析来完全解释ELECTRA的参数效率。

    4相关工作

    NLP的自监督预训练

    自监督学习已用于学习单词表示(Collbert等人,2011;Pennington等人,2014),以及最近通过语言建模等目标学习单词的上下文表示(Dai&Le,2015;Peters等人,2018;Howard&Ruder,2018)。BERT(Devlin等人,2019)在掩码语言建模任务中预训练大型Transformer(Vaswani等人,2017)。BERT有很多扩展。例如,MASS(Song等人,2019)和UniLM(Dong等人,2018)通过添加自回归生成训练目标,将BERT扩展到生成任务。ERNIE(Sun等人,2019a)和SpanBERT(Joshi等人,2019)掩码了连续的令牌序列,以改进跨度表示。这一想法可能是对ELECTRA的补充;我们认为,让ELECTRA的生成器自动回归并添加“替换跨度检测”任务会很有趣。XLNet(Yang等人,2019)不是掩码输入令牌,而是掩码注意力权重,从而以随机顺序自回归生成输入序列。然而,这种方法与BERT一样效率低下,因为XLNet仅以这种方式生成15%的输入令牌。与ELECTRA一样,XLNet可以通过不需要[MASK]令牌来缓解BERT的预训练微调差异,尽管这并不完全清楚,因为XLNet在预训练期间使用了两个“关注流”,但只有一个用于微调。最近,TinyBERT(Jiao等人,2019)和MobileBERT(Sun等人,2019b)等模型表明,BERT可以有效地简化为更小的模型。相比之下,我们更注重预训练速度,而不是推理速度,因此我们从头开始训练ELECTRA Small。

    生成对抗网络

    GAN(Goodfellow等人,2014)在生成高质量合成数据方面非常有效。Radford等人(2016)提出在下游任务中使用GAN的鉴别器,这与我们的方法类似。GAN已应用于文本数据(Yu等人,2017;Zhang等人,2017),尽管最先进的方法仍然落后于标准最大似然训练(Caccia等人,2018;Tevet等人,2018)。虽然我们不使用对抗性学习,但我们的生成器特别让人想起MaskGAN(Fedus等人,2018),它训练生成器填充从输入中删除的令牌。

    对比学习

    大体上,对比学习方法将观察到的数据点与虚构的负面样本区分开来。它们已应用于许多模态,包括文本(Smith&Eisner,2005)、图像(Chopra等人,2005)和视频(Wang&Gupta,2015;Sermanet等人,2017)数据。常用方法学习相关数据点相似的嵌入空间(Saunshi等人,2019)或将真实数据点排序为负样本的模型(Collobert等人,2011;Bordes等人,2013)。ELECTRA与噪声对比估计(NCE)特别相关(Gutmann&Hyvarien,2010),后者还训练了一个二进制分类器,以区分真实和虚假数据点。¨

    Word2Sec(Mikolov等人,2013)是NLP最早的预训练方法之一,使用对比学习。事实上,ELECTRA可以被视为具有负抽样的连续单词袋(CBOW)的大规模放大版本。CBOW还预测给定周围环境的输入令牌,并且负采样将学习任务重新表述为二进制分类任务。然而,CBOW使用了一包矢量编码器而不是Transformer,并使用了从unigram令牌频率导出的简单建议分布,而不是学习生成器。

    5结论

    我们提出了替代令牌检测,这是一种用于语言表示学习的新的自监督任务。关键思想是训练文本编码器,以区分输入令牌和小型生成器网络生成的高质量负样本。与蒙面语言建模相比,我们的预训练目标是更高效的计算,并在下游任务上获得更好的性能。即使在使用相对较少的计算量时,它也能很好地工作,我们希望这将使开发和应用经过预训练的文本编码器更易于研究人员和从业人员使用,而他们对计算资源的访问较少。我们还希望未来更多关于NLP预训练的工作将考虑效率和绝对性能,并遵循我们在报告计算使用情况和参数计数以及评估指标方面的努力。

    训练前详细信息

    以下详细信息适用于我们的ELECTRA模型和BERT基线。我们通常使用与BERT相同的超参数。我们将损失中鉴别器目标的权重λ设置为50.8。我们使用动态令牌掩码,掩码位置由实时决定,而不是在预处理期间决定。此外,我们没有使用原始BERT论文中提出的下一句预测目标,因为最近的研究表明,它不会提高分数(Yang等人,2019;Liu等人,2019)。对于我们的ELECTRA大型模型,我们使用了更高的掩码百分比(25而不是15),因为我们注意到生成器通过15%的掩码实现了高精度,导致替换的令牌非常少。我们从[1e-4、2e-4、3e-4、5e-4]中搜索Base和Small模型的最佳学习率,并在早期实验中从[1、10、20、50、100]中选择λ。否则,除了第3.2节中的实验之外,我们没有进行超参数调整。表6列出了全套超参数。

    B微调细节

    对于大型模型,我们大部分使用Clark等人(2019)的超参数。然而,在注意到RoBERTa(Liu等人,2019)使用了更多的训练时间段(最多10个而不是3个)之后,我们为每个任务搜索了[10,3]中的最佳训练时间段。对于SQuAD,我们将训练周期的数量减少到2,以与BERT和RoBERTa一致。对于基本尺寸的模型,我们搜索了[3e-5、5e-5、1e-4、1.5e-4]的学习率和[0.9、0.8、0.7]的分层学习率衰减,但在其他方面使用了与大型模型相同的超参数。我们发现小模型受益于更高的学习率,并从[1e-4、2e-4、3e-4、5e-3]中寻找最佳模型。除了训练时期的数量,我们对所有任务使用相同的超参数。相比之下,先前关于GLUE的研究,如BERT、XLNet和RoBERTa,分别为每个任务搜索最佳超参数。如果我们执行相同类型的额外超参数搜索,我们预计我们的结果会略有改善。表7列出了全套超参数。

    在BERT之后,我们没有为开发集结果显示WNLI GLUE任务的结果,因为即使使用标准的微调作为分类器方法,也很难击败大多数分类器。对于GLUE测试集结果,我们应用了许多GLUE排行榜提交的标准技巧,包括RoBERTa(Liu等人,2019)、XLNet(Yang等人,2019年)和ALBERT(Lan等人,2018年)。明确地:

    •对于RTE和STS,我们使用中级任务训练(Phang等人,2018),从在MNLI上微调的ELECTRA检查点开始。对于RTE,我们发现将其与2e-5的较低学习率相结合是有帮助的

    对于WNLI,我们遵循Liu等人(2019)中描述的技巧,其中我们使用规则提取代词的候选先行词,并训练模型以对正确的先行词进行高评分。然而,与Liu等人(2019)不同,得分函数不是基于传销概率。相反,我们对ELECTRA的鉴别器进行微调,以便在正确的先行词替换代词时为正确先行词的标记分配高分。例如,如果Winograd模式是“奖杯因为太大而不能放在行李箱中”,我们训练鉴别器,让它给“奖杯因为奖杯太大而无法放在行李箱”中的“奖杯”打高分,而给“行李箱”打低分,因为行李箱太大,所以奖杯无法放在箱子中”

    •对于每个任务,我们集成了30个模型中最好的10个,这些模型使用不同的随机种子进行微调,但从相同的预训练检查点进行初始化。

    虽然这些技巧确实提高了分数,但它们使进行清晰的科学比较变得更加困难,因为它们需要额外的工作来实现,需要大量的计算,并且由于不同的论文采用不同的技巧,因此结果不太适用于苹果。因此,我们还报告了ELECTRA-1.75M的结果,唯一的技巧是开发集模型选择(10个模型中的最佳),这是用于报告结果的设置BERT,见表8。

    对于我们的SQuAD 2.0测试集提交,我们从相同的预训练检查点微调了20个模型,并提交了具有最佳开发集分数的模型。

    C胶水细节

    我们将在下面提供有关GLUE基准任务的更多详细信息

    •CoLA:语言可接受性语料库(Warstadt等人,2018)。任务是确定给定的句子是否符合语法。该数据集包含8.5k个来自语言学理论书籍和期刊文章的训练示例。

    •SST:斯坦福情绪树库(Socher等人,2013)。任务是确定句子的情绪是积极的还是消极的。该数据集包含来自电影评论的67k个训练示例。

    •MRPC:Microsoft Research Paraphrase语料库(Dolan&Brockett,2005)。任务是预测两个句子在语义上是否相等。该数据集包含来自在线新闻源的3.7k个训练示例。

    •STS:语义文本相似性(Cer等人,2017)。任务是预测两个句子在1-5级上的语义相似程度。该数据集包含从新标题、视频和图像字幕以及自然语言推理数据中提取的5.8k个训练示例。

    •QQP:Quora问题对(Iyer等人,2017)。任务是确定一对问题在语义上是否等价。该数据集包含来自社区问答网站Quora的364k个训练示例。

    •MNLI:多类型自然语言推理(Williams等人,2018)。给定一个前提句和一个假设句,任务是预测前提是否包含假设、是否与假设相矛盾,或者两者都不包含。该数据集包含来自十个不同来源的393k个列车示例。

    •QNLI:质疑自然语言推理;由SQuAD构建(Rajpurkar等人,2016)。任务是预测上下文句子是否包含疑问句的答案。该数据集包含来自维基百科的108k个训练示例。

    •RTE:识别文本困扰(Giampicolo等人,2007年)。给定前提句和假设句,任务是预测前提是否包含假设。该数据集包含来自一系列年度文本蕴含挑战的2.5k个训练示例。

    D胶水的进一步结果

    我们在表8中的GLUE测试集上报告了ELECTRA Base和ELECTRA Small的结果。此外,我们通过在XLNet数据上而不是在wikibooks上对基本尺寸和小尺寸模型进行训练,并进行更长时间的训练(4e6训练步骤),从而突破了它们的极限;这些模型在表中称为ELECTRA Base++和ELECTRA Small++。对于ELECTRA Small++,我们还将序列长度增加到512;否则超参数与表6中列出的相同。最后,该表包含ELECTRA-1.75M的结果,没有附录B中描述的技巧。与论文中的开发集结果一致,ELECTRA Base在平均得分方面优于BERT Large,而ELECTRA Small在平均得分上优于GPT。毫不奇怪,++模型的性能甚至更好。小模型分数甚至接近TinyBERT(Jiao等人,2019)和MobileBERT(Sun等人,2019b)。这些模型使用复杂的蒸馏程序从BERT Base学习。另一方面,我们的ELECTRA模型是从头开始训练的。鉴于提取BERT的成功,我们相信可以通过提取ELECTRA来构建更强大的小型预训练模型。ELECTRA似乎在CoLA特别有效。在CoLA,目标是区分语言上可接受的句子和不合语法的句子,这与ELECTRA的识别假代币的训练前任务非常接近,或许可以解释ELECTRA在这项任务中的优势。

    E计数触发器

    我们选择用浮点运算(FLOP)来衡量计算使用情况,因为它与特定硬件、低级优化等无关。然而,值得注意的是,在某些情况下,抽象硬件细节是一个缺点,因为以硬件为中心的优化可能是模型设计的关键部分,例如ALBERT(Lan等人,2019)通过绑重物从而减少TPU工人之间的通信开销而获得的加速。我们使用TensorFlow的FLOP计数功能9,并通过手动计算检查结果。我们做了以下假设:

    •“操作”是一种数学运算,而不是机器指令。例如,一个exp就像一个加法运算,尽管实际上exp可能会慢一些。我们相信这一假设不会实质上改变计算估计,因为矩阵乘法在大多数模型的计算中占主导地位。类似地,如果考虑融合乘加运算,我们将矩阵乘法计算为2*m*n FLOP,而不是m*n。

    •后向传递采用与前向传递相同数量的FLOP。这一假设并不完全正确(例如,对于softmax交叉熵损失,后向传递更快),但重要的是,前向/后向传递FLOP对于矩阵乘法来说确实是相同的,这是大多数计算。

    •我们假设“密集”嵌入查找(即乘以一个热向量)。实际上,稀疏嵌入查找比恒定时间慢得多;在某些硬件加速器上,密集操作实际上比稀疏查找更快。

    F对抗性训练

    在这里,我们详细介绍了对抗性训练生成器而不是使用最大似然的尝试。特别地,我们训练发生器G以最大化鉴别器损失LDisc。由于我们的判别器与GAN的判别器并不完全相同(参见第2节中的讨论),因此该方法实际上是对抗对比估计(Bose等人,2018)的一个实例,而不是生成对抗训练。由于来自生成器的离散采样,不可能通过反向传播通过鉴别器(例如,在图像上训练的GAN中)来对抗性地训练生成器,因此我们使用强化学习。

    我们的生成器与大多数文本生成模型不同,因为它是非自回归的:预测是独立进行的。换言之,生成器不是采取一系列动作,每个动作生成一个令牌,而是采取一个同时生成所有令牌的单个巨大动作,其中动作的概率被因子化为每个令牌的生成器概率的乘积。为了处理这个巨大的动作空间,我们做了以下简化假设:鉴别器的预测D(x corrupt,t)只依赖于标记xt和非替换标记{xi:i6∈m},即它不依赖于其他生成的标记{xˆi:i∈m∧i6=t}。这是一个不错的假设,因为替换的代币数量相对较少,并且在使用强化学习时大大简化了信用分配。从符号上讲,我们通过(略微滥用符号)为鉴别器写D(ûxt | x massed)来显示这一假设,该鉴别器预测生成的令牌xût是否等于给定掩码上下文x掩码的原始令牌xt。该假设的一个有用结果是,未替换令牌的鉴别器分数(t 6∈m的D(xt | x掩码))与pG无关,因为我们假设它不依赖于任何替换令牌。因此,当训练G以最大化LDisc时,可以忽略这些令牌。在训练过程中,我们寻求

    使用简化假设,我们通过求

    简而言之,简化假设允许我们分解单个生成令牌的损失。我们无法使用梯度上升法直接找到arg maxθG,因为不可能通过离散采样xû进行反向传播。相反,我们使用政策梯度强化学习(Williams,1992)。特别是,我们使用钢筋渐变

    其中b是学习基线,实现为b(x掩码,t)=−log sigmoid(w t hG(x掩码)t),其中hG(x掩码)是生成器Transformer编码器的输出。用交叉熵损失训练基线,以匹配相应位置的奖励。我们用单个样本逼近期望值,并通过梯度上升学习θG。尽管没有收到关于哪些生成的令牌是正确的明确反馈,但我们发现对抗性训练产生了相当准确的生成器(对于256个隐藏大小的生成器,对抗性训练的生成器在掩码语言建模时获得58%的准确率,而相同大小的MLE生成器获得65%)。然而,与MLE训练的下游任务相比,使用该生成器并没有改善(参见主论文中图3的右侧)

    G评估ELECTRA作为掩码语言模型

    本节详细介绍了评估ELECTRA作为掩码语言模型的一些初步实验。使用与主要论文略有不同的符号,给定上下文c由一个文本序列组成,其中一个标记x被掩码,鉴别器损失可以写成

    找到该损耗相对于D的临界点表明,对于固定生成器,最佳鉴别器为

    这意味着

    其中a=(1−pmask)/pmask是每个掩码令牌的未掩码令牌数。通过选择argmaxx∈vocbD(x,c)pG(x|c)/(a(1−D(x、c))+pG(x | c))作为给定上下文的模型预测,我们可以使用此表达式来评估ELECTRA作为掩码语言模型。实际上,在整个词汇表上进行选择是非常昂贵的,因此我们从生成器的前100个预测中选择argmax。10使用这种方法,我们在Wikipedia+Books Corpus数据集上比较了ELECTRA Base和BERT Base。我们发现,BERT在掩码语言建模方面略优于ELECTRA(准确率为77.9%对75.5%)。最佳鉴别器的假设当然远非正确,但可能会损害ELECTRA在该评估方案下的准确性。然而,像BERT这样专门为生成而训练的模型在生成时表现更好,而像ELECTRA这样具有辨别目标的模型在辨别任务上更善于微调,这也许并不太令人惊讶。我们认为,将BERT和ELECTRA的MLM预测进行比较可能是一种有趣的方式,可以在未来的工作中揭示ELECTRA和BERT编码器之间的差异。

    H阴性结果

    我们简要描述了一些在最初实验中看起来不太有希望的想法:

    •我们最初试图通过策略性地掩码掉代币(例如,更频繁地掩码我们的稀有代币,或训练一个模型来猜测如果被掩码掉,BERT将难以预测哪些代币)来提高BERT的效率。与常规BERT相比,这导致了相当小的加速。

    •鉴于ELECTRA似乎从较弱的生成器(见第3.2节)中获益(在一定程度上),我们探讨了提高生成器输出软最大值的温度或禁止生成器对正确的令牌进行采样。这些结果都没有改善。

    •我们尝试添加句子级对比目标。对于这项任务,我们保持20%的输入句子不变,而不是用生成器对其进行噪音处理。然后,我们将预测头添加到模型中,以预测整个输入是否损坏。令人惊讶的是,这略微降低了下游任务的得分。

    ELECTRA: PRE-TRAINING TEXT ENCODERS

    AS DISCRIMINATORS RATHER THAN GENERATORS

    相关文章

      网友评论

          本文标题:ELECTRA:作为鉴别器而非生成器的预训练文本编码器

          本文链接:https://www.haomeiwen.com/subject/xbvdkdtx.html