拒絕無腦吹!從ACL2020看預訓練缺陷

夕小瑶發表於2020-08-06

以 BERT 為代表作的預訓練模型的研究熱度一直很高,到 0202 年了,預訓練的研究依舊層出不窮,而且 ACL 2020 Best Paper 榮譽提名也選擇了這一主題的研究。

但是,只要我們不停止預訓練,其表現就一定會提升嗎?預訓練模型可以完全支援 NLP 的所有下游任務嗎?在 ACL 2020 已發表的論文中,我們整理並歸納出了目前學術界對預訓練模型的不同看法。

論點一

預訓練,效果就是棒

預訓練的優勢,來源於大量資料積累所造就的良好泛化能力。

ACL 2020|Don’t Stop Pretraining: Adapt Language Models to Domains and Tasks[1]

動機

雖然通用預訓練模型是在大量語料上進行的,且在glue benchmark等經典的公開資料集上取得了很好的效果,但是當其遷移到一些不那麼通用的領域資料(如醫療、金融等)上時,通用預訓練模型是否依然有這麼好的表現呢?

實驗

作者在4個領域(生物醫學、電腦科學、新聞和評論)的8個分類任務上進行了“繼續預訓練”的實驗,有以下兩種“繼續”方式:

  • 領域自適應預訓練(Domain-Adaptive Pre-Training, DAPT) 在特定領域的無標註資料上繼續進行預訓練。

  • 任務自適應預訓練(Task-Adaptive Pre-Training,TAPT) 在和任務相關但未標註的資料上繼續進行預訓練。

實驗設定如下:

拒絕無腦吹!從ACL2020看預訓練缺陷

實驗結果:

拒絕無腦吹!從ACL2020看預訓練缺陷

結論

實驗表明針對領域(DAPT)或任務(TAPT)資料繼續預訓練可以提升下游模型的效果,先進行領域自適應訓練再進行任務自適應訓練,往往可以進一步提升模型表現。雖然論文是基於 RoBERTa 展開實驗,但是作者認為這些策略都是通用的,所以應用到其他語言模型上也是奏效的。

當能獲取到更多工相關的無標註資料進行繼續預訓練(Curated-TAPT)時,效果更佳;如果無法取得這些資料,可以透過基於KNN的簡單資料選擇策略,也可以取得一定程度的提升。

此外,作者對來自相同 domain 的兩個不同任務進行了“跨任務遷移實驗”,即首先在任務 A 的標註資料上進行 LM 預訓練,然後在任務 B 的標註資料上 finetune,實驗發現這種跨任務的預訓練對效果是有損失的。

該更多的更多細節可以參考賣萌屋前不久推送過的《ACL20 best paper榮譽提名 | DO NOT Stop Pretraining!》

ACL 2020 | Pretrained Transformers Improve Out-of-Distribution Robustness[2]

動機

通常一個 NLP 任務的訓練集、驗證集、測試集都是符合相同分佈(independent and identically distributed,IID)的資料。以 Transformer 為核心的預訓練模型在相同分佈的測試集上可以取得高準確率,但是它們在不同分佈(out-of-distribution,OOD) 的資料上的泛化能力如何呢?

實驗

作者首先構建了一套測試模型魯棒性的評價體系,然後在 7 個 NLP 任務上度量多個模型的 OOD 泛化能力 generalization 和檢測能力 detection。實驗的模型包括 bag-of-words、ConvNets 和 LSTM 以及 Transformers 系的 BERT、ALBERT模型。

結論

  • 基於 Transformers 的模型相比其他結構的較早提出的模型在 OOD 上更加魯棒,尤其是訓練語料的風格、形式越豐富的時候。但是並不代表說越大引數規模的 PTMs 表現越好。預訓練很大程度上彌補了 OOD 和 IID 之間的差異。

  • 蒸餾可能對 PTMs 效能是有損害的。

  • PTMs 在異常樣本檢測上也比以前的模型表現更敏感。

