天天看點

無需大規模預訓練,清華提出高效NLP學習架構TLM:從零開始比肩預訓練語言模型性能

近期,來自清華大學的研究者們提出了一種簡單高效的 NLP 學習架構。不同于當下 NLP 社群主流的大規模預訓練 + 下遊任務微調(pretraining-finetuning)的範式,這一架構無需進行大規模預訓練。相較于傳統的預訓練語言模型,該架構将訓練效率 (Training FLOPs) 提升了兩個數量級,并且在多個 NLP 任務上實作了比肩甚至超出預訓練模型的性能。這一研究結果對大規模預訓練語言模型的必要性提出了質疑:大規模預訓練對下遊任務的貢獻究竟有多大?我們真的需要大規模預訓練來達到最好的效果嗎?

無需大規模預訓練,清華提出高效NLP學習架構TLM:從零開始比肩預訓練語言模型性能

預訓練語言模型因其強大的性能被廣泛關注,基于預訓練 - 微調(pretraining-finetuning)的範式也已經成為許多 NLP 任務的标準方法。然而,目前通用語言模型的預訓練成本極其高昂,這使得隻有少數資源充足的研究機構或者組織能夠對其展開探索。這種 「昂貴而集權」的研究模式限制了平民研究者們為 NLP 社群做出貢獻的邊界,甚至為該領域的長期發展帶來了障礙。

近期,為了緩解這一現狀,來自清華大學的研究者們提出的一種完全不需要預訓練語言模型的高效學習架構。這一架構從通用語料中篩選出與下遊任務相關的子集,并将語言模組化任務與下遊任務進行聯合訓練。研究者們稱之為 TLM (Task-driven Language Modeling)。相較于傳統的預訓練模型(例如 RoBERTa),TLM 僅需要約 1% 的訓練時間與 1% 的語料,即可在衆多 NLP 任務上比肩甚至超出預訓練模型的性能(如圖 1 所示)。研究者們希望 TLM 的提出能夠引發更多對現有預訓練微調範式的思考,并推動 NLP 民主化的程序。

無需大規模預訓練,清華提出高效NLP學習架構TLM:從零開始比肩預訓練語言模型性能

語言模型會「抱佛腳」嗎? 任務驅動的語言模組化

無需大規模預訓練,清華提出高效NLP學習架構TLM:從零開始比肩預訓練語言模型性能

TLM 提出的動機源于一個簡單的觀察:人類可以通過僅對關鍵資訊的學習,以有限的時間和精力快速掌握某一任務技能。例如,在臨考抱佛腳時,焦慮的學生僅需要根據考綱複習浏覽若幹相關章節即可應對考試,而不必學習所有可能的知識點。類似地,我們也可以推測:預訓練語言模型在下遊任務上的優良表現,絕大多數來源于語料中與下遊任務相關的資料;僅利用下遊任務相關資料,我們便可以取得與全量資料類似的結果。

為了從大規模通用語料中抽取關鍵資料,TLM 首先以任務資料作為查詢,對通用語料庫進行相似資料的召回。這裡作者選用基于稀疏特征的 BM25 算法[2] 作為召回算法。之後,TLM 基于任務資料和召回資料,同時優化任務目标和語言模組化目标 (如下圖公式所示),從零開始進行聯合訓練。

無需大規模預訓練,清華提出高效NLP學習架構TLM:從零開始比肩預訓練語言模型性能

1% 的算力 + 1% 的語料即可比肩預訓練語言模型

為了測試 TLM 的性能,研究者們在 8 個 NLP 分類任務上從三個不同規模展開了對比實驗。這 8 個任務涵蓋了計算機科學、生物醫藥、新聞、評論等 4 個領域,包括了訓練樣本數量小于 5000 的低資源任務(Hyperpartisan News, ACL-ARC, SciERC, Chemprot)和訓練樣本數量大于 20000 的高資源任務(IMDB, AGNews, Helpfulness, RCT),覆寫了話題分類,情感分類,實體關系抽取等任務類型。從實驗結果可以看出,和對應預訓練 - 微調基準相比,TLM 實作了相當甚至更優的性能。平均而言,TLM 減少了兩個數量級規模的訓練計算量 (Training FLOPs) 以及訓練語料的規模。

