訂閱
糾錯(cuò)
加入自媒體

字節(jié)跳動(dòng) | AMBERT:一種多粒度Tokenization的預(yù)訓(xùn)練語(yǔ)言模型

論文標(biāo)題:AMBERT: A Pre-trained Language Model with Multi-Grained Tokenization(多粒度分詞的預(yù)訓(xùn)練語(yǔ)言模型AMBERT)

作者:Xinsong Zhang, Hang Li

機(jī)構(gòu):字節(jié)跳動(dòng)

圖片標(biāo)題

摘要

以BERT為代表的預(yù)訓(xùn)練語(yǔ)言模型在自然語(yǔ)言理解(NLU)中的霸主地位毋庸置疑。這些模型中的token通常是細(xì)粒度的,對(duì)于英文,token是單詞或子詞;對(duì)于中文這類(lèi)語(yǔ)言,token則是單個(gè)漢字。在英語(yǔ)中也存在多個(gè)單詞組成的自然詞匯單元,例如New York,因此使用粗粒度的tokenization也是合理的。事實(shí)上,細(xì)粒度和粗粒度tokenization對(duì)于預(yù)訓(xùn)練語(yǔ)言模型的學(xué)習(xí)各有利弊。據(jù)此,字節(jié)跳動(dòng)提出聯(lián)合使用細(xì)粒度和粗粒度的預(yù)訓(xùn)練語(yǔ)言模型:AMBERT。對(duì)于英文,將tokenization之后得到的細(xì)粒度(一串的單詞)信息和粗粒度(一串的短語(yǔ))信息輸入到AMBERT,細(xì)粒度和粗粒度分別使用一個(gè)encoder,這2個(gè)encoder僅僅是嵌入層參數(shù)不同,其他參數(shù)共享,從而獲取詞級(jí)別的上下文表征和短語(yǔ)級(jí)別的上下文表征。在中文上的細(xì)粒度和粗粒度分別對(duì)應(yīng)字和詞。在中英文benchmark(包括CLUE, GLUE, SQuAD and RACE)上分別進(jìn)行實(shí)驗(yàn)。結(jié)果表明,AMBERT模型在幾乎所有情況下都優(yōu)于現(xiàn)有性能最好的模型,特別是對(duì)中文的性能改善顯著。

模型

AMBERT的整體框架如Figure 3所示。先對(duì)輸入文本上進(jìn)行tokenization,以獲得細(xì)、粗粒度的token序列。細(xì)、粗粒度token序列再分別輸入到兩個(gè)encoder。這里的encoder與BERT或Transformer的encoder的架構(gòu)完全相同。此外,兩個(gè)encoder在每個(gè)對(duì)應(yīng)層共享相同的參數(shù),但二者的嵌入層參數(shù)不同。最后分別得到細(xì)粒度token序列和粗粒度token序列的的上下文表征。

模型結(jié)構(gòu)簡(jiǎn)單到爆,有木有啊?

預(yù)訓(xùn)練

預(yù)訓(xùn)練的目標(biāo)還是MLM,由于NSP已經(jīng)是樹(shù)倒猢猻散,墻倒眾人推,AMBERT當(dāng)然站在巨人的肩膀上(踩上一腳),在需要的時(shí)候拿過(guò)來(lái)比(數(shù))較(落)一番。

其中$overline{mathbf{x}}$表示被mask掉的細(xì)粒度token(即需要重建出來(lái)的token),$hat{mathbf{x}}$表示原文被mask的細(xì)粒度token序列。$overline{mathbf{z}}$表示被mask掉的粗粒度token(即需要重建出來(lái)的token),$hat{mathbf{z}}$表示原文被mask的粗粒度token序列。

微調(diào)

以分類(lèi)任務(wù)上微調(diào)為例,將細(xì)、粗粒度encoder中 [CLS]的表征,用于下游分類(lèi)任務(wù)。微調(diào)過(guò)程的優(yōu)化函數(shù)如下:

其中,$mathbf{x}$為輸入的文本,$oldsymbol{y}$表示待預(yù)測(cè)的文本類(lèi)別,$oldsymbol{r}_{x 0}$和$oldsymbol{r}_{z 0}$分別是細(xì)粒度和粗粒度encoder中特殊token [CLS]的表征。而最后一項(xiàng)則是通過(guò)歸一化讓兩個(gè)粒度得到的[CLS]表征盡量保持一致。此外,文章還對(duì)AMBERT稍作修改,就得到了下述2種變體:

AMBERT-Combo:

用兩個(gè)非參數(shù)共享的encoder分別編碼兩種粒度的句子;

AMBERT-Hybrid:

用單個(gè)encoder而不是兩個(gè)encoder去同時(shí)編碼兩種粒度的句子,也就是把粗細(xì)粒度的句子先拼接起來(lái)再送到BERT里,這就會(huì)讓自注意力在不同粒度的句子中進(jìn)行交互。

實(shí)驗(yàn)

數(shù)據(jù)說(shuō)明

