0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

介紹四個(gè)為語(yǔ)言生成設(shè)計(jì)的預(yù)訓(xùn)練模型

深度學(xué)習(xí)自然語(yǔ)言處理 ? 來(lái)源:NewBeeNLP ? 作者:Chilia ? 2022-12-05 14:50 ? 次閱讀

1.BART

BERT等預(yù)訓(xùn)練語(yǔ)言模型主要應(yīng)用于文本理解(NLU), 而在文本生成任務(wù)(NLG)中表現(xiàn)不佳 -- 這主要是由預(yù)訓(xùn)練階段和下游任務(wù)階段的差異造成的。因此,BART提出了一種 符合生成任務(wù)的預(yù)訓(xùn)練方法。

BART的全稱是Bidirectional and Auto-Regressive Transformers,顧名思義,就是兼具上下文語(yǔ)境信息(雙向)和自回歸(單向)特性的Transformer。BART其實(shí)并不是一個(gè)新的模型,因?yàn)樗褂玫慕Y(jié)構(gòu)還是傳統(tǒng)的Seq2seq Transformer;它是一種針對(duì)生成任務(wù)而設(shè)計(jì)的預(yù)訓(xùn)練方法。

1.1 BART和GPT、BERT的區(qū)別與聯(lián)系

BART預(yù)訓(xùn)練任務(wù)和GPT、BERT的對(duì)比如下圖:

051aab28-7305-11ed-8abf-dac502259ad0.png

BERT: 只有Transformer Encoder部分,隨機(jī)MASK掉一些token,然后利用上下文還原。

GPT:只有Transformer Decoder部分,采用自回歸的方法訓(xùn)練,每個(gè)位置只能關(guān)注到其左邊的token。

BART:使用了完整的Transformer(Encoder+Decoder)。其encoder端的輸入是加了噪音的序列,decoder端的輸入是right-shifted的序列,decoder端的目標(biāo)是原序列。模型設(shè)計(jì)的目的很明確,就是在利用encoder端的雙向建模能力的同時(shí),保留自回歸的特性,以適用于生成任務(wù)。

1.2 BART使用的noise

相對(duì)于BERT中單一的noise類(lèi)型 (只有簡(jiǎn)單地用[MASK] token進(jìn)行替換這一種noise),BART在encoder端嘗試了 多種更加靈活的noise (甚至可以改變序列的長(zhǎng)度)然后decoder端試圖恢復(fù)這些noise。這樣做是因?yàn)椋築ERT的這種簡(jiǎn)單替換導(dǎo)致的是encoder端的輸入攜帶了有關(guān)序列結(jié)構(gòu)的一些信息(比如序列的長(zhǎng)度等信息),而這些信息在文本生成任務(wù)中一般是不會(huì)提供給模型的。相比而言,BART采用更加多樣的noise, 意圖是破壞掉這些有關(guān)序列結(jié)構(gòu)的信息 ,防止模型去依賴這樣的信息。

052e176c-7305-11ed-8abf-dac502259ad0.png

BART采用的noise

BART采用的一些noise包括:

Token Masking : BERT的方法--隨機(jī)將token替換成[MASK] -> 訓(xùn)練模型推斷單個(gè)token的能力

Token Deletion : 隨機(jī)刪去token -> 訓(xùn)練模型推斷單個(gè)token_及其位置_的能力

Text Infilling : 隨機(jī)將一段連續(xù)的token(稱作span)替換成[MASK],span的長(zhǎng)度服從 lambda=3 的泊松分布。注意span長(zhǎng)度為0就相當(dāng)于插入一個(gè)[MASK]。這個(gè)方法帶來(lái)了更多的 靈活性 !->訓(xùn)練模型推斷一個(gè)span對(duì)應(yīng)多少token的能力

Sentence Permutation : 將一個(gè)document的句子打亂。->類(lèi)似BERT中的 NSP 目標(biāo),訓(xùn)練模型推斷不同句子之間關(guān)系的能力

Document Rotation : 從document序列中隨機(jī)選擇一個(gè)token,然后使得該token作為document的開(kāi)頭。->訓(xùn)練模型找到document開(kāi)頭的能力

這些noise變換方式還可以組合,帶來(lái)了更多的靈活性。

1.3 BART在下游任務(wù)的應(yīng)用

