ACL20 best paper荣誉提名 | DO NOT STOP Pre-training!
星標(biāo)/置頂小屋,帶你解鎖
最萌最前沿的NLP、搜索與推薦技術(shù)
文 |?JayLou婁杰(NLP算法工程師,信息抽取方向)
編 |? 可鹽可甜兔子醬
在昨晚23點的best paper典禮上我驚了,這篇論文竟然獲得了今年ACL2020 best paper榮譽(yù)提名...(我沒有其他意思
乘風(fēng)破浪、披荊斬棘的各種 預(yù)訓(xùn)練語言模型[1],都備受NLPer們的關(guān)注。而你是否思考過:直接拿BERT對目標(biāo)任務(wù)進(jìn)行finetune就夠了嗎?是否仍有提升空間?
ACL2020錄用的一篇來自Allen AI 的論文《Don’t Stop Pretraining: Adapt Language Models to Domains and Tasks》[2] 告訴我們:不要停止預(yù)訓(xùn)練!在目標(biāo)領(lǐng)域和任務(wù)上要繼續(xù)進(jìn)行預(yù)訓(xùn)練,效果還會有明顯提升(意外驚喜~)。
廢話不說,我們快速播報一下這篇paper的重要結(jié)論:
在目標(biāo)領(lǐng)域的數(shù)據(jù)集上繼續(xù)預(yù)訓(xùn)練(DAPT)可以提升效果;目標(biāo)領(lǐng)域與語言模型的原始預(yù)訓(xùn)練語料越不相關(guān),DAPT效果則提升更明顯。
在具體任務(wù)的數(shù)據(jù)集上繼續(xù)預(yù)訓(xùn)練(TAPT)可以十分“廉價”地提升效果。
結(jié)合二者(先進(jìn)行DAPT,再進(jìn)行TAPT)可以進(jìn)一步提升效果。
如果能獲取更多的、任務(wù)相關(guān)的無標(biāo)注數(shù)據(jù)繼續(xù)預(yù)訓(xùn)練(Curated-TAPT),效果則最佳。
如果無法獲取更多的、任務(wù)相關(guān)的無標(biāo)注數(shù)據(jù),采取一種十分輕量化的簡單數(shù)據(jù)選擇策略,效果也會提升。
筆者這里給出一個重要的實驗結(jié)果:RoBERTa直接對生物醫(yī)學(xué)領(lǐng)域的某個分類任務(wù)(低資源設(shè)置)進(jìn)行finetune時,f1只有79.3,而采取DAPT+Curated-TAPT后,指標(biāo)提升至83.8!提升居然有4.5個percent! 效果也是杠杠的~
也就是說:當(dāng)我們所執(zhí)行任務(wù)的標(biāo)注數(shù)據(jù)較少,所屬的領(lǐng)域與初始預(yù)訓(xùn)練語料越不相關(guān),而又能獲取到充分的、任務(wù)相關(guān)的無標(biāo)注數(shù)據(jù)時,那就不要停止領(lǐng)域預(yù)訓(xùn)練和任務(wù)預(yù)訓(xùn)練!
下面對這篇paper做詳細(xì)的介紹,本文的組織結(jié)構(gòu)為:
Arxiv訪問慢的小伙伴也可以在訂閱號后臺回復(fù)關(guān)鍵詞【0709】下載論文PDF~
背景介紹
大多數(shù)語言模型都在諸如Wikipedia的通用語料中預(yù)訓(xùn)練,而在領(lǐng)域化的特定場景會受到限制。因此很多研究致力于發(fā)掘:對目標(biāo)領(lǐng)域的數(shù)據(jù)繼續(xù)進(jìn)行預(yù)訓(xùn)練是否可行?如基于生物醫(yī)學(xué)文本的BioBERT[3],基于科學(xué)文本的SciBERT[4],基于臨床文本的Clinical-BERT[5]。我們通常稱這種范式為domain-pretrain或者post-pretrain。此外,一些工作對具體任務(wù),將語言模型做為輔助目標(biāo)進(jìn)行訓(xùn)練,如GPT1.0 [8]。
上述各種領(lǐng)域BERT雖然表明繼續(xù)進(jìn)行領(lǐng)域預(yù)訓(xùn)練的優(yōu)勢,但這些研究一次僅考慮單個領(lǐng)域,而且BERT原始預(yù)訓(xùn)練的語料庫相比于后來居上的語言模型仍然較小、多樣性也不足。更重要的是,我們尚不清楚一些問題,例如:
持續(xù)預(yù)訓(xùn)練的優(yōu)勢是否和下游任務(wù)的標(biāo)注數(shù)量有關(guān)?
持續(xù)預(yù)訓(xùn)練的優(yōu)勢是否和目標(biāo)領(lǐng)域與原始預(yù)訓(xùn)練語料庫的接近程度有關(guān)?(如圖1所示)
▲圖1 分別展示了原始預(yù)訓(xùn)練LM領(lǐng)域分布、目標(biāo)領(lǐng)域分布、任務(wù)數(shù)據(jù)集分布;任務(wù)數(shù)據(jù)集通常從目標(biāo)領(lǐng)域的一個較寬分布內(nèi)(淺灰色部分)進(jìn)行采樣;目標(biāo)領(lǐng)域和原始LM領(lǐng)域可交叉重疊。
1 領(lǐng)域自適應(yīng)預(yù)訓(xùn)練
領(lǐng)域自適應(yīng)預(yù)訓(xùn)練 (Domain-Adaptive Pretraining,DAPT),即在領(lǐng)域相關(guān)的大規(guī)模無標(biāo)注語料繼續(xù)進(jìn)行預(yù)訓(xùn)練,然后再對特定任務(wù)進(jìn)行finetune。
論文選取了4個領(lǐng)域語料庫,分別為生物醫(yī)學(xué)(BioMed)領(lǐng)域、計算機(jī)科學(xué)(CS)領(lǐng)域、新聞(NEWs)領(lǐng)域、評論(Reviews)領(lǐng)域,如圖2所示。我們采取RoBERTa作為基準(zhǔn)的預(yù)訓(xùn)練語言模型,其預(yù)訓(xùn)練語料庫相比于BERT數(shù)量更大、更具多樣性。
▲圖2 不同領(lǐng)域預(yù)訓(xùn)練的無標(biāo)注語料▲圖3 不同領(lǐng)域間的詞匯重疊度,PT代表RoBERTa的預(yù)訓(xùn)練語料
圖3展示了不同領(lǐng)域間的詞匯重疊度(選取每個領(lǐng)域TOP 10K個高頻詞,計算詞匯重復(fù)度),可以發(fā)現(xiàn)RoBERTa語料與NEWs和Reviews領(lǐng)域相似度高,而與BioMed和CS領(lǐng)域相似度較低。我們可以預(yù)測:與RoBERTa的領(lǐng)域越不相似,領(lǐng)域自適應(yīng)預(yù)訓(xùn)練的受益程度越高。
論文對每個領(lǐng)域選取2個特定分類任務(wù)進(jìn)行實驗,并進(jìn)行了高資源和低資源(訓(xùn)練集標(biāo)注量小于等于5000)配置,如圖4所示:其中CHEMPROT、ACL-ARC、SCIREC、HYP為低資源設(shè)置。
▲圖4 各個領(lǐng)域特定任務(wù)數(shù)據(jù)設(shè)置▲圖5 DAPT與領(lǐng)域無關(guān)的?DAPT對比由圖5可以看出無論高資源還是低資源條件,采用領(lǐng)域自適應(yīng)預(yù)訓(xùn)練在4個領(lǐng)域?qū)?yīng)的8個Task上性能均有增加(相較于RoBERTa直接對特定Task進(jìn)行finetune),而低資源條件下增幅更具明顯:尤其是BM、CS這兩個領(lǐng)域,它們與RoBERTa的原領(lǐng)域相差較大,提升會更明顯。
到這里,我們是否會存在這樣一個疑問:是否只要在額外的語料庫上持續(xù)進(jìn)行LM預(yù)訓(xùn)練,性能就會提升呢?也就是說只要暴露更多的數(shù)據(jù),就可以改進(jìn)RoBERTa性能嗎?
為檢驗上述猜想,論文繼續(xù)進(jìn)行了實驗:將LM預(yù)訓(xùn)練繼續(xù)應(yīng)用于領(lǐng)域外(out domain)的語料庫,記這一過程為?DAPT。一個具體做法是:我們可以根據(jù)圖3展示的領(lǐng)域間的重疊程度,選取與NEWs最不相關(guān)的CS領(lǐng)域的語料庫繼續(xù)進(jìn)行預(yù)訓(xùn)練,然后在驗證其在NEWs領(lǐng)域下的兩個特定Task上finetune的效果。其余領(lǐng)域做法類似。
圖5可以看出除了SCIERC和ACL-ARG任務(wù)外,域外?DAPT下的性能相較于RoBERTa下降。因此,在大多數(shù)情況下,不考慮領(lǐng)域相關(guān)性而直接暴露于更多數(shù)據(jù)的持續(xù)預(yù)訓(xùn)練對最終任務(wù)性能是有害的;而在某些特例下(極少數(shù)情況),直接在額外數(shù)據(jù)下持續(xù)預(yù)訓(xùn)練也是有用的,文獻(xiàn)[6] 中也有類似的觀點。
2 任務(wù)自適應(yīng)預(yù)訓(xùn)練
任務(wù)數(shù)據(jù)集可以看作相關(guān)領(lǐng)域中的一個子集,我們相信:對任務(wù)數(shù)據(jù)集本身或者與任務(wù)相關(guān)的數(shù)據(jù)繼續(xù)預(yù)訓(xùn)練,對下游特定任務(wù)可能會有幫助。
任務(wù)自適應(yīng)預(yù)訓(xùn)練 (Task-Adaptive Pretraining ,TAPT),即在任務(wù)相關(guān)的無標(biāo)注語料繼續(xù)進(jìn)行預(yù)訓(xùn)練,然后再對特定任務(wù)進(jìn)行finetune。需要說明的是,與領(lǐng)域適應(yīng)的預(yù)訓(xùn)練DAPT相比TAPT實質(zhì)上進(jìn)行了一種權(quán)衡:使用的預(yù)訓(xùn)練語料要少得多,但與特定任務(wù)相關(guān)的語料要多得多(假設(shè)訓(xùn)練集很好地代表了任務(wù)的各個方面),這是一種“廉價”的做法。
▲圖6 DAPT、TAPT、DAPT+TAPT對比如圖6所示,在8個特定任務(wù)上繼續(xù)預(yù)訓(xùn)練(直接使用相應(yīng)任務(wù)的標(biāo)注數(shù)據(jù)當(dāng)作無標(biāo)注語料),TAPT都提高了相應(yīng)的RoBERTa基準(zhǔn);特別是在NEWs領(lǐng)域的2個任務(wù)上(新聞領(lǐng)域也是RoBERT預(yù)訓(xùn)練語料庫的一部分),TAPT也比RoBERTa有所提升。
從上述介紹可以得知,TAPT和DAPT之間有著明顯的差異,DAPT具有更多的資源優(yōu)勢,但TAPT可以在某些任務(wù)(特別是在HYPERPARTISAN和HELPFULNESS)中超過了DAPT。可以看出,TAPT在某些任務(wù)上既“便宜”又有效!
圖6也給出結(jié)合DAPT和TAPT的性能表現(xiàn)(在DAPT后,緊接著進(jìn)行TAPT),除HYPERPARTISAN任務(wù)外,DAPT+TAPT都超過了單獨使用DAPT或TAPT。我們猜測,如果是在TAPT后再進(jìn)行DAPT,可能會對任務(wù)相關(guān)的語料存在災(zāi)難性遺忘問題;當(dāng)然,也許對DAPT和TAPT進(jìn)行更復(fù)雜的組合方式,效果會更佳。
▲圖7 跨任務(wù)遷移的TAPT對比圖7給出了跨任務(wù)遷移的Transfer-TAPT實驗:即在同一領(lǐng)域內(nèi),對某一任務(wù)進(jìn)行TAPT預(yù)訓(xùn)練,然后在另一個任務(wù)上進(jìn)行finetune。例如,在BioMed領(lǐng)域,進(jìn)一步使用RCT未標(biāo)注數(shù)據(jù)進(jìn)行LM預(yù)訓(xùn)練,然后使用CHEMPROT標(biāo)記的數(shù)據(jù)對其進(jìn)行finetune并觀察效果。我們可以看出Transfer-TAPT的性能均有下降,這表明:由于同一領(lǐng)域內(nèi)、不同任務(wù)數(shù)據(jù)的分布不同,TAPT并不適合跨任務(wù)遷移,這也說明僅僅進(jìn)行領(lǐng)域自適應(yīng)的預(yù)訓(xùn)練DAPT是不夠的,以及在DAPT之后再進(jìn)行TAPT為什么是有效的。
3 任務(wù)自適應(yīng)預(yù)訓(xùn)練的增強(qiáng)方法
上述分析表明,任務(wù)自適應(yīng)預(yù)訓(xùn)練(TAPT)是一種廉價但有效的提升方法。但上述TAPT直接將標(biāo)注數(shù)據(jù)當(dāng)作無標(biāo)注數(shù)據(jù)進(jìn)行預(yù)訓(xùn)練,畢竟數(shù)據(jù)量還是較小的。如果我們能夠擁有更多的、任務(wù)相關(guān)的無標(biāo)注數(shù)據(jù),繼續(xù)進(jìn)行TAPT,效果又會如何呢?
下面分別介紹兩種構(gòu)造更多的、任務(wù)相關(guān)的無標(biāo)注數(shù)據(jù)的增強(qiáng)方式:1)人工構(gòu)造;2)自動數(shù)據(jù)選擇。
3.1 Human Curated-TAPT
任務(wù)數(shù)據(jù)集的創(chuàng)建通常會通過人工方式從已知來源收集,其中通過下采樣選取部分?jǐn)?shù)據(jù)進(jìn)行人工標(biāo)注構(gòu)建標(biāo)注數(shù)據(jù)集,而剩下的未標(biāo)注數(shù)據(jù)有時也是可用的。對人工構(gòu)造的、可用的、任務(wù)相關(guān)的未標(biāo)注數(shù)據(jù)進(jìn)行任務(wù)自適應(yīng)預(yù)訓(xùn)練,這一過程就是Curated-TAPT。
▲圖8 Curated-TAPT實驗結(jié)果圖8給出了Curated-TAPT的實驗結(jié)果。其中RCT-500是保留原始標(biāo)注集的500條標(biāo)注數(shù)據(jù),基于剩余的標(biāo)注數(shù)據(jù)作為無標(biāo)注數(shù)據(jù)進(jìn)行Curated-TAPT;HYP和IMDB就是圖4中直接給出的任務(wù)相關(guān)的無標(biāo)注數(shù)據(jù)。
我們可以發(fā)現(xiàn):除了HYP任務(wù)外,Curated-TAPT相較于TAPT均有提升,而Curated-TAPT也超過了DAPT+TAPT,可見如果我們能獲取更多的、任務(wù)相關(guān)的無標(biāo)注數(shù)據(jù)進(jìn)行TAPT,效果不但提升明顯,而且更為“廉價”、消耗資源低(后續(xù)圖10會詳細(xì)介紹這一點);而結(jié)合DAPT+Curated-TAPT在上述3個任務(wù)上效果均提升,特別是HYP任務(wù)更為明顯,從90提升至92.1.
可想而知,如果我們在設(shè)計相關(guān)任務(wù)時,能夠釋放大量的、任務(wù)相關(guān)的無標(biāo)注數(shù)據(jù)集,并繼續(xù)進(jìn)行預(yù)訓(xùn)練(TAPT),對于最終任務(wù)是極其有利的。
3.2 Automated Data Selection for TAPT
本小節(jié)考慮一個資源短缺的情況,當(dāng)任務(wù)設(shè)計者沒有釋放更多的、任務(wù)相關(guān)的無標(biāo)注數(shù)據(jù)時,我們怎么能夠通過TAPT受益?
▲圖9 任務(wù)相關(guān)的數(shù)據(jù)自動選取方法論文采取的方法也很簡單,即設(shè)計一種簡單的、輕量化的自動數(shù)據(jù)選擇方法。具體地,如圖9所示,例如對于BioMed領(lǐng)域的ChemProt任務(wù),采取VAMPIRE [7](一種輕量化的詞袋語言模型)對1百萬的領(lǐng)域數(shù)據(jù)進(jìn)行預(yù)訓(xùn)練,然后將ChemProt任務(wù)中無標(biāo)注的句子嵌入到VAMPIRE向量空間。通過kNN最近鄰方法,選取k個最相似的、BioMed領(lǐng)域內(nèi)的句子作為任務(wù)相關(guān)的無標(biāo)注數(shù)據(jù),然后進(jìn)行TAPT(這里表述為kNN-TAPT)。
▲圖10 不同TAPT方式的實驗結(jié)果圖10給出了不同TAPT方式的實驗結(jié)果。通過自動選擇方法進(jìn)行的kNN-TAPT相比于TAPT效果提升明顯;各種TAPT會比DAPT更為廉價:TAPT訓(xùn)練會比DAPT快60倍。Curated-TAPT表現(xiàn)最佳,但需要考慮在大型領(lǐng)域內(nèi)人工構(gòu)造任務(wù)相關(guān)的無標(biāo)注數(shù)據(jù)的成本,不過這樣的成本相比較于標(biāo)注成本也是微不足道了。所以,我們最好在設(shè)計任務(wù)時能夠釋放更多的、任務(wù)相關(guān)的無標(biāo)注數(shù)據(jù),以便于進(jìn)一步進(jìn)行TAPT預(yù)訓(xùn)練。
總結(jié)
▲圖11 多階段預(yù)訓(xùn)練策略總結(jié)圖11很清晰地給出了不同階段的預(yù)訓(xùn)練策略,例如,kNN-TAPT要在領(lǐng)域內(nèi)選取與任務(wù)相關(guān)的數(shù)據(jù),這是領(lǐng)域數(shù)據(jù)集的一個子集,然后進(jìn)行TAPT和finetune;Curated-TAPT要額外構(gòu)造任務(wù)相關(guān)的無標(biāo)注數(shù)據(jù)集,然后進(jìn)行finetune。
本篇論文的相關(guān)實驗表明:即使是具有數(shù)億個參數(shù)的語言模型也難以編碼單個文本域的復(fù)雜性,更不用說所有語言了。繼續(xù)在目標(biāo)領(lǐng)域和任務(wù)上進(jìn)行預(yù)訓(xùn)練可以帶來明顯的受益。
論文也給出了未來的研究方向:如何采取一個更有效的數(shù)據(jù)選擇方法,來構(gòu)建更多的、任務(wù)相關(guān)的無標(biāo)注數(shù)據(jù),有效地將大型預(yù)訓(xùn)練語言模型重構(gòu)到更遠(yuǎn)的domain,并且獲得一個可重用的語言模型。
最后,筆者還是要重申一個不成熟的小建議:當(dāng)我們所執(zhí)行任務(wù)的標(biāo)注數(shù)據(jù)較少,所屬的領(lǐng)域與初始預(yù)訓(xùn)練語料越不相關(guān),而又能獲取到充分的、任務(wù)相關(guān)的無標(biāo)注數(shù)據(jù)時,那就不要停止領(lǐng)域預(yù)訓(xùn)練和任務(wù)預(yù)訓(xùn)練!
Arxiv訪問慢的小伙伴也可以在訂閱號后臺回復(fù)關(guān)鍵詞【0709】下載論文PDF~
賣萌屋成立了自然語言處理、搜索技術(shù)、推薦系統(tǒng)、算法崗求職等方向大群和知識圖譜與信息抽取、智能問答、對話系統(tǒng)等垂類討論群。不僅可以認(rèn)識眾多志同道合的優(yōu)秀小伙伴,而且還有若干賣萌屋美麗小姐姐(劃掉)、頂會審稿人、大廠研究員、知乎大V等你來撩哦。后臺回復(fù)關(guān)鍵詞【入群】即可獲取入口。
記得掃描下方二維碼關(guān)注并星標(biāo)置頂,我才能來到你面前哦。
參考文獻(xiàn)
[1] PTMs:NLP預(yù)訓(xùn)練模型的全面總結(jié)( https://zhuanlan.zhihu.com/p/115014536 )?
[2] Don’t Stop Pretraining: Adapt Language Models to Domains and Tasks
[3] BioBERT: a pre-trained biomedical language representation model for biomedical text mining.?
[4] SciBERT: A pre-trained language model for scientific text?
[5] ClinicalBERT: Modeling clinical notes and predicting hospital readmission.?
[6] Cloze-driven pretraining of self-attention networks.?
[7] Variational pretraining for semi-supervised text classification.?
[8] GPT:Improving Language Understanding by Generative Pre-Training
總結(jié)
以上是生活随笔為你收集整理的ACL20 best paper荣誉提名 | DO NOT STOP Pre-training!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一个励志PM小哥哥的Java转型之路
- 下一篇: 恕我直言,很多调参侠搞不清数据和模型谁更