網(wǎng)站開發(fā)與制作學(xué)seo推廣
?? 作者|李軍毅?
? 機(jī)構(gòu)|中國(guó)人民大學(xué)??
?研究方向 |?文本生成與預(yù)訓(xùn)練語(yǔ)言模型??
來(lái)自 |?RUC AI Box??
本文介紹了小組發(fā)表于EMNLP 2022的非自回歸預(yù)訓(xùn)練文本生成模型ELMER,在生成質(zhì)量與生成效率方面相比于之前的研究具有很大優(yōu)勢(shì)。?

進(jìn)NLP群—>加入NLP交流群
一、背景
自從GPT-2的出現(xiàn),預(yù)訓(xùn)練語(yǔ)言模型在許多文本生成任務(wù)上都取得了顯著的效果。這些預(yù)訓(xùn)練語(yǔ)言模型大都采用自回歸的方式從左到右依次生成單詞,這一范式的主要局限在于文本生成的過(guò)程難以并行化,因此帶來(lái)較大的生成延遲,這也限制了自回歸模型在許多實(shí)時(shí)線上應(yīng)用的廣泛部署(例如搜索引擎的查詢重寫、在線聊天機(jī)器人等)。并且,由于訓(xùn)練過(guò)程與生成過(guò)程存在差異,自回歸生成模型容易出現(xiàn)曝光偏差等問(wèn)題。因此,在這一背景下,許多研究者開始關(guān)注非自回歸生成范式——所有文本中的單詞同時(shí)且獨(dú)立地并行生成。
與自回歸模型相比,非自回歸模型的生成過(guò)程具有并行化、高效率、低延遲等優(yōu)勢(shì),但與此同時(shí),所有單詞獨(dú)立生成的模式使得非自回歸模型難以學(xué)習(xí)單詞間依賴關(guān)系,導(dǎo)致生成文本質(zhì)量下降等問(wèn)題。已有研究提出迭代生成優(yōu)化、隱變量建模文本映射等方法,但仍然難以生成復(fù)雜的文本。受到早期退出技術(shù)(early exit)啟發(fā),我們提出一個(gè)高效強(qiáng)大的非自回歸預(yù)訓(xùn)練文本生成模型——ELMER,通過(guò)在不同層生成不同單詞的方式顯式建模單詞間依賴關(guān)系,從而提升并行生成的效果。
二、形式化定義
文本生成的目標(biāo)是建模輸入文本與輸出文本 之間的條件概率 。目前常用的三種生成范式為:自回歸、非自回歸和半非自回歸范式。
自回歸生成 自回歸生成模型基于從左到右的方式生成輸出文本:

每個(gè)單詞都依賴于輸入文本與之前生成的單詞。自回歸生成模型只建模了前向的單詞依賴關(guān)系,依次生成的結(jié)構(gòu)也使得自回歸模型難以并行化。目前大部分預(yù)訓(xùn)練生成模型均采用自回歸方式,包括GPT-2,BART,T5等模型。
非自回歸生成 非自回歸生成模型同時(shí)預(yù)測(cè)所有位置的單詞,不考慮前向與后向的單詞依賴關(guān)系:

每個(gè)單詞的生成只依賴于輸入文本,這一獨(dú)立生成假設(shè)使得非自回歸模型易于并行化,大大提高了文本生成速度。由于不考慮單詞依賴,非自回歸模型的生成效果往往不如自回歸模型。
半非自回歸生成 半非自回歸生成模型介于自回歸與非自回歸生成之間:

每個(gè)單詞的生成依賴于輸入文本和部分可見上下文,其中采用不同方式平衡生成質(zhì)量與生成效率。
三、模型

ELMER模型架構(gòu)如圖1所示?;谠缙谕顺鰴C(jī)制(early exit),在不同層生成的單詞可以建立雙向的單詞依賴關(guān)系。為了預(yù)訓(xùn)練ELMER,我們提出了一個(gè)用于非自回歸生成廣泛建模單詞依賴的預(yù)訓(xùn)練任務(wù)——Layer Permutation Language Modeling。
基于早期退出的Transformer非自回歸生成
ELMER采用Transformer架構(gòu),不同的是我們將解碼器中的掩碼多頭注意力替換為與編碼器一致的雙向多頭注意力用于非自回歸生成。特別地,對(duì)于數(shù)據(jù),輸入文本由編碼器編碼為隱狀態(tài),然后,我們將一段完全由“[MASK]”單詞組成的序列作為解碼器輸入,生成目標(biāo)文本。對(duì)于每一個(gè)“[MASK]”單詞,經(jīng)過(guò)層解碼器得到:

最后,第個(gè)單詞由最后一層表示計(jì)算得到:

之前的非自回歸模型需要額外模塊預(yù)測(cè)輸出文本的長(zhǎng)度,但是,我們通過(guò)生成終止單詞“[EOS]”動(dòng)態(tài)地確定生成文本的長(zhǎng)度,即最終的文本為首單詞至第一個(gè)終止單詞。
一般的Transformer模型都在最后一層生成單詞,使用早期退出技術(shù),單詞以足夠的置信度在低層被生成,那么高層單詞的生成可以依賴已生成的低層單詞,從而在非自回歸生成過(guò)程中建模雙向的單詞依賴關(guān)系。特別地,我們?cè)赥ransformer每一層插入“off-ramp”,其使用每一層隱狀態(tài)表示預(yù)測(cè)單詞如下:

這些“off-ramp”可以獨(dú)立或者共享參數(shù)。與之前的早期退出研究聚焦于句子級(jí)別不同,我們的方法關(guān)注單詞級(jí)別的退出。在訓(xùn)練過(guò)程中,如果一個(gè)單詞已經(jīng)以足夠的置信度在第層生成,那么隱狀態(tài)將不會(huì)在高層中進(jìn)行更新,我們的模型將直接拷貝至高層。
Layer Permutation預(yù)訓(xùn)練
為了在預(yù)訓(xùn)練中學(xué)習(xí)多樣化的單詞依賴關(guān)系,我們提出基于早退技術(shù)的預(yù)訓(xùn)練目標(biāo)——Layer Permutation Language Modeling (LPLM),對(duì)每個(gè)單詞的退出層進(jìn)行排列組合。對(duì)于長(zhǎng)度為的序列,每個(gè)單詞可以在層的任意一層退出,因此,這一序列所有單詞的退出層共有種排列組合。如果模型的參數(shù)對(duì)于所有組合是共享的,那么每個(gè)單詞都可以學(xué)習(xí)到來(lái)自所有位置的單詞的依賴關(guān)系。形式化地,令表示長(zhǎng)度為的序列的所有可能的退出層組合,對(duì)于任意一個(gè)組合,基于LPLM的非自回歸文本生成概率可以表示為:

其中模型在解碼器第層退出,使用隱狀態(tài)預(yù)測(cè)第個(gè)單詞。
在預(yù)訓(xùn)練過(guò)程中,對(duì)于語(yǔ)料中的每一條文本,我們只采樣中退出層組合計(jì)算生成概率。傳統(tǒng)的早期退出方法需要計(jì)算閾值來(lái)估計(jì)退出層,這對(duì)于大規(guī)模預(yù)訓(xùn)練來(lái)說(shuō)是不方便的,而我們提出的LPLM預(yù)訓(xùn)練目標(biāo)自然而然地避免了對(duì)退出層的估計(jì)。遵循BART模型的預(yù)訓(xùn)練模式,我們將打亂的文本輸入模型并采用基于LPLM的非自回歸生成方式還原文本,我們主要采用sentence shuffling和text infilling兩種打亂方式。
下游微調(diào)
經(jīng)過(guò)預(yù)訓(xùn)練的非自回歸生成模型ELMER可以微調(diào)至下游各種文本生成任務(wù)。在微調(diào)階段,可以使用小規(guī)模的任務(wù)數(shù)據(jù)集為每個(gè)生成單詞估計(jì)其退出層。在論文中,我們主要考慮兩種早期退出方式:hard early exit與soft early exit。
1)Hard Early Exit:這是一種最簡(jiǎn)單直接的早期退出方式。通過(guò)設(shè)置閾值并計(jì)算退出置信度決定模型是否在某層退出結(jié)束生成。我們使用生成概率分布的熵來(lái)量化單詞生成的退出置信度,如下式:

模型生成概率分布的熵越低,意味著生成單詞的退出置信度越高。因此,當(dāng)熵低于事先設(shè)定的閾值時(shí),模型將在此層退出并生成單詞。
2)Soft Early Exit:上述方法對(duì)于每個(gè)單詞只退出一次并生成,因此會(huì)發(fā)生錯(cuò)誤生成的情況。而soft方法則在每一層都計(jì)算單詞生成概率,并將中間層生成的單詞傳遞至下一層繼續(xù)進(jìn)行計(jì)算。特別地,在位置解碼器的第層,我們使用第層的off-ramp計(jì)算生成單詞:

然后,我們將預(yù)測(cè)單詞的向量與當(dāng)前層的隱狀態(tài)拼接,經(jīng)過(guò)一個(gè)線性層傳遞至下一層作為新的表示:

與hard方法相比,soft方法在每層預(yù)測(cè)單詞,并將預(yù)測(cè)結(jié)果傳遞至下一次預(yù)測(cè),因此可以起到修正預(yù)測(cè)的作用。
四、實(shí)驗(yàn)
1)預(yù)訓(xùn)練設(shè)置
我們收集了16G的數(shù)據(jù)(包括Wikipedia和BookCorpus)作為預(yù)訓(xùn)練語(yǔ)料。ELMER采用6層的編碼器與解碼器,隱藏層維度為768,與大部分自回歸(例如BART)與非自回歸(BANG)預(yù)訓(xùn)練生成模型的base版本一致。我們使用2e-4的學(xué)習(xí)率從頭開始訓(xùn)練模型,批大小為4096。我們采用BART模型的詞表,在預(yù)訓(xùn)練過(guò)程中共享所有層的off-ramp參數(shù),預(yù)訓(xùn)練語(yǔ)料中的每條序列采樣10種退出層組合進(jìn)行訓(xùn)練。相關(guān)代碼與模型已開源至https://github.com/RUCAIBox/ELMER.
2)微調(diào)數(shù)據(jù)集
我們微調(diào)ELMER至三種文本生成任務(wù)與數(shù)據(jù)集:XSUM為摘要任務(wù)數(shù)據(jù)集,SQuAD v1.1為問(wèn)題生成任務(wù)數(shù)據(jù)集,PersonaChat為對(duì)話生成任務(wù)數(shù)據(jù)集。
3)基準(zhǔn)模型
實(shí)驗(yàn)中設(shè)置三類基準(zhǔn)模型作為對(duì)比:1)自回歸生成模型:Transformer,MASS,BART和ProphetNet;2)非自回歸生成模型:NAT,iNAT,CMLM,LevT和BANG;3)半非自回歸生成模型:InsT,iNAT,CMLM,LevT和BANG。
4)評(píng)測(cè)指標(biāo)
我們從effectiveness與efficiency兩個(gè)方面評(píng)測(cè)模型效果。我們使用ROUGE,BLEU,METEOR和Distinct來(lái)評(píng)測(cè)模型生成文本的effectiveness;設(shè)置生成批大小為1并計(jì)算每條樣本的生成時(shí)間來(lái)評(píng)測(cè)模型生成文本的efficiency。
5)實(shí)驗(yàn)結(jié)果


表1與表2展示了在三個(gè)任務(wù)和數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果。我們的ELMER-soft方法超越了大部分非自回歸與半非自回歸生成模型,展示出我們的模型在生成文本上的有效性。相比于基準(zhǔn)模型,我們的模型采用早期退出技術(shù),可以在并行生成過(guò)程中建模單詞間依賴關(guān)系,保證了生成文本的質(zhì)量。
除此以外,ELMER取得了與自回歸預(yù)訓(xùn)練模型相似的結(jié)果,并超越了非預(yù)訓(xùn)練的Transformer模型,進(jìn)一步縮小了非自回歸生成模型與自回歸生成模型在生成質(zhì)量上的差距。對(duì)于對(duì)話任務(wù),雖然ELMER在ROUGE,BLEU等指標(biāo)不如NAT等模型,但非常重要的Distinct指標(biāo)卻表現(xiàn)很好,說(shuō)明我們方法能夠生成較為多樣的文本。
最后,在生成文本的效率上,ELMER的生成效率相比自回歸模型具有非常大的優(yōu)勢(shì),對(duì)比其他非自回歸模型如LevT也具有更快的生成速度。
五、結(jié)論
我們提出了一個(gè)高效強(qiáng)大的非自回歸預(yù)訓(xùn)練文本生成模型ELMER,通過(guò)引入單詞級(jí)別的早期退出機(jī)制,模型可以在并行生成文本的過(guò)程中顯式建模前后單詞依賴關(guān)系。更重要的,我們提出了一個(gè)新的預(yù)訓(xùn)練目標(biāo)——Layer Permutation Language Modeling,對(duì)序列中每個(gè)單詞的退出層進(jìn)行排列組合。最后,在摘要、問(wèn)題生成與對(duì)話三個(gè)任務(wù)上的實(shí)驗(yàn)結(jié)果表明,我們的ELMER模型無(wú)論是生成質(zhì)量還是生成效率都具有極大優(yōu)勢(shì)。
進(jìn)NLP群—>加入NLP交流群
知識(shí)星球:NLP學(xué)術(shù)交流與求職群
持續(xù)發(fā)布自然語(yǔ)言處理NLP每日優(yōu)質(zhì)論文解讀、相關(guān)一手資料、AI算法崗位等最新信息。
加入星球,你將獲得:
1.?最新入門和進(jìn)階學(xué)習(xí)資料。包含機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、NLP等領(lǐng)域。
2.?最新最優(yōu)質(zhì)的的論文速讀。用幾秒鐘就可掌握論文大致內(nèi)容,包含論文一句話總結(jié)、大致內(nèi)容、研究方向以及pdf下載。
3.?具體細(xì)分NLP方向包括不限于:情感分析、關(guān)系抽取、知識(shí)圖譜、句法分析、語(yǔ)義分析、機(jī)器翻譯、人機(jī)對(duì)話、文本生成、命名實(shí)體識(shí)別、指代消解、大語(yǔ)言模型、零樣本學(xué)習(xí)、小樣本學(xué)習(xí)、代碼生成、多模態(tài)、知識(shí)蒸餾、模型壓縮、AIGC、PyTorch、TensorFlow等細(xì)方向。
4.?NLP、搜廣推、CV等AI崗位招聘信息。可安排模擬面試。