① Sequence Classification

將該序列同時(shí)輸入給encoder端和decoder端,然后取decoder最后一個(gè)token對(duì)應(yīng)的final hidden state表征。注意我們需要在decoder端序列末尾增加一個(gè)[EOS],讓它能夠關(guān)注到整個(gè)句子。

054918d2-7305-11ed-8abf-dac502259ad0.png

② Token Classification

將該序列同時(shí)輸入給encoder端和decoder端,使用decoder的final hidden states作為每個(gè)token的表征

③ Sequence Generation

由于BART本身就是在sequence-to-sequence的基礎(chǔ)上構(gòu)建并且預(yù)訓(xùn)練的,它天然比較適合做序列生成的任務(wù),比如生成式問(wèn)答、文本摘要、機(jī)器對(duì)話等。encoder就是輸入的序列,decoder用自回歸的方法生成輸出序列

④ Machine Translation

BART能夠提升其他語(yǔ)言 翻譯到英語(yǔ) 的效果。具體的做法是將BART encoder端的embedding層替換成隨機(jī)初始化的encoder, 新的encoder也可以用不同的vocabulary 。通過(guò)這個(gè)新加的encoder,我們可以將新的語(yǔ)言映射到BART能解碼到English(假設(shè)BART是在English的語(yǔ)料上進(jìn)行的預(yù)訓(xùn)練)的空間。具體的finetune過(guò)程分兩階段:

第一步凍結(jié)大部分參數(shù),只更新新加的encoder + BART positional embedding + BART的encoder第一層的self-attention 輸入映射矩陣。

第二步更新全部參數(shù),但是只訓(xùn)練很少的幾輪。

055b7842-7305-11ed-8abf-dac502259ad0.png

2. MASS

Masked Sequence to sequence pre-training for Language Generation

https://arxiv.org/pdf/1905.02450.pdf

和BART類(lèi)似,MASS也是使用完整的Transformer結(jié)構(gòu),并且對(duì)encoder輸入進(jìn)行一些破壞,讓decoder試圖還原之。MASS的提出早于BART,因此它提出的noise方法也沒(méi)有BART那么豐富。具體做法就是mask掉句子的一部分,再用decoder去預(yù)測(cè)之,如下圖所示:

05819acc-7305-11ed-8abf-dac502259ad0.png

和BART不同的是,這里的decoder只輸入應(yīng)該被預(yù)測(cè)的token,這是為了可以讓decoder依賴于encoder的編碼,讓兩者更好地共同訓(xùn)練。

BERT的MLM預(yù)訓(xùn)練任務(wù)和GPT的自回歸生成任務(wù),分別是MASS k = 1 和 k = m 的特例:

059065fc-7305-11ed-8abf-dac502259ad0.png

3. Pegasus

PEGASUS: Pre-training with Extracted Gap-sentences forAbstractive Summarization

https://arxiv.org/abs/1912.08777

PEGASUS是專(zhuān)門(mén)針對(duì) 生成式摘要 設(shè)計(jì)的預(yù)訓(xùn)練模型。基本思想就是將輸入文檔的重要句子remove/mask,然后通過(guò)其他句子預(yù)測(cè)它們。其實(shí)驗(yàn)效果刷新了12項(xiàng)summarization任務(wù);在low-resource摘要方面展現(xiàn)驚人性能,僅用了1000個(gè)example就超過(guò)了6個(gè)數(shù)據(jù)集上的最新結(jié)果。

3.1 Gap Sentences Generation (GSG)

我們知道,預(yù)訓(xùn)練目標(biāo)與下游任務(wù)越接近,下游任務(wù)就會(huì)表現(xiàn)越好。那么,為了更好的完成文本摘要,可以mask掉文本中重要的一些句子,然后 拼接 這些gap-sentences形成偽摘要。相應(yīng)位置的Gap-sentences用[MASK1]來(lái)替換。Gap sentences ratio(GSR)表示選中的gap sentences占總文檔的比例。選擇Gap Sentence的方法有:

Random: 隨機(jī)選m個(gè)句子

Lead: 選前m個(gè)句子

Principal: 選最重要的m個(gè)句子。如何衡量句子的重要性呢?文中又提出了四種方法:

① 獨(dú)立選擇(Ind.)/連續(xù)選擇(Seq.): 句子重要性可根據(jù)一個(gè)句子與其它句子集的ROUGE1-F1來(lái)計(jì)算,其公式為獨(dú)立選擇就是選擇得分最高的m個(gè)句子;連續(xù)選擇則是貪婪地最大化選中句子集Scup{x_{i}}與其余句子集的ROUGE1-F1值,具體算法如下:

06142ca2-7305-11ed-8abf-dac502259ad0.jpg

② 計(jì)算ROUGE1-F1的方式也可分為兩種 -- Uniq 和 Orig。Uniq把n-gram當(dāng)成集合處理(去重);Orig則允許重復(fù)n-gram出現(xiàn)。

因此,Ind/Seq 和 Uniq/Orig兩兩組合可得到四種方式。最后的實(shí)驗(yàn)結(jié)果表明,選擇了文檔30%的句子作為Gap sentences,用Ind-Orig選重要句子效果最好。

3.2 預(yù)訓(xùn)練任務(wù)

本文MASK的方式有兩種:

① MLM:選擇輸入文本的15%的tokens, 其中80%的被替換為[MASK2]、10%的被隨機(jī)的token替換、10%未發(fā)生變化。在encoder部分恢復(fù)這些token。

② GSG:以[MASK1]去mask選中的重要句子,在decoder部分恢復(fù)這些句子。

最終實(shí)驗(yàn)表明,僅采用MLM效果最差,預(yù)訓(xùn)練在100-200K steps時(shí),GSG+MLM的效果在提升,但之后包含MLM效果在下降。因而最后PEGASUS-LARGE僅采用GSG,PEGASUS-BASE采用GSG+MLM。

063ded30-7305-11ed-8abf-dac502259ad0.png

4. UniLM

Unified Language Model Pre-training forNatural Language Understanding and Generation

https://arxiv.org/abs/1905.03197

UniLM是一種簡(jiǎn)潔的預(yù)訓(xùn)練方法,其模型的框架與BERT一致,是由一個(gè)多層Transformer Encoder網(wǎng)絡(luò)構(gòu)成;但訓(xùn)練方式不同,它是通過(guò)聯(lián)合訓(xùn)練三種不同目標(biāo)函數(shù)得到 -- 通過(guò)控制mask來(lái)控制預(yù)測(cè)單詞的 可見(jiàn)上下文詞語(yǔ)數(shù)量 ,在同一個(gè)模型中同時(shí)實(shí)現(xiàn)了bidirectional, unidirectional和seq2seq prediction 三種任務(wù),因此可以同時(shí)用于語(yǔ)言生成和語(yǔ)言理解。

模型的三種預(yù)訓(xùn)練目標(biāo)如下圖所示:

065f5aec-7305-11ed-8abf-dac502259ad0.png

seq2seq task在pretrain過(guò)程中,mask token可以出現(xiàn)在第一個(gè)文本序列中、也可以出現(xiàn)在第二個(gè)文本序列中;但是到了fine-tuning階段時(shí),mask token僅出現(xiàn)在第二個(gè)文本序列中。

Bidirectional LM: 跟Bert模型一致。同時(shí),與bert模型一樣,也進(jìn)行NSP任務(wù)的預(yù)測(cè)。

Left-to-Right LM: 有從右到左和從左到右兩者,類(lèi)似GPT。

Seq2seq LM :如果[Mask]出現(xiàn)在第一段文本中,僅可以使用第一段文本中所有的token進(jìn)行預(yù)測(cè);如果預(yù)測(cè)[Mask]出現(xiàn)在第二段文本中時(shí),可以采用第一段文本中所有的token,和第二段文本中左側(cè)所有token預(yù)測(cè)。這種方法雖然不是seq2seq,但是通過(guò)mask可以做到seq2seq同樣的效果。

綜上,就是對(duì)于不同的語(yǔ)言模型,我們可以僅改變self-attention mask,就可以完成multi-task聯(lián)合訓(xùn)練。

在預(yù)訓(xùn)練時(shí)的一個(gè)batch中,使用1/3的數(shù)據(jù)進(jìn)行bidirectional task,1/3的數(shù)據(jù)進(jìn)行seq2seq task,1/6的數(shù)據(jù)進(jìn)行l(wèi)eft-to-right unidirectional task,1/6的數(shù)據(jù)進(jìn)行right-to-left unidirectional task。