無需大規模預訓練,清華提出高效NLP學習架構TLM:從零開始比肩預訓練語言模型性能

任務驅動的語言模組化(TLM) vs 預訓練語言模型(PLMs)

無需大規模預訓練,清華提出高效NLP學習架構TLM:從零開始比肩預訓練語言模型性能

表格 1 直接對比了 TLM 和 PLM。整體來說,PLM 以極高的成本學習盡可能多的任務無關的知識,而 TLM 以非常低的成本針對每個任務學習相關知識。對比 TLM 和 PLM 有如下幾個方面特點。

1.推動 NLP 研究公平化和民主化(Democratization)

預訓練本身嚴重依賴大量的計算資源,這一限制使得大多數 NLP 研究者專項對微調算法的研究。然而微調性能上限很大程度上受預訓練模型性能的限制。而 TLM 使得大多數研究人員可以以較低的代價和較高的效率,基于最先進的解決方案對模型架構、損失函數、算法等方面進一步自由探索。

2. 高效性(Efficiency)

TLM 在平均每個任務的 FLOPs 消耗方面顯著優于 PLM。當我們有少數目标任務需要解決的時候(例如研究人員希望對少量幾個資料集進行研究),TLM 會是非常高效的;然而當需要一次性解決大量任務時(例如工業界建構一個 NLP 平台為多方提供相似的服務),PLM 仍然具有優勢。

3. 靈活性(Flexibility)

TLM 是任務驅動的,是以可以給研究人員更大的自由度,進而自定義政策進行标記、序列長度、資料表示、超參數的調整等等,進而達到提高性能和效率的目的。

4. 通用性(Generality)

PLM 學習與任務無關的一般性表示,可用于小樣本和零樣本學習,而 TLM 通過學習任務相關的表示一定程度犧牲通用型換取效率。從這個意義上,TLM 需要在通用型方面進一步提升。此外也可以 PLM 和 TLM 結合進而在通用性和效率之間實作更好的權衡。

深入觀察 TLM:讓更多參數為下遊任務服務

無需大規模預訓練,清華提出高效NLP學習架構TLM:從零開始比肩預訓練語言模型性能

為了深入了解 TLM 的工作機制,研究人員對模型每個注意力頭所輸出的注意力分數進行了可視化。可以觀察到,TLM 的注意力模式中包含了更多的「對角線」模式(圖 3 紅框),也即大多 token 都将注意力分數集中賦予了其鄰近 token,這種模式已在前人的工作 [1] 中被證明對模型的最終預測有着重要貢獻。而預訓練模型(BERT, RoBERTa)中則包含了大量「垂直」模式的注意力頭(圖 3 灰色區域),也即大多 token 都将注意力分數集中賦予了 [CLS],[SEP] 或者句号這種毫無語義或者句法資訊的詞彙上。這一現象表明 TLM 中參數使用率要顯著高于預訓練語言模型,TLM 或許針對下遊任務學習到了更加富有語義資訊的表示。

總結

TLM 的提出讓 NLP 研究跳脫出預訓練微調範式成為了可能,這使得 NLP 研究者們可以更為自由地探索新興的模型結構與訓練架構,而不拘泥于大規模預訓練模型。在未來,更多有趣的研究可以在 TLM 的基礎上展開,例如:如何經濟地達到更大規模預訓練模型的表現效果;如何提升 TLM 的通用性與可遷移性;可否利用 TLM 進行小樣本或零樣本學習等等。

參考文獻

[1] Elena Voita, David Talbot, Fedor Moiseev, Rico Sennrich, and Ivan Titov. 2019. Analyzing multi-head self-attention: Specialized heads do the heavy lifting, the rest can be pruned. In Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics, pages 5797–5808, Florence, Italy. Association for Computational Linguistics.[2] Stephen E. Robertson and Hugo Zaragoza. 2009. The probabilistic relevance framework: BM25 and beyond. Found. Trends Inf. Retr., 3(4):333–389.

繼續閱讀