另外,本文不同於域適應要同時學習源和目標分佈的表示,而是在沒有域適應的情況下,測試模型在不可預知的分佈偏差下的魯棒性。

ACL 2020|Pre-training Is (Almost) All You Need: An Application to Commonsense Reasoning[3]

動機

對預訓練模型進行微調已經成為解決下游 NLP 任務的一個標準做法。因為預訓練模型本身沒有攜帶特定分類標籤的先驗知識,所以作者認為微調不是最優的。那如何更好地利用預訓練模型呢?

實驗

本文研究的任務是常識推理任務,Transformer-based 的 encoder 之後不是連線分類層,而是設計了一個對 hypotheses 進行排序的打分函式。在 4 個常識推理資料集進行 zero-shot learning。同時和以 classifier 為輸出層進行 finetune 的方法進行了對比,測試兩者隨著訓練集規模的變化的模型表現。採用 RoBERTa-large 作為實驗模型。

結論

實驗表明,和有監督方法相比,作者提出的評分方法可以作為一個很強的 baseline。直接使用 MLM 的 head 會有持續的效能增益隨著訓練資料規模的減小。未來工作包括將該評分方法用於自然語言推斷和情感分析等任務。

論點二

預訓練模型對語言的理解有限

預訓練模型的侷限體現在,一是記憶和儲存語言知識的能力有限,二是對語言邏輯的理解能力有限。

ACL 2020|To Pretrain or Not to Pretrain: Examining the Benefits of Pretraining on Resource Rich Tasks[4]

動機

PTMs 已然取得了很好的效果,作者認為在資料豐富的下游任務中微調模型還沒有很好地被研究,所以作者想檢驗下游任務中訓練樣本的數量對預訓練模型的影響。

實驗

本文實驗關注於多類別的情感分類任務,對三種模型進行了系統的實驗,包括 RoBERTa、LSTM 以及使用預訓練模型的詞向量層的 LSTM。

結論

對於文字分類任務來說,用百萬級的資料訓練簡單的 LSTM 就足夠獲得有競爭力的效果。微調 RoBERTa 的結果 與 LSTM 的差距不足 1% 。當訓練資料足夠多時,基於 MLM 的 PTMs 表現可能不再增加。

ACL 2020|Negated and Misprimed Probes for Pretrained Language Models: Birds Can Talk, But Cannot Fly[5]

動機

PTMs 已經成為一種用來捕獲通用語言知識和基礎事實知識的通用工具,但是 PTMs 是否真的可以從訓練語料中學習到知識呢?比如 PTMs 是否具備區分肯定否定、是否不被錯誤的噪聲干擾呢?

實驗

作者設計了兩組實驗來對 PTMs 進行語言模型分析(LAnguage Model Analysis,LAMA)。1)研究模型是否可以正確區分肯定否定。透過人為地在句子中插入否定詞,比如(“Birds cannot [MASK]”)和(“Birds can [MASK]”);(2)研究模型是否被錯誤資訊誘導。在模型可以正確識別的句子中加入“錯誤”,比如(“Talk?Birds can [MASK]”)。

結論

作者發現預訓練模型都不能很好地處理這兩類問題。當前的預訓練模型很容易被干擾,例如句子中的否定和“錯誤”。它是透過較淺層的模式匹配的方式解決開放域QA問題,而不是基於事實知識和推理。事實知識和邏輯推理能力在預訓練模型中是零散的、不成體系的。

論點三

預訓練模型的遷移能力仍待研究

遷移能力的侷限體現在,對於小資料集能否很好地適應任務?或者微調後是否忘記了已經在預訓練中學習到的知識?

ACL 2020|Intermediate-Task Transfer Learning with Pretrained Models for Natural Language Understanding: When and Why Does It Work?[6]

動機

儘管預訓練模型表現良好,在對目標任務微調之前,如果在資料豐富的中間任務上對模型進行再次訓練是否可以提升效果?再者,什麼樣的中間任務對目標任務有益?

