寫在前面
今天分享給大家一篇哈工大訊飛聯(lián)合實(shí)驗(yàn)室的論文,一種基于亂序語言模型的預(yù)訓(xùn)練模型-PERT,全名《PERT: PRE-TRAINING BERT WITH PERMUTED LANGUAGE MODEL》。該篇論文的核心是,將MLM語言模型的掩碼詞預(yù)測任務(wù),替換成詞序預(yù)測任務(wù),也就是在不引入掩碼標(biāo)記[MASK]的情況下自監(jiān)督地學(xué)習(xí)文本語義信息,隨機(jī)將一段文本的部分詞序打亂,然后預(yù)測被打亂詞語的原始位置。
PERT模型的Github以及對應(yīng)的開源模型其實(shí)年前就出來了,只是論文沒有放出。今天一瞬間想起來去看一眼,這不,論文在3月14號(hào)的時(shí)候掛到了axirv上,今天分享給大家。
paper:https://arxiv.org/pdf/2203.06906.pdf
github:https://github.com/ymcui/PERT
介紹
預(yù)訓(xùn)練語言模型(PLMs)目前在各種自然語言處理任務(wù)中均取得了優(yōu)異的效果。預(yù)訓(xùn)練語言模型主要分為自編碼和自回歸兩種。自編碼PLMs的預(yù)訓(xùn)練任務(wù)通常是掩碼語言模型任務(wù),即在預(yù)訓(xùn)練階段,使用[MASK]標(biāo)記替換原始輸入文本中的一些token,并在詞匯表中恢復(fù)這些被[MASK]的token。
常用預(yù)訓(xùn)練語言模型總結(jié):https://zhuanlan.zhihu.com/p/406512290
那么,自編碼PLMs只能使用掩碼語言模型任務(wù)作為預(yù)訓(xùn)練任務(wù)嗎?我們發(fā)現(xiàn)一個(gè)有趣的現(xiàn)象“在一段文本中隨機(jī)打亂幾個(gè)字并不會(huì)影響我們對這一段文本的理解”,如下圖所示,乍一看,可能沒有注意到句子中存在一些亂序詞語,并且可以抓住句子的中心意思。該論文探究了是否可以通過打亂句子中的字詞來學(xué)習(xí)上下文的文本表征,并提出了一個(gè)新的預(yù)訓(xùn)練任務(wù),即亂序語言模型(PerLM)。
模型
PERT模型結(jié)構(gòu)如上圖所示。PERT模型結(jié)構(gòu)與BERT模型結(jié)構(gòu)相同,僅在模型輸入以及預(yù)訓(xùn)練目標(biāo)上略有不同。
PERT模型的細(xì)節(jié)如下:
- 采用亂序語言模型作為預(yù)訓(xùn)練任務(wù),預(yù)測目標(biāo)為原始字詞的位置;
- 預(yù)測空間大小取決于輸入序列長度,而不是整個(gè)詞表的大?。ㄑ诖a語言模型預(yù)測空間為詞表);
- 不采用NSP任務(wù);
- 通過全詞屏蔽和N-gram屏蔽策略來選擇亂序的候選標(biāo)記;
- 亂序的候選標(biāo)記的概率為15%,并且真正打亂順序僅占90%,剩余10%保持不變。
由于亂序語言模型不使用[MASK]標(biāo)記,減輕了預(yù)訓(xùn)練任務(wù)與微調(diào)任務(wù)之間的gap,并由于預(yù)測空間大小為輸入序列長度,使得計(jì)算效率高于掩碼語言模型。PERT模型結(jié)構(gòu)與BERT模型一致,因此在下游預(yù)訓(xùn)練時(shí),不需要修改原始BERT模型的任何代碼與腳本。注意,與預(yù)訓(xùn)練階段不同,在微調(diào)階段使用正常的輸入序列,而不是打亂順序的序列。
中文實(shí)驗(yàn)結(jié)果與分析
預(yù)訓(xùn)練參數(shù)
- 數(shù)據(jù):由中文維基百科、百科全書、社區(qū)問答、新聞文章等組成,共5.4B字,大約20G。
- 訓(xùn)練參數(shù):詞表大小為21128,最大序列長度為512,batch大小為416(base版模型)和128(large版模型),初始學(xué)習(xí)率為1e-4,使用 warmup動(dòng)態(tài)調(diào)節(jié)學(xué)習(xí)率,總訓(xùn)練步數(shù)為2M,采用ADAM優(yōu)化器。
- 訓(xùn)練設(shè)備:一臺(tái)TPU,128G。
機(jī)器閱讀理解MRC任務(wù)
在CMRC2018和DRCD兩個(gè)數(shù)據(jù)集上對機(jī)器閱讀理解任務(wù)進(jìn)行評測,結(jié)果如下表所示。
PERT模型相比于MacBERT模型有部分的提高,并且始終優(yōu)于其他模型。
文本分類TC任務(wù)
在XNLI、LCQMC、BQ Corpus、ChnSentiCorp、TNEWS和OCNLI 6個(gè)數(shù)據(jù)集上對文本分類任務(wù)進(jìn)行評測,結(jié)果如下表所示。
在文本分類任務(wù)上,PERT模型表現(xiàn)不佳。推測與MRC任務(wù)相比,預(yù)訓(xùn)練中的亂序文本給理解短文本帶來了困難。
命名實(shí)體識(shí)別NER任務(wù)
在MSRA-NER和People’s Daily兩個(gè)數(shù)據(jù)集上對命名實(shí)體識(shí)別任務(wù)進(jìn)行評測,結(jié)果如下表所示。
PERT模型相比于其他模型均取得最優(yōu)的效果,表明預(yù)訓(xùn)練中的亂序文在序列標(biāo)記任務(wù)中的良好能力。
對比機(jī)器閱讀理解、文本分類和命名實(shí)體識(shí)別三個(gè)任務(wù),可以發(fā)現(xiàn),PERT模型在MRC和NER任務(wù)上表現(xiàn)較好,但在TC任務(wù)上表現(xiàn)不佳,這意味著TC任務(wù)對詞語順序更加敏感,由于TC任務(wù)的輸入文本相對較短,有些詞語順序的改變會(huì)給輸入文本帶來完全的意義變化。然而,MRC任務(wù)的輸入文本通常很長,幾個(gè)單詞的排列可能不會(huì)改變整個(gè)文章的敘述流程;并且對于NER任務(wù),由于命名實(shí)體在整個(gè)輸入文本中只占很小的比例,因此詞語順序改變可能不會(huì)影響NER進(jìn)程。
語法檢查任務(wù)
在Wikipedia、Formal Doc、Customs和Legal 4個(gè)數(shù)據(jù)集上對文本分類任務(wù)進(jìn)行評測語法檢查任務(wù)進(jìn)行評測,結(jié)果如下表所示。
PERT模型相比于其他模型均取得最優(yōu)的效果,這是由于下游任務(wù)與預(yù)訓(xùn)練任務(wù)非常相似導(dǎo)致的。
預(yù)訓(xùn)練的訓(xùn)練步數(shù)對PERT模型的影響
不同的下游任務(wù)的最佳效果可能出現(xiàn)在不同的預(yù)訓(xùn)練步驟上,如下圖所示。
我們發(fā)現(xiàn)對于MRC和NER任務(wù),隨著預(yù)訓(xùn)練步數(shù)的增加,下游任務(wù)也會(huì)隨之提高。然而,對于TC任務(wù),不同數(shù)據(jù)的指標(biāo)在不同的步數(shù)上取得最優(yōu)。如果考慮到特定任務(wù)的效果,有必要在早期訓(xùn)練中保存部分模型。
不同的打亂粒度對PERT模型的影響
不同粒度間的打亂,可以使使輸入文本更具可讀性。通過在不同粒度內(nèi)亂序輸入文本來比較性能,如下表所示。
我們發(fā)現(xiàn),在各種打亂粒度中,無限制亂序的PERT模型在所有任務(wù)中都取得了最優(yōu)的效果;而選擇最小粒度(詞語之間)的模型,效果最差。可能原因是,雖然使用更小的粒度的亂序可以使輸入文本更具可讀性,但是對預(yù)訓(xùn)練任務(wù)的挑戰(zhàn)性較小,使模型不能學(xué)習(xí)到更好地語義信息。
不同預(yù)測空間對PERT模型的影響
將PERT模型使用詞表空間作為預(yù)測目標(biāo)是否有效?如下表所示。
實(shí)驗(yàn)結(jié)果表明,PERT模型不需要在詞表空間中進(jìn)行預(yù)測,其表現(xiàn)明顯差于在輸入序列上的預(yù)測;并且將兩者結(jié)合的效果也不盡如人意。
預(yù)測部分序列和預(yù)測全部序列對PERT模型的影響
ELECTRA模型的實(shí)驗(yàn)發(fā)現(xiàn)預(yù)測完全序列的效果比部分序列的更好,因此ELECTRA模型采用RTD任務(wù)對判別器采用完全序列預(yù)測。但通過本論文實(shí)驗(yàn)發(fā)現(xiàn),預(yù)測完全序列在PERT模型中并沒有產(chǎn)生更好的效果。表明在預(yù)訓(xùn)練任務(wù)中使用預(yù)測全部序列并不總是有效的,需要根據(jù)所設(shè)計(jì)的預(yù)訓(xùn)練任務(wù)進(jìn)行調(diào)整。
總結(jié)
PERT模型的預(yù)訓(xùn)練思路還是挺有意思的,并在MRC、NER和WOR任務(wù)上均取得了不錯(cuò)的效果。并且由于結(jié)構(gòu)與BERT模型一致,因此在下游任務(wù)使用時(shí),僅修改預(yù)訓(xùn)練模型加載路徑就實(shí)現(xiàn)了模型替換,也比較方便。當(dāng)打比賽或者做業(yè)務(wù)時(shí)候,可以不妨試一試,說不定有奇效。(ps:我在我們自己的MRC數(shù)據(jù)集上做過實(shí)驗(yàn),效果不錯(cuò)呦?。。?/p>
審核編輯 :李倩
-
語言模型
+關(guān)注
關(guān)注
0文章
520瀏覽量
10268 -
自然語言處理
+關(guān)注
關(guān)注
1文章
618瀏覽量
13552
原文標(biāo)題:PERT:一種基于亂序語言模型的預(yù)訓(xùn)練模型
文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論