中文預(yù)訓(xùn)練數(shù)據(jù)集使用一個(gè)包含2500萬(wàn)文檔(57G未壓縮文本))的今日頭條語(yǔ)料庫(kù)(估計(jì)不會(huì)公開(kāi)的,sad+1)。英文預(yù)訓(xùn)練數(shù)據(jù)集則來(lái)自Wikipedia和OpenWebText的1390萬(wàn)文檔(47G未壓縮文本)的語(yǔ)料庫(kù)。對(duì)于中文,粗細(xì)粒度分別是詞和字,在CLUE上進(jìn)行評(píng)測(cè)。分詞工具則是字節(jié)跳動(dòng)內(nèi)部開(kāi)發(fā)的分詞工具(估計(jì)也不會(huì)開(kāi)源了sad+10086)。這兩種token的生成過(guò)程都利用了WordPiece技術(shù),最終產(chǎn)生的中文詞典分別包含21128個(gè)字和72635個(gè)詞。對(duì)于英文,粗細(xì)粒度分別短語(yǔ)和詞。英文單詞是天然的細(xì)粒度token,至于粗粒度是先利用KenLM構(gòu)建n-gram,用頻率足夠高的短語(yǔ)構(gòu)建短語(yǔ)級(jí)別的字典,這些短語(yǔ)的最后一個(gè)單詞高度依賴于其前置單詞。最后利用貪心算法對(duì)文本進(jìn)行短語(yǔ)級(jí)切分,得到30522個(gè)單詞和77645個(gè)短語(yǔ)。英文評(píng)測(cè)任務(wù)是在GLUE上進(jìn)行的,此外還在英文閱讀理解數(shù)據(jù)集SQuAD和RACE進(jìn)行進(jìn)一步實(shí)驗(yàn)。

實(shí)驗(yàn)結(jié)果:中文數(shù)據(jù)集

中文CLUE上的實(shí)驗(yàn)結(jié)果如Table 1和Table 2所示。從實(shí)驗(yàn)結(jié)果看,AMBERT在CLUE上確實(shí)一枝獨(dú)秀,在其中4個(gè)任務(wù)上取得最優(yōu)結(jié)果,但在WSC和CMRC數(shù)據(jù)集上與最優(yōu)結(jié)果存在較大差距,特別是CMRC數(shù)據(jù)集上堪稱大型翻車(chē)現(xiàn)場(chǎng)(3個(gè)百分點(diǎn)的差距)。

實(shí)驗(yàn)結(jié)果:英文數(shù)據(jù)集

Table 4和Table 6是AMBERT在GLUE上的實(shí)驗(yàn)結(jié)果。在多數(shù)數(shù)據(jù)集上AMBERT要優(yōu)于其他baseline模型,且多粒度的效果確實(shí)好于單粒度。但是如果放到更大范圍的模型比較,AMBERT整體上遜色于RoBERTa,但是優(yōu)于其他模型。另外,從機(jī)器閱讀理解數(shù)據(jù)集的對(duì)比結(jié)果Table 5可以看出,在SQuAD上AMBERT大大優(yōu)于Google官方的BERT,而在檢測(cè)span任務(wù)中,單詞級(jí)的BERT通常表現(xiàn)良好,短語(yǔ)級(jí)BERT較差。另外,在RACE的dev set 和 test set上,AMBERT發(fā)揮穩(wěn)定,全場(chǎng)最佳。

總結(jié)

文章提出多粒度的預(yù)訓(xùn)練模型AMBERT,聯(lián)合使用粗細(xì)粒度的語(yǔ)言單元對(duì)句子進(jìn)行切分,從而充分利用二者各自的優(yōu)勢(shì)。在中文和英文的自然語(yǔ)言理解任務(wù)上證明該模型的有效性,尤其是對(duì)中文而言提升效果更加顯著。但是,在中文數(shù)據(jù)集上的比較上有幾個(gè)不足:

(1) 中文的分詞工具屬于字節(jié)跳動(dòng)內(nèi)部,尚未開(kāi)源。

(2) 更重要的是,預(yù)訓(xùn)練的數(shù)據(jù)集也是字節(jié)跳動(dòng)內(nèi)部的數(shù)據(jù)集,而不是通常中文預(yù)訓(xùn)練使用的中文維基百科語(yǔ)料。作者自己也一再?gòu)?qiáng)調(diào),只能作為參考。

(3) 預(yù)訓(xùn)練模型包含代碼和模型均沒(méi)有發(fā)布。

基于現(xiàn)況,如此就在CLUE上其他模型比較,似乎有失公允。到底是分詞、數(shù)據(jù)、還是模型優(yōu)勢(shì)?雖然作者也一直在強(qiáng)調(diào),對(duì)比僅僅作為參考,僅作為參考,作為參考,為參考,參考。。。但是,作為一個(gè)既沒(méi)有開(kāi)放源碼也沒(méi)有發(fā)布預(yù)訓(xùn)練模型的預(yù)訓(xùn)練語(yǔ)言模型,應(yīng)該是第一個(gè)吧,所以各相關(guān)從業(yè)人員于此頗有微詞。未來(lái)或許可期,先讓子彈飛一會(huì),讓我們拭目以待。

聲明: 本文由入駐維科號(hào)的作者撰寫(xiě),觀點(diǎn)僅代表作者本人,不代表OFweek立場(chǎng)。如有侵權(quán)或其他問(wèn)題,請(qǐng)聯(lián)系舉報(bào)。

發(fā)表評(píng)論

0條評(píng)論,0人參與

請(qǐng)輸入評(píng)論內(nèi)容...

請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字

您提交的評(píng)論過(guò)于頻繁,請(qǐng)輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無(wú)評(píng)論

暫無(wú)評(píng)論

    掃碼關(guān)注公眾號(hào)
    OFweek人工智能網(wǎng)
    獲取更多精彩內(nèi)容
    文章糾錯(cuò)
    x
    *文字標(biāo)題:
    *糾錯(cuò)內(nèi)容:
    聯(lián)系郵箱:
    *驗(yàn) 證 碼:

    粵公網(wǎng)安備 44030502002758號(hào)