實驗

作者對中間任務對 PTMs 的影響進行了大規模的實驗,本質上一篇篇實驗報告的文章。實驗的步驟如下圖所示,1)獲得預訓練的 RoBERTa,2)在中間任務上繼續訓練,3)對目標任務微調。本文一共設計了 110 種中間任務和目標任務的組合,並用 25 個探針任務進行評估,涵蓋了語法和語義。

拒絕無腦吹!從ACL2020看預訓練缺陷

結論

作者觀察到,需要高階推理能力的中間任務,對於提升目標任務的效果往往更好。例如共指共指解析任務。但遺憾的是,作者並未觀察到中間任務與目標任務之間更加精細的相關性,這有待於進一步的研究。另外作者表明,經過中間任務的學習後可能導致模型忘記一些預訓練中得到的知識,而這可能限制了對演算法的分析。

ACL 2020|Do You Have the Right Scissors? Tailoring Pre-trained Language Models via Monte-Carlo Methods[7]

動機

微調是一種常見的利用預訓練模型的方式。作者觀察到在一個小資料集上微調可能導致高估(over-estimated) 或 低估(under-estimated) 的現象。

實驗

作者提出一種稱為 MC-Tailor 的方法,把高估區域的機率質量(probalility mass)截斷和轉移到低估區域。MC-Tailor 包括一個檢測高估和低估區域的比率估計模組,以及一個 早期拒絕取樣(Early Rejection Sampling,ERS) 演算法,在保證取樣質量的同時加快取樣速度。在 9 個不同風格和規模的資料集進行實驗,並使用了 5 項評價指標。

拒絕無腦吹!從ACL2020看預訓練缺陷

結論

文字生成任務上,MC-Tailor 效果顯著優於微調方法。這表明在小資料集上應用預訓練模型,微調可能不是擬合資料的最好方法

論點四

預訓練模型有嚴重的漏洞

預訓練對於下游任務來說似乎是一個黑盒,僅僅對預訓練模型進行微調並不代表我們完全掌控了這一模型。

ACL 2020|Weight Poisoning Attacks on Pretrained Models[8]

動機

如果使用者下載了不受信任的預訓練模型,是否會構成安全威脅呢?

實驗

作者透過一種 RIPPLe正則化方法和 Embedding Surgery 的初始化方法,構建 weight poisoning 攻擊(如圖所示),在情感分類,毒性檢測和垃圾郵件檢測任務上驗證此方法的可行性。

拒絕無腦吹!從ACL2020看預訓練缺陷

結論

weight poisoning 這種攻擊方式廣泛存在,並且構成了嚴重威脅。即使攻擊者對資料集和微調過程瞭解有限的情況下,也可以隨意操控模型預測結果。所以,預訓練模型在微調後可能會暴露“後門”, RIPPLe 甚至可能構建高達 100% 成功率的後門。另外,作者提出一種防禦方式是,根據頻率以及與輸出類別的關係來檢查可能的觸發關鍵詞。

小結

我們不應當一味鼓吹預訓練模型在 NLP 中的作用。預訓練模型是龐大的黑盒子,是大型語料庫的高度抽象。T5、GPT-3 等模型,比更大還更大,以到普通實驗室無法使用的地步。

共性與個性是我們理解世界的基本原理之一,而只強調預訓練意味著只強調 NLP 任務的共性,即便這樣的模型再大,也忽視了各類任務的個性。透過彙集當前研究的各種觀點,我們可以發現,更大的模型並不是解決 NLP 各類任務的萬能鑰匙。

更重要的是且對研究者具有啟發的是,預訓練模型的遷移能力、對語言的記憶能力、語言理解能力,甚至安全性上還存在諸多缺陷,等待我們的探索。

在訂閱號「夕小瑤的賣萌屋」後臺回覆關鍵詞【0804】,即可下載論文PDF合集。

相關文章