模型結(jié)構(gòu)與BERT-large模型一致(layer = 24, hidden_size = 1024, head = 16),約有340M參數(shù),并由訓(xùn)練好的BERT-large模型進(jìn)行初始化。MASK的概率為15%,在被掩掉的token中,有80%使用[MASK]替換,10%使用字典中隨機(jī)詞進(jìn)行替換,10%保持越來(lái)token不變(這與BERT一致)。此外,在80%的情況下,每次隨機(jī)掩掉一個(gè)token,在剩余的20%情況下,掩掉一個(gè)二元token組或三元token組。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • GPT
    GPT
    +關(guān)注

    關(guān)注

    0

    文章

    359

    瀏覽量

    15495

原文標(biāo)題:介紹幾個(gè)語(yǔ)言生成的預(yù)訓(xùn)練模型

文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語(yǔ)言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    一文詳解知識(shí)增強(qiáng)的語(yǔ)言預(yù)訓(xùn)練模型

    ,在實(shí)際應(yīng)用場(chǎng)景中效果不好。為了解決這個(gè)問(wèn)題,將知識(shí)注入到PLMs中已經(jīng)成為一個(gè)非?;钴S的研究領(lǐng)域。本次分享將介紹三篇知識(shí)增強(qiáng)的預(yù)訓(xùn)練語(yǔ)言
    的頭像 發(fā)表于 04-02 17:21 ?9711次閱讀

    【大語(yǔ)言模型:原理與工程實(shí)踐】大語(yǔ)言模型的基礎(chǔ)技術(shù)

    ,這也是如今生成式 AI 中大語(yǔ)言模型最流行訓(xùn)練架構(gòu)。(3) Encoder-Decoder預(yù)訓(xùn)練
    發(fā)表于 05-05 12:17

    【大語(yǔ)言模型:原理與工程實(shí)踐】大語(yǔ)言模型預(yù)訓(xùn)練

    數(shù)據(jù)格式的轉(zhuǎn)換、數(shù)據(jù)字段的匹配和整合等。通過(guò)數(shù)據(jù)級(jí)凈化,可以進(jìn)一步提高數(shù)據(jù)的質(zhì)量和可用性,后續(xù)的數(shù)據(jù)分析和建模提供更有價(jià)值的數(shù)據(jù)支持。 在得到了大語(yǔ)言模型的數(shù)據(jù)之后,就是對(duì)其進(jìn)行預(yù)
    發(fā)表于 05-07 17:10

    語(yǔ)言模型:原理與工程時(shí)間+小白初識(shí)大語(yǔ)言模型

    語(yǔ)言模型進(jìn)行預(yù)訓(xùn)練,此處預(yù)訓(xùn)練自然
    發(fā)表于 05-12 23:57

    新的預(yù)訓(xùn)練方法——MASS!MASS預(yù)訓(xùn)練幾大優(yōu)勢(shì)!

    專(zhuān)門(mén)針對(duì)序列到序列的自然語(yǔ)言生成任務(wù),微軟亞洲研究院提出了新的預(yù)訓(xùn)練方法:屏蔽序列到序列預(yù)訓(xùn)練
    的頭像 發(fā)表于 05-11 09:34 ?7116次閱讀
    新的<b class='flag-5'>預(yù)</b><b class='flag-5'>訓(xùn)練</b>方法——MASS!MASS<b class='flag-5'>預(yù)</b><b class='flag-5'>訓(xùn)練</b>幾大優(yōu)勢(shì)!

    預(yù)訓(xùn)練語(yǔ)言模型設(shè)計(jì)的理論化認(rèn)識(shí)

    在這篇文章中,我會(huì)介紹一篇最新的預(yù)訓(xùn)練語(yǔ)言模型的論文,出自MASS的同一作者。這篇文章的亮點(diǎn)是:將兩種經(jīng)典的
    的頭像 發(fā)表于 11-02 15:09 ?2753次閱讀

    國(guó)內(nèi)科學(xué)家團(tuán)隊(duì)發(fā)布超大規(guī)模AI預(yù)訓(xùn)練模型

    據(jù)消息,北京智源人工智能研究院發(fā)布四個(gè)超大規(guī)模人工智能預(yù)訓(xùn)練模型,統(tǒng)稱為“悟道1.0”,涵蓋中文語(yǔ)言、多模態(tài)、認(rèn)知、蛋白質(zhì)預(yù)測(cè)
    的頭像 發(fā)表于 03-21 10:09 ?2315次閱讀

    如何向大規(guī)模預(yù)訓(xùn)練語(yǔ)言模型中融入知識(shí)?

    本文關(guān)注于向大規(guī)模預(yù)訓(xùn)練語(yǔ)言模型(如RoBERTa、BERT等)中融入知識(shí)。
    的頭像 發(fā)表于 06-23 15:07 ?4304次閱讀
    如何向大規(guī)模<b class='flag-5'>預(yù)</b><b class='flag-5'>訓(xùn)練</b><b class='flag-5'>語(yǔ)言</b><b class='flag-5'>模型</b>中融入知識(shí)?

    Multilingual多語(yǔ)言預(yù)訓(xùn)練語(yǔ)言模型的套路

    Facebook在Crosslingual language model pretraining(NIPS 2019)一文中提出XLM預(yù)訓(xùn)練語(yǔ)言模型,整體思路基于BERT,并提出了針
    的頭像 發(fā)表于 05-05 15:23 ?3041次閱讀

    一種基于亂序語(yǔ)言模型預(yù)訓(xùn)練模型-PERT

    由于亂序語(yǔ)言模型不使用[MASK]標(biāo)記,減輕了預(yù)訓(xùn)練任務(wù)與微調(diào)任務(wù)之間的gap,并由于預(yù)測(cè)空間大小輸入序列長(zhǎng)度,使得計(jì)算效率高于掩碼
    的頭像 發(fā)表于 05-10 15:01 ?1592次閱讀

    如何更高效地使用預(yù)訓(xùn)練語(yǔ)言模型

    基本的假設(shè):預(yù)訓(xùn)練模型在不同下游任務(wù)上學(xué)習(xí)的過(guò)程,可以被重新參數(shù)化(reparameterized)在同一個(gè)低維本征子空間上的優(yōu)化過(guò)程。
    的頭像 發(fā)表于 07-08 11:28 ?1314次閱讀

    利用視覺(jué)語(yǔ)言模型對(duì)檢測(cè)器進(jìn)行預(yù)訓(xùn)練

    預(yù)訓(xùn)練通常被用于自然語(yǔ)言處理以及計(jì)算機(jī)視覺(jué)領(lǐng)域,以增強(qiáng)主干網(wǎng)絡(luò)的特征提取能力,達(dá)到加速訓(xùn)練和提高模型泛化性能的目的。該方法亦可以用于場(chǎng)景文本
    的頭像 發(fā)表于 08-08 15:33 ?1450次閱讀

    CogBERT:腦認(rèn)知指導(dǎo)的預(yù)訓(xùn)練語(yǔ)言模型

    另一方面,從語(yǔ)言處理的角度來(lái)看,認(rèn)知神經(jīng)科學(xué)研究人類(lèi)大腦中語(yǔ)言處理的生物和認(rèn)知過(guò)程。研究人員專(zhuān)門(mén)設(shè)計(jì)了預(yù)訓(xùn)練模型來(lái)捕捉大腦如何表示
    的頭像 發(fā)表于 11-03 15:07 ?1115次閱讀

    預(yù)訓(xùn)練模型的基本原理和應(yīng)用

    預(yù)訓(xùn)練模型(Pre-trained Model)是深度學(xué)習(xí)和機(jī)器學(xué)習(xí)領(lǐng)域中的一個(gè)重要概念,尤其是在自然語(yǔ)言處理(NLP)和計(jì)算機(jī)視覺(jué)(CV)
    的頭像 發(fā)表于 07-03 18:20 ?3106次閱讀

    語(yǔ)言模型預(yù)訓(xùn)練

    能力,逐漸成為NLP領(lǐng)域的研究熱點(diǎn)。大語(yǔ)言模型預(yù)訓(xùn)練是這一技術(shù)發(fā)展的關(guān)鍵步驟,它通過(guò)在海量無(wú)標(biāo)簽數(shù)據(jù)上進(jìn)行訓(xùn)練,使
    的頭像 發(fā)表于 07-11 10:11 ?523次閱讀