没有合适的资源?快使用搜索试试~ 我知道了~
+v:mala2277获取更多论文bert2BERT:可重用的预训练语言模型程澈1、易春2、单立峰2、姜鑫2、于佳琪1、王凤玉1、王志3、小陈2、刘志远1、刘群21清华大学计算机科学与技术系2华为诺亚3清华大学摘要近年来,研究人员倾向于预训练越来越大的语言模型,以探索深度模型的上限。然而,大型语言模型的预训练需要耗费大量的计算资源,而且大多数模型都是从头开始训练,没有重用已有的预训练模型,这是 一 种 浪 费 。 在 本 文 中 , 我 们 提 出 了bert2BERT,它可以有效地转移现有的较小的预训练模型2.62.42.22.01.81.61.40 1 234 5 6 7 8(例如,BERT BASE)到大型模型(例如,BERTLARGE)通过参数初始化,显著提高了预训练效果,大模型的缺陷。具体来说,我们扩展了以前的功能保持(陈等。,2016),并通过提出大型模型初始化的高级知识来进一步改进它。此外,提出了一种两阶段的预训练方法,以进一步加快训练过程。我们对具有代表性的PLM进行了广泛的实验(例如,BERT和GPT),并证明(1)我们的方法可以节省大量的训练成本相比,基线,包括从头开始学习,StackBERT(龚等 。 , 2019 ) 和 Mackay ( Yang et al. ,2020);(2)我们的方法是通用的,适用于 不 同 类 型 的 预 训 练 模 型 。 特 别 是 ,bert2BERT通过重用几乎一半大小的模型,节省了预训练BERTBASE和GPTBASE 的45%和47%的计算成本。源代码将在发布时公开提供。1介绍预 先 训 练 的 语 言 模 型 ( PLM ) , 如 BERT( Devlin et al. , 2019) 、GPT( Radford etal. , 2018 , 2019; Brown et al. , 2020 ) 、ELECTRA ( Clarket al. , 2020 ) 、 XLNet(Yang et al. ,2019年)和†这项工作是程晨在华为诺亚方舟实验室实习时完成的FLOPs(1e19)图 1 : bert2BERT 和 基 线 的 损 失 曲 线 。 两 个stackBERT ( Gong et al. , 2019 ) 和 Mackay(Yanget al. ,2020)是基于渐进训练集的。更多细节见表2。RoBERTa(Liu et al. ,2019),在自然语言处理(NLP)方面取得了巨大的成功。然而,大型PLM的预训练过程在计算上可能非常昂贵,并产生巨大的碳足迹。例如,GPT-3使用3.1E+6 GPU小时进行训练,估计成本为460万美元*,这将产生巨大的二氧化碳排放。因此,如何降 低 PLM 的 培 训 成 本 对 绿 色 AI 至 关 重 要(Schwartz et al. ,2019)。最近,有一种趋势是训练非常大的模型,以探索PLM的上限。例如,大型预训练模型,包 括 GPT-3 ( Brown et al. , 2020 ) ( 175B)、PanGu-α(Zeng et al. ,2021)(200B)和Switch Transformers(Fedus et al. ,2021)(1571B)的研究,在语言理解和生成方面有着广阔的应用前景。然而,这些模型都是从头开始独立地进行预训练的,而没有利用已经训练过的较小模型的知识。另一方面,我们的实证研究表明,不同尺度的预训练模型可以共享类似的知识,例如图2中,两个PLM的注意力模式,*https://lambdalabs.com/blog/揭秘-gpt-3/BERT基地StackBERTMSLTbert2BERT1.481.461.44百分之五十四点八1.437百分之七十五点七89.3% 100%1.421.404567arXiv:[中文传销损失2021年10+v:mala2277获取更多论文L2 H1 L2 H2 L2 H4 L2 H5 L12 H4 L12 H5 L12 H10 L12 H11L2 H8 L2 H2 L2 H4 L2 H5 L12 H3 L12 H8 L12 H5 L12 H7图2:小型和大型PLM之间的注意力模式比较。上面的是一个架构为{L=12,D=768}的BERTBASE模型的注意模式,下面的是一个架构为{L=12,D=512}的小BERT模型的注意模式。我们发现,在两个模型的同一层中有大量相似的注意模式,这表明重用训练过的小型PLM的参数以加快大型PLM的预训练的可能性。不同的尺寸是相似的。为了节省大模型的训练成本,我们提出了一种bert2BERT方法,它可以有效地将小模型的学习知识转移到大模型中。 bert2BERT由两部分组成:(1)对于参数初始化,我们首先扩展了函数保持训练(Chen et al. ,2016)到PLM,通过复制和堆叠现有较小PLM的参数,我们称之为功能保留初始化(FPI)。FPI确保初始化的大型模型与小型模型具有几乎相同的行为,从而使大型模型为后续优化提供一个良好的起点。我们还发现,复制不同层的权重可以进一步加速大模型的收敛,我们称之为高级知识初始化(AKI)。虽然AKI的策略有些违反了函数保持的原则,但我们发现,经验上它导致了更快的收敛速度,并实现了更高的训练效率。(2)在大模型上进一步采用两阶段训练策略,以加快训练过程。为了证明我们的方法的优越性,我们进行了广泛的实验上的两个代表性的PLM:BERT和GPT,不同的模型大小。结果表明:(1)与从头开始学习的传统方式和渐进式堆叠方法(例如StackBERT (Gong et al. ,2019)和Mackay(Yang et al. ,2020年);(2)我们的方法是模型不可知的,这可以应用于广泛的基于变压器的PLM。一个典型的例子是,当使用一个小的预训练模型,其大小是BERTBASE的一半用于初始化时,bert2BERT节省了原始BERT BASE预训练的45%计算成本。总的来说,我们的贡献是总结(1)通过重用小模型的训练参数来初始化大模型,为有效的预训练探索了一个新的方向;(2)我们成功地扩展了函数预训练方法(Chen et al. ,2016),并进一步提出了先进的知识初始化,可以有效地将训练好的小模型的知识转移到大模型,提高预训练效率;(3)所提出的方法优于其他渐进式训练方法,在BERTBASE上实现了45%的计算减少;(4)我们的方法是通用的,对BERT和GPT模型都有效,有很大的潜力成为超大规模语言模型预训练的节能解决方案。2初步在介绍我们的方法之前,我们首先介绍了BERT架构的一些细节,包括一个嵌入层和多个转换器(Vaswani et al. ,2017)层。2.1嵌入层嵌入层首先将句子中的标记映射到具有嵌入矩阵WE的向量中。然后采用一个归一化层来产生初始隐藏状态H0。2.2Transformer层隐藏状态由多个Transformer层迭代处理,如下所示:Hl= Transformerl(Hl−1),l∈[1,L](1)+v:mala2277获取更多论文在H)=H,Ll我TTⓈ在出来在出来在L→→S不Ll其中L表示Transformer层的数量,每个层包括多头注意(MHA)和前馈网络(FFN)。MHA。MH A 由多个并行切出❶塞林出来注意力集中的头。隐层的隐藏状态被馈送到每个头中,然后所有头的输出被求和以获得如下的最终输出Qi , Ki , Vi=Hl−1WQ , Hl−1WK ,Hl−1WV,图3:矩阵展开的概述。它先扩大内尺寸,再扩大外尺寸。从神经元的角度来看,它在输入和输出中都添加了新的神经元(红色)。3方法头l我QiKiTl我Ol我3.1问题陈述Hl,i=softmax(softmax(softmax))一)ViWl,i,我们的目标是加速目标MHA(Hl−1头l我i=1通过转移现有的预训练模型S(Ls,D s)的知识来生成模型T(L t,D t),其中HMHA=层规范(Hl−1 + MHA(H)l−1))。(二更)L s|t表示Transformer层数,D s|t表示模型宽度(即,隐藏大小),sat-证明Ls≤Lt和Ds≤Dt。 从形式上讲,我们前一层Hl−1的输出被线性投影到查询(Qi)、键(Ki)和值(Vi)。分别用不同的权重WQ、WK、WV问题有两个方面:(1)如何通过重用l我l我l我S的训练参数,以及(2)如何有效地HHEAD表示上下文感知向量,通过第i个关注头中的查询和密钥的缩放点积来获得。a表示自我注意头部的数量。dk是作为比例因子的头部尺寸。HMHA是下一个子模块FFN的输入。FFN FFN由两个线性层和一个GeLU激活函数(Hendrycks和Gimpel,2016)组成,其格式为:HFFN=GeLU(H MHAW1+b1)W2+b2,训练初始化,这样可以在预训练中有更快的收敛速度。3.2概述针对上述问题,bert2BERT首先利用已有模型的参数,通过宽度扩展(Ds Dt)和深度扩展(Ls Lt)初始化目标模型。通过这种扩展,包含在源模型的参数中的知识被直接传递到目标模型。然后,我们进一步用两个-ll ll llHl= LayerNorm(HMHA+HFFN)。(三)层规格化。两 的 模块阶段预训练法。我们在第3.3.4节中说明了整个工作流程。本质上,宽度方向的展开可以分解为一组矩阵(或向量)的展开。如图3所示,主展开式将参数矩阵W∈Rdw 的SU∈Rdu<$duT的两种类型等人,2016年),其稳定了Transformer中的隐藏状态动力学。形式上,它被写为:操作:维内和维外扩展。在接下来的章节中,我们首先介绍10)A=(H−µHσ)+bLN,两种宽度扩展策略:函数保持和高级知识初始化。H(四)其中表示逐元素乘法,µH和σH的统计量分别是h1h2x1x2h1h2❷x1x2x3小时1小时2 小时3x1x2x3MHA和FFN具有一层归一化(Ba到KLN+v:mala2277获取更多论文计算的隐藏状态H然后,我们介绍了深度扩展,并详细介绍了两阶段的预训练过程。为简单起见,我们省略了偏置(向量)的展开。它遵循与矩阵展开类似的过程。+v:mala2277获取更多论文塞林··出来f({sst1,2,.,a})j∈(a,a],出来i i∈[1,din]G=go在外层❶~我爱你塞林第(8)条:Cgin(i)=dui′=1 1I(gin(iJ)=gin(i))(七)切出在图中塞林{1:1,2:2,3:1}切出{1:1,2:2,3:2}出来U(i,)=Cgin(i)W(gin(i),n),图4:保留初始值的函数概述-U(k,j)=U(k,g)出来(j))、(8)化(FPI)。给定相同的输入{x1,x2},FPI确保初始化的目标模型具有与源模式l相同的输出{y1,y2}。第一步和第二步分别根据gin和gout映射函数扩展参数矩阵的内维数和外维数。FPI从神经元的角度出发,复制输入输出神经元,对网络进行扩展.在矩阵展开后,我们可以进一步使用降维展开,以确保输出与原始输出相同。其中,I()是指示函数,Cgin(i)是gin(i)的值中g i n(i)的计数,用于重新缩放原始参数以保持函数保持属性。扩展所有模块。 我们通过矩阵扩展EXPN()将FPI应用于BERT的所有模块。具体来说,对于嵌入矩阵UE,我们只进行外维展开:UE=W Ee.(九)3.3bert2BERT在提出所提出的方法之前,我们引入了两个新的映射函数:gin和goutt,其中gin(i)表示U的第i列重用W的第gin(i)列参数,gout(j)表示(n,j)(n,gout(j))MHA模块可以分解为多个并行的自注意头,我们对该模块进行头扩展。压头膨胀公式为:UQ|K|V = EXPN(W Q|K|V; g q|K|v,g q|K|(v),U的第j行重用W的第g(j)行参数。这两种方法都是用这些两个映射函数。在U0= EXPN(W 0; g 0,g0).出来(十)3.3.1功能保持函数保持初始化(FPI)(Chen et al. ,2016年)旨在使初始化的目标模型MHA模块执行头向扩展,这意味着我们重用头参数(Qi|Ki|在Eq. (2)构造新头矩阵。外维度扩展为:具有与源模型相同的功能,这意味着给定相同的输入,初始化的目标模型具有与源模型相同的输出gq|K|v(j)=. jj∈[1,as](十一)模型我们在图4中给出一个示例来说明FPI。形式上,映射函数被定义为其中,|t分别表示源模型和目标模型头数。该模块具有如下所示三个约束:{ge=gq|K|v; gq|K|v=go;.文勤|K|vG(i)=WWu在在于出来于gout(j)=f({1,2,., din})i∈(din,din],.jj∈[1,dw]出来出来,du尺寸一致性,第三个是残余连接对于FFN模块,我们执行扩展1|2f({1,2,.,Dw}) j∈(dwout],关于参数矩阵W(方程式(3)如下:(六)其中f(·)表示均匀采样。我们U1= EXPN(W1;g1,g1),在外层(十二)在此将权重扩展表示为U2= EXPN(W2;g2,g2).在外层与MHA模块类似,y1y2H 1H2x1x2一年二年❷H 1h2-2222X1X2副本X1y1y222 ❸2h hh 2副本1 222X2X12X1(五)},前两个约束为2222222222+v:mala2277获取更多论文出来在U=EXPN(W;gin,gout),FFN也有三个约束:=g1;g1=g2;g1=g2}。出来在in出来其包括两个膨胀阶段,即内尺寸膨胀(7)和外尺寸膨胀,层规范化是堆叠在MHA和FFN顶部的常见模块。以+v:mala2277获取更多论文S不Σ在在˜出来S˜在表1中的不同设置中提出的FPI。的(a,gl+1(j))出来出来原始1.891.67塞林{1:1,2:2,3:1}❶���˜���出来{1:1,2:2}❷表1:外国证券投资与基线日本+11+1in{1:1,2:2,3:2}日本语+1+1out{3:2}源预训练模型。“Rand” refers to the MLM 我们将这两个模型扩展到目标模型(12,768),发现FPI基本上可以使目标模型与这些训练的源模型具有相似的损失。FPI和Original之间的损失差距是由层归一化带来的。以FFN的层归一化为例,其扩展公式为:图5:高级知识初始概述-AKI)。它首先对当前层和上层的矩阵进行维内然后,将当前层的加宽矩阵作为新矩阵的顶部,并将上层加宽矩阵的行采样作为新矩阵的底部。AKI为:U1=EXPN(W1,W1+ 1;gi n,gout t)。(十四)具体地说,我们首先对Wl和Wl+1进行维内展开。这里我们把Wl作为一个Uln=W lnG.(十三)举例说明:J2出来(十)Du注意,在层归一化(Eq.(4)我们需要重新计算隐藏的均值μ和方差σ在Cl=I(gl(iJ)=gl(i))表示H.该参数的扩展不可避免地导致间隙,并阻止目标gin(i)L在ini′=11L(十五)模型严格遵循函数U(i,)=Cgl(i)W(gl(i),n).ing原则。然而,我们的经验发现,差距是如此之小,它几乎不会影响目标模型的初始化和收敛因此,我们忽略这种差异。然后我们把U l的扩展矩阵|l+1来构造最终矩阵:U˜ l,j)j∈[1,ds]我们已经验证了亲的有效性,Ul(a,j)=(简体中文j∈(ds出来,dt],(十六)结果表明,初始化模型T在这里,我们直接复制整个扩展的U盘 ,几乎相同的损失,证明FPI成功地保留了知识的小模型时执行参数扩展。3.3.2高级知识为了进一步提高预训练目标模型的收敛速度,我们提出了高级知识初始化(AKI),它不仅基于源模型中同一层的参数,而且还基于源模型中上层的参数扩展背后的直觉是基于以前的发 现 ( Jawahar et al. , 2019; Clark 等 人 ,2019),相邻的Transformer层具有类似的功能,这确保了它不会损坏该层的参数中包含的知识更重要的是,来自相邻层的知识可以打破对称性(Chen et al. ,2016年),FPI带来的,这已被证明是有益的。具体来说,我们在图5中给出了一个说明性示例。我们制定新矩阵的顶部,并将采样的参数从Ul+1的底部的新的矩阵我们将上层信息聚合到一个新的矩阵中,有两个直觉:(1)它打破了阻碍模型收敛的FPI对称性(Chenet al. ,2016年);(2)上层信息可以作为高级知识来指导模型更快地收敛。经验上,我们发现AKI方法优于FPI,而如果我们基于较低层的矩阵(或低级知识)构建新的矩阵,则性能更差。如何构造目标模型的最佳初始化与不同层的参数仍然是一个悬而未决的问题,我们把它作为未来的工作。扩展所有模块。对于嵌入矩阵,我们只做外维扩展,如等式。9在FPIMHA的模块和2222方法S(12,384)S(12,512)2222222222兰德10.4010.42DirectCopy9.056.45FPI1.891.70+v:mala2277获取更多论文T·← TTD不→·不不→不不T ←算法1bert2BERT初始化输入:目标模型T(Lt,Dt)和源模型S(Ls,Ds)。1:T1(Ls,Dt)←在S(Ls,Ds)下进行AKI或FPI2:k←[Lt/Ls]3:对于t=2→k,4:t(L st,D t)堆栈1在t-15:结束6:T ←堆叠T1的顶部Lt−Ls·k层。输出:初始化的模型T(Lt,Dt)FFN通过遵循定义的操作Eq.15个。和16.映射函数的约束遵循FPI的设置。我们在附录D中展示了由AKI初始化的目标模型的注意力模式,发现目标模型可以很好地保持当前层和上层3.3.3深度扩展在宽度方向扩展之后,我们得到与目标模型具有相同宽度的加宽模型。为了弥合深度差距,我们执行深度方向的扩展,以增加模型的深度到目标模型的深度 我们在算法1中说明了这个过程,主要思想是迭代地叠加加宽的模型,直到 其 深 度 等 于 目 标 模 型 ( Gong et al. ,2019)。3.3.4两阶段预培训为了进一步提高初始化目标模型的预训练效率,本文提出了一种两阶段训练方法:(1)先随机训练目标模型的子结构,使完整模型以较低的代价收敛。这些子结构与目标模型的底层Transformer层一起构建在每个优化步骤中,我们随机采样一个子结构,只更新其顶部的Transformer层和共享的分类头。(2)在子结构训练之后,我们进一步进行传统的全模型训练。我们的方法的细节显示在算法2中。4实验4.1实验装置培训前的细节。我们使用英文维基百科和多伦多图书中心的连接(Zhu et al. ,2015)作为预训练数据。预训练的设置为:峰值学习率算法2两阶段预训练输入:初始化的模型,大规模未监督数据集,子模型训练的epoch数Eb和整个训练过程的epoch数E,层号lb。1:构建子模型,这些模型的层数为{lb,2lb,. . . ,L t}。2:对于e=1Eb,3:对于D中的批次,4:J样本一个子模型。5:执行J的向前和向后。6:仅更新J的顶部lb层。7:结束8:结束9:对于e=Eb Edo10:对于D中的批次,11:执行前进和后退。12:更新整个模型。13:结束14:结束输出:预训练的模型T1 e-4,预热步长为10 k,训练时期为E=40,批量大小为512,子模型训练时期为Eb=5,层数为lb=3。除非另有说明,否则所有方法(包括bert2BERT和基线)都使用相同的预训练设置进行公平比较。在bert2BERT的设置中,目标模型具有BERTBASE架构,T(12,768)以及S(12,512)和S(6,512)两种源模型结构。微调细节。对于评估,我们使用来自GLUE基准 的 任 务 ( Wang et al. , 2019a ) 和SQuADv1.1(Rajpurkar et al. ,2016)。我们报告了SQuADv1.1的F1,CoLA的Matthews相关性(Mcc)(Warstadt et al. ,2019年)和其他任务的准确度(Acc)。对于GLUE微调,我们将批量大小设置为32,从{5e-6,1 e-5,2e-5,3e-5}中选择学习率,从{4,5,10}。对于SQuADv1.1微调,我们将批大小设置为16,学习率设置为3e-5,训练epoch的数量设置为4。基线。我 们 首先引入一个名为DirectCopy的朴素bert2BERT基线,它直接将小模型复制到目标模型,并随机删除未填充的参数。Stack-BERT(Gong et al. ,2019)和Mackay(Yanget al. ,2020年)也被列为基线。他们两人都是以渐进的方式接受培训的。关注-+v:mala2277获取更多论文S模型FLOPs(×1e19)成本节约(CostSaving)SQuADv1.1(F1)SST-2(Acc)MNLI(Acc)MRPC(Acc)可乐(Mcc)QNLI(Acc)QQP(Acc)STS-B(Acc)Avg.BERTBASE(Google)--88.4(0.1)93.6(0.2)84.7(0.1)87.9(0.9)59.6(1.5)91.6(0.1)91.4(0.1)89.6(0.5)85.8(0.1)BERTBASE†(Ours)7.30%的百分比89.6(0.1)92.7(0.2)84.6(0.2)88.6(0.5)57.3(4.0)90.6(0.7)90.6(0.1)89.9(0.3)85.5(0.5)递进培养马格德堡6.5百分之十点七90.4(0.2)92.9(0.2)85.1(0.2)87.9(2.1)55.6(4.1)90.7(0.2)90.6(0.2)88.2(0.6)85.2(0.7)StackBERT†5.5百分之二十四点三90.4(0.2)92.6(0.4)85.3(0.1)88.2(1.0)63.2(0.9)91.0(0.4)91.0(0.1)86.7(0.7)86.0(0.2)bert2BERT:S(12,512)→ T(12,768)DirectCopy6.4百分之十二点二89.8(0.2)92.9(0.3)84.7(0.2)86.2(0.6)62.2(0.7)90.2(0.6)90.4(0.1)89.2(0.1)85.7(0.1)FPI5.1百分之三十点四90.0(0.2)92.6(0.4)85.2(0.1)87.1(0.5)61.5(0.9)90.9(0.6)90.8(0.2)89.7(0.2)86.0(0.1)Aki4.5百分之三十八点四90.4(0.1)92.5(0.4)85.3(0.4)87.8(0.9)61.0(1.4)91.2(0.2)90.5(0.1)89.5(0.2)86.0(0.2)bert2BERT四、0四十五百分之二90.0(0.2)92.9(0.1)85.1(0.1)87.7(0.7)60.0(1.2)90.5(0.8)90.4(0.1)89.2(0.2)85.7(0.4)表2:bert2BERT和基线之间的比较。我们在开发集上报告了3次运行的平均(和标准差)性能。bert2BERT是指AKI和两阶段预训练的组合。FPI和AKI分别表示函数保持初始化和高级知识初始化。* 表示重新实现的结果,其中BERT BASE和StackBERT实现了与原始论文相似的结果,并且MPERT结果与原始论文不同,因为它使用了不同的优化器(LAMB(You et al. ,2020)),并且仅训练最大序列长度为128的语料库。在原始设置中,对于StackBERT,我们首先训练3层BERT 5个epoch,将其堆叠两次成为6层BERT,然后训练7个epoch。在最后一步中,我们将6层模型堆叠到BERTBASE中,并使用28个epoch对其进行进一步训练。对于MPEG4,我们首先执行4阶段训练。在每个阶段中,我们将已经训练好的模型的前3层添加到模型的顶部,然后通过部分更新前3层来预训练新模型部分训练过程的每个阶段有8个epoch。最后,我们进一步执行20个全模型训练epoch,以实现与从头开始训练的BERTBASE相同的基线是使用与bert2BERT相同的优化器、训练步骤和预热步骤进行训练的4.2结果和分析我们在SQuAD和GLUE基准测试中证明了所提出的方法的有效性,结果如表2所示。我们还在图1和附录A中展示了损失曲线。结果表明:(1)两种渐进式训练方法都达到了超过10%的节省率,StackBERT优于MPERT;(2)直接复制仅节省了13.8%的计算成本,这表明这种直接将源模型的训练参数复制到目标模型的天真方法是无效的;(3)我们提出的 方法,(4)通过对由AKI初始化的目标模型执行两阶段预训练,我们可以节省45。2%的计算成本。请注意,源模型的总参数是目标模型的一半(54 M vs. 110 M)。图1中bert2BERT的损失在子模型训练阶段很高,因为它代表了所有子模型的平均损失我们还比较了DirectCopy,FPI和AKI初始化的目标模型的注意模式注意力模式及其讨论见附录D。bert2BERT具有较小的源模型。我们还在一个不同的设置上评估了bert2BERT,其中源模型( 6 , 512 ) 明 显 小 于 目 标 模 型 ( 35M vs.110M)。结果见表3,损失曲线见附录B。我们观察到,与原始预训练相比,Direct-Copy没有实现效率提高与DirectCopy方法相比,该方法 的 计 算 量 减 少 了 23.9% , 再 次 证 明 了bert2BERTW方法的有效性FPI和AKI的性能优于基线。虽然AKI没有遵循功能-模型FLOPs比率Avg.在训练开始时具有比FPI和DirectCopy更大的损失,AKI通过使用先进的我们尝试了与原始论文相同的设置,运行8个epoch,但它没有达到与BERT BASE相同的损失(1.511 vs.1.437)。(×1e19)(Cost储蓄)bert2BERT:S(6,512)→ T(12,768)DirectCopy7.30%的百分比84.2bert2BERT5.6百分之二85.5+v:mala2277获取更多论文十三点九表3:其他架构上的bert2BERT平均值是指GLUE数据集的平均得分。+v:mala2277获取更多论文子模型训练时期的效果。我们的训练过程包括两个阶段:子模型训练-模型,这表明该方法是通用的,是有效的不同类型的PLM。和全模型训练。在这里,我们研究子模型训练时期数的影响模型FLOPsPTB WikiText-2 WikiText103通过在不同的设置Eb={0,5,10,20}上执行bert 2BERT结果见(×1e19)(不含FT)(不含FT)(不含FT)bert2BERT:S(12,512)→ T(12,768)表4和损失曲线显示在Ap中。GPT4.9133.8 47.0 53.5彭萨科拉角我们观察到,当epoch数设置为5时,我们的方法实现了最佳效率,而更大或更小的epoch数将带来负面影响。我们推测,几个历元的子模型训练可以为全模型预训练建立一个稳定的状态,以达到快速的收敛速度,但随着子模型训练历元数的增加,从源模型获得的知识将被破坏。模型FLOPs比率平均值(×1e19)(Cost储蓄)bert2BERT:S(12,512)→ T(12,768)bert2BERT2.6 (47% ↓)132.1 47.9 53.0表5:对GPT的实验我们使用困惑度作为度量,4.03.83.63.43.23.02.8表4:子模型训练时期的影响。4.3关于GPT数据集。为了证明我们的方法是通用的,在BERT设置之后,我们还在GPT训练中使用了维基百科和图书语料库。对于评估,我们使用WikiText-2,PTB和WikiText 103的数据集,并在零次设置下评估这些模型,而无需对训练集进行微调。实施细节。我们使用{L=12,D=768}的架构作为GPT目标模型,并以1 e-4的学习率和20个训练周期对其进行预训练。对于bert 2BERT,我们使用具有{L=12,D=512}架构的源模型,使用AKI初始化目标模型,并通过全模型训练对其进行预训练。结果和分析。我们比较了原始的预训练方法和bert2BERT,结果如表5和图6所示。我们观察到,该方法节省了47%的GPT预训练的计算成本,表现出类似的趋势BERT预训练。虽然GPT和BERT具有不同的架构(例如,LN后和LN前(Xiong et al. ,2020年)),并预先培训了不同的任务,bert2BERT节省了大量的培训成本,这两个0 1 2 3 4 5FLOPs(1e19)图6:GPT的训练前损失曲线。5相关工作NLP中的高效预训练。前期工作已经探索了预训练的效率,一些人尝试重用现有PLM的参数,并提出渐进式学习。这些作品(Gong etal. , 2019; Yang et al. , 2020; Gu 等 人 ,2021)是由不同层具有一些类似知识(例如,注意模式)。他们开始用较少的Transformer层预训练一个小模型,然后通过在顶部堆叠已经训练好的层来迭代扩展模型。另一条工作线提出将小模型的知识“回退”到大模型中,这被称为知识继承(Qinetal. ,2021年)。有效预训练的另一种类型的工作集中在数据效率上(Wu etal. ,2021年),并在预训练过程中为罕见单词做笔记,以帮助模型在下次出现时理解它们通过设计有效的预训练任务也可以提高预训练的效率一个经典的工作是ELECTRA(克拉克等人。2020),其提出了替换标记检测的任务以预测损坏的输入中的每个标记是否被替换。我们的方法是正交的这类工作和ELECTRA和bert2BERT的组合可以达到更好的效率。在2.902.882.870百分之五十二点四百分百2.862.842.53.03.54.04.55.0GPT bert2BERTbert2BERT(Eb=0)4.5百分之三十八点四86.0bert2BERT(Eb=5)四、0四十五百分之二85.7bert2BERT(Eb=10)4.143.9%85.3损失+v:mala2277获取更多论文此外,还有其他几种用于有效预训练的正交技术:混合精度训练(Shoeybi et al. ,2019),大批量优化(You et al. ,2020)、模型架构模型(Lan et al. ,2020)、分层训练技术(Zhang和He,2020)等。可重用神经网络可重用神经网络,一个与迁移学习相关的主题(Pan和Yang,2010),被引入来加速计算机视觉中的一个经典的工作是Net2Net(Chen et al. ,2016),其首次提出了函数保持变换的概念以使神经网络可重用。然而,Net2Net随机选择要分裂的神经元。为了处理这个问题,一些作品(Wuet al. ,2019,2020b; Wang et al. ,2019b; Wu et al. ,2020a)利用函数最速下降思想来决定要分裂的神经元的最优子集。修剪技术(Han et al. ,2015年)也被引入可重用的神经网络(冯和熊猫,2020年)。最近,Feng和Panda(2020)提出了分层预训练本文研究了可重用的预训练语言模型,提出了一种新的方法bert2BERT,以加速BERT和GPT的预训练。6结论和今后的工作本 文 提 出 了 一 种 新 的 有 效 的 预 训 练 方 法bert2BERT,它重用小训练模型的参数作为大模型的初始化参数。在不同的模型尺寸设置下,我们将所提出的方法应用于BERT和GPT中大量的结果表明,我们的方法是通用的Transformer为基础的模型,并节省了大量的计算成本。此外,详细的分析表明,我们的技术,功能保持,先进的知识初始化,和两个阶段的预训练,都是有效的。未来,我们将把bert2BERT应用于训练超大规模语言模型,并将其范围扩展到其他PLM变体,如ELECTRA和BART(Lewis et al. ,2020)。引用Jimmy Lei Ba,Jamie Ryan Kiros 和Geoffrey E.欣顿 。 2016. 层 归 一 化 。 ArXiv 预 印 本 ,abs/1607.06450。汤 姆 湾 Brown , Benjamin Mann , Nick Ryder ,MelanieSubbiah , JaredKaplan , PrafullaDhariwal,Arvind Neelakantan,Pranav Shyam,GirishSastry , AmandaAskell , SandhiniAgarwal,ArielHerbert-Voss,GretchenKrueger,Tom Henighan,Rewon Child,AdityaRamesh , Daniel M. Ziegler , Jeffrey Wu ,Clemens Winter , Christopher Hesse , MarkChen , Eric Sigler , Mateusz Litwin , ScottGray,Benjamin Chess,Jack Clark,ChristopherBerner,Sam Mc- Candlish,Alec Radford,IlyaSutskever,and Dario Amodei. 2020年。语言模型是少数的学习者。在神经信息处理系统的进展33:神经信息处理系统2020年年会,NeurIPS2020,December 6-12,2020,虚拟。Tianqi Chen,Ian J. Goodfellow,and Jonathy Shlens.2016. Net2net:通过知识转移加速学习。在第四届国际会议上学习表示,ICLR 2016,圣胡安,波多黎各,2016年5月2日至4日,会议跟踪程序。Kevin Clark , Urvashi Khandelwal , Omer Levy ,and Christopher D.曼宁2019. BERT在看什么?对BERT 注 意 力 的 分 析 。 在 2019 年 ACL 研 讨 会BlackboxNLP:分析和解释NLP的神经网络,第276-286页,意大利佛罗伦萨。计算语言学协会。Kevin Clark,Minh-Thang Luong,Quoc V. Le,andChristopher D.曼宁2020. ELECTRA:预先训练文本编码器作为鉴别器而不是生成器.在第八届学习代表国际会议,ICLR 2020,亚的斯亚贝巴,埃 塞 俄 比 亚 , 2020 年 4 月 26 日 至 30 日 。OpenReview.net.Jacob Devlin,Ming-Wei Chang,Wendon Lee,andKristina Toutanova. 2019. BERT:语言理解的深度双向转换器的预训练。 在计算语言学协会北美分会2019年会议论文集:人类语言技术,第1卷(长论文和短论文),第4171-4186页,明尼阿波利斯,明尼苏达州。计算语言学协会。William Fedus , Barret Zoph , and Noam Shazeer.2021年开关变压器:以简单有效的稀疏性扩展到万亿参数模型。Corr.A.冯和P.熊猫。2020. 通过net2net转换实现节能和健壮的累积训练。在IJCNN。Linyuan Gong , Di He , Zhuohan Li , Tao Qin ,Liwei Wang,and Tie-Yan Liu. 2019. 通过逐步堆叠来有效训练BERT。 第36届国际机器学习会议论文集,ICML 2019,2019年6月9日至15日,美国加利福尼亚州长滩,Proceedings of MachineLearning Research,第97卷,第2337-2346页。PMLR。Xiaotao Gu,Liyuan Liu,Hongkun Yu,Jing Li,Chen Chen , and Jiawei Han.2021 年在
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功