聯手自然語言處理專委會:「預訓練語言模型」術語發布 | CCF術語快線

2022-01-06 中國計算機學會

開篇導語:

此文為CCF術語工委聯合自然語言處理專委會推出的計算機行業術語介紹文章。本期所選熱詞為預訓練語言模型,是目前的熱門研究方向之一。以BERT、GPT為代表的預訓練模型已經成為自然語言處理(NLP)領域的主要模型。不管在富資源任務還是低資源任務上,預訓練都對模型性能有顯著的提升。本文將對目前眾多預訓練模型進行梳理匯總,並對預訓練模型的未來研究方向進行展望。

預訓練語言模型(Pre-Trained Language Models)

作者:邱錫鵬(復旦大學)

InfoBox:

中文名:預訓練語言模型

外文名:Pre-Trained Language Models

詞條定義:預訓練語言模型(Pre-Trained Language Models, PLMs)是指利用無監督學習或自監督學習在海量文本數據進行預訓練得到神經網絡模型。這些預訓練模型通常具有很好的自然語言表示,有益於其他下遊任務。許多研究已表明,在大規模無標註語料中訓練的預訓練語言模型可以使許多自然語言處理任務獲得顯著的性能提升。

預訓練語言模型的發展:

預訓練模型一直被視為一種訓練深度神經網絡模型的高效策略。早在2006年,深度學習的突破便來自於逐層無監督預訓練+微調方式。在計算機視覺領域,已出現在大型ImageNet數據集上訓練的預訓練模型並進一步在不同任務的小數據集上微調的範式。該方法比隨機初始化參數模型更為有效,因為模型能學到可被用於不同視覺任務上的通用圖像特徵。在NLP領域,無論是淺層詞嵌入還是深層網絡模型,大規模語料下的預訓練語言模型均被證實對下遊NLP任務有益。隨著算力的快速發展、以Transformer為[1]代表的深度模型的不斷湧現以及訓練技巧的逐步提升,預訓練模型(Pre-Trained Models,PTMs)[2]也由淺至深。自然語言處理中預訓練模型的發展可以分為兩個階段。第一代預訓練模型著力於學習詞嵌入(也稱為詞向量),而用於學習詞向量的模型本身在下遊任務中已不需要使用。因此基於計算效率考量,這類模型通常比較簡單,如CBOW、Skip-Gram和GloVe等。儘管這些預訓練詞嵌入可捕獲詞語語義,但是它們是靜態的,無法表示上下文相關的信息,比如一詞多義、句法結構、語義角色和共指等。第二代預訓練模型聚焦於學習上下文相關的詞嵌入,如ELMo(Embedding from Language Model)[3],OpenAI GPT(Generative Pre-training)[4]和BERT(Bidirectional Encoder Representation from Transformer)[5]等。該類預訓練模型會直接在下遊任務中使用來表示文本的上下文特徵。

預訓練的重要性:

隨著深度學習的發展,模型參數顯著增長,從而需要越來越大的數據集用於充分訓練模型參數並預防過擬合。然而,因大部分NLP任務的標註成本極為高昂,尤其是句法和語義相關任務,構建大規模標註數據集尤為困難。

相比較而言,大規模無標註數據集相對易於構建。為更好地利用海量無標籤文本數據,我們可以首先從這些數據中學到較好的文本表示,然後再將其用於其他任務。許多研究已表明,在大規模無標註語料中訓練的預訓練語言模型得到的表示可以使許多NLP任務獲得顯著的性能提升。預訓練的優勢可總結為以下幾點:

1.在海量文本中通過預訓練可以學習到一種通用語言表示,並有助於完成下遊任務。

2.預訓練可提供更好的模型初始化,從而具有更好的泛化性並在下遊任務上更快收斂。

3.預訓練可被看作是在小數據集上避免過擬合的一種正則化方法。

預訓練任務:

預訓練任務對於學習語言的通用表示至關重要。本節將預訓練任務分為三類:監督學習、無監督學習及自監督學習。自監督學習的關鍵思想是通過輸入的一部分信息來預測其他部分信息。例如,掩碼語言模型(Masked Language Model,MLM)[5]是一種自我監督的任務,就是將句子中的某些詞刪掉,並通過剩下的其他詞來預測這些被刪掉的詞。

語言模型:

NLP中最常見的無監督任務為概率語言模型(Language Model,LM),是一個經典的概率密度估計問題。在實踐中語言模型通常特指自回歸語言模型或單向語言模型。單向語言模型的缺點在於每個詞的表示僅對包括自身的上文編碼,而更好的文本上下文表示應從兩個方向對上下文信息進行編碼。一種改進策略為雙向語言模型[3],即由一個前向語言模型和一個反向語言模型組成。

掩碼語言模型:

掩碼語言模型(Masked Language Model,MLM)首先將輸入句子的一些詞替換為[MASK],然後訓練模型通過剩餘詞來預測被替換的詞。然而,在實際使用時句子中並不會出現[MASK],導致這種預訓練方法在預訓練階段和微調階段之間存在不一致。為緩解該現象,Devlin等人[5]在每個序列中替換15%的詞塊,其中每個詞以80%的概率使用[MASK]替換,10%的概率替換為隨機詞,10%的概率保持不變。通常情況下,MLM可以作為分類任務處理,也可以使用編碼器-解碼器架構處理,即在編碼器中輸入掩碼序列,接著解碼器以自回歸形式預測出被掩碼的詞。

降噪自編碼器:

降噪自編碼器(Denoised Auto-Encoder,DAE)是將部分損壞的序列作為輸入並恢復原始的序列。就語言來說,常使用如標準Transformer等序列至序列模型重構原始輸入文本。常見的損壞文本方式有詞屏蔽、詞刪除、文本填充、句序打亂和文檔內容置換等。

對比學習:

對比學習(Contrastive Learning,CTL)假設一些觀察到的成對文本在語義上比隨機抽樣的文本更相似。CTL背後的理念是「通過比較來學習」。與語言模型相比,CTL通常具有較少的計算複雜度,因此是預訓練模型理想的訓練方式。下一句預測任務(Next Sentence Prediction,NSP)[5]訓練模型區分輸入的兩個句子是否是訓練預料中的兩個連續片段。

預訓練語言模型的分類體系:

下圖展示了預訓練語言模型的分類體系以及對應的部分代表性預訓練模型。

圖 1 預訓練模型分類與典型例子

展望和總結:

雖然預訓練語言模型已在多種NLP任務中展現出強大的性能,但由於語言的複雜性,挑戰仍然存在。本節將對預訓練模型的未來研究趨勢進行展望與總結。

1. 預訓練模型的上界:當前的預訓練模型還未達到其上界,大多數預訓練模型仍然可通過更多的訓練步長和更多語料得到進一步提升。NLP中最先進的模型仍然能通過更深的堆砌獲得性能的增長。研究人員仍然嘗試著使用預訓練模型學習語言內在的通識知識甚至世界知識。然而該類預訓練模型通常需要更深的架構、更大的語料和更具挑戰的預訓練任務,從而進一步提高了訓練代價。同時,從工程實現角度來說,訓練超大型預訓練模型也需要更複雜和更高效的訓練技巧,如分布式訓練、混合精度和梯度累積等。因此,更實際的方向或許是設計更為高效的模型架構、自監督預訓練任務、優化器以及根據現有軟硬體條件下的訓練技巧。

2. 預訓練模型的架構:Transformer的一個主要弊端是其計算複雜度,而當前預訓練模型因GPU顯存限制,通常難以處理長度大於512的序列,而突破這類限制則須從改進Transformer的架構入手。因此,使用神經架構搜索等技術自動構建深層架構,以使模型具備捕獲更長距離上下文依賴的能力,或許是一種解決方案。

3. 任務導向的預訓練模型和模型壓縮:在實際使用中,不同難度的下遊任務往往需要具有不同能力的預訓練模型。同時,儘管大型預訓練模型的性能通常更佳,但如何在低資源和低延遲場景下部署該類大型預訓練模型仍然是一個實際面臨的問題。因此,我們可以為下遊任務精心設計特定的架構和預訓練任務,或從現有預訓練模型中提取出與任務相關的知識。相比於從零開始訓練任務導向型的預訓練模型,還可考慮使用知識蒸餾等技術,將現成的大型通用預訓練模型知識蒸餾至小模型中。

4. 超越微調的知識遷移:微調是當前將預訓練模型的知識遷移至下遊任務中的主要方法,但該方法卻存在參數低效問題,即每個下遊任務有其相應的微調參數。一種改進方案是保持預訓練模型的原始參數,並為特定任務添加小的微調模塊,從而節省參數。實際上,預訓練模型也可以作為外部知識,從而更靈活地將預訓練模型中的知識遷移到下遊任務。

5. 預訓練模型的可解釋性和可靠性:儘管預訓練模型性能驚豔,但是其深度非線性架構使決策過程處於高度非透明狀態。當前較多的預訓練模型解釋性工作依賴於注意力機制,而注意力機制在可解釋性上的合理性仍備受爭議。此外,由於預訓練模型在對抗攻擊下表現出的脆弱性,其可靠性也隨著預訓練模型的廣泛部署而備受學者關注。對抗攻擊研究有助於探究預訓練模型的弱點,而對抗防禦研究則有助於提升預訓練模型的魯棒性。

關於預訓練模型方面的詳細綜述可以進一步閱讀文獻[2]。

參考文獻:

[1]Lin, T., Wang, Y., Liu, X., & Qiu, X.  A Survey of Transformers. arXiv preprint arXiv:2106.04554, 2021[2]X. Qiu, T. Sun, Y. Xu, Y. Shao, N. Dai, and X. Huang, Pre-trained Models for Natural Language Processing: A Survey[J]// SCIENCE CHINA Technological Sciences, 63(10), 2020.[3]Peters ME, Neumann M, Iyyer M, Gardner M, Clark C, Lee K, Zettlemoyer L. Deep contextualized word representations[C]// NAACL-HLT 2018.[4]Radford A, Narasimhan K, Salimans T, Sutskever I. Improving language understanding by generative pre-training [OL]. 2018.[5]Devlin J, Chang MW, Lee K, Toutanova K. Bert: Pre-training of deep bidirectional transformers for language understanding[C]// NAACL-HLT 2019.

計算機術語審定委員會(Committee on Terminology)主要職能為收集、翻譯、釋義、審定和推薦計算機新詞,並在CCF平臺上宣傳推廣。這對釐清學科體系,開展科學研究,並將科學和知識在全社會廣泛傳播,都具有十分重要的意義。

術語眾包平臺CCFpedia的建設和持續優化,可以有效推進中國計算機術語的收集、審定、規範和傳播工作,同時又能起到各領域規範化標準定製的推廣作用。

新版的CCFpedia計算機術語平臺(http://term.ccf.org.cn)將術語的編輯運營與瀏覽使用進行了整合,摒棄老版中跨平臺操作的繁瑣步驟,在界面可觀性上進行了升級,讓用戶能夠簡單方便地查閱術語信息。同時,新版平臺中引入知識圖譜的方式對所有術語數據進行組織,通過圖譜多層關聯的形式升級了術語瀏覽的應用形態。

主任:

劉挺(哈爾濱工業大學)

副主任:

王昊奮(同濟大學)

李國良(清華大學)

主任助理:

李一斌(上海海乂知信息科技有限公司)

執行委員:

丁軍(上海海乂知信息科技有限公司)

林俊宇(中國科學院信息工程研究所)

蘭豔豔(清華大學)

張偉男(哈爾濱工業大學)

相關焦點

  • CodeBERT: 面向程式語言和自然語言的預訓練模型
    CodeBERT通過預訓練的方式學習一個通用表示來支持下遊和程式語言相關的應用,比如自然語言代碼檢索,代碼文檔生成等。CodeBERT使用Transformer作為基本的網絡結構,採用了混合目標函數:掩碼語言模型(MLM)和替換詞檢測(RTD)。實驗結果表明,CodeBERT在下遊的自然語言代碼檢索和代碼文檔生成任務上都取得了SOTA效果。
  • 【論文解讀】MacBERT: 中文自然語言預訓練模型
    在本文中,我們的目標是重新審視中文預訓練語言模型,以檢驗其在非英語語言中的有效性,並向社區發布中文預訓練語言模型系列。我們還提出了一個簡單但有效的模型,稱為MacBERT,該模型在多個方面對RoBERTa進行了改進,尤其是採用MLM作為校正(Mac)的masked策略。我們對8個中文NLP任務進行了廣泛的實驗,以重新審視現有的預訓練語言模型以及提議的MacBERT。
  • pytorch中文語言模型bert預訓練代碼
    這篇論文做了很多語言模型預訓練的實驗,系統的分析了語言模型預訓練對子任務的效果提升情況。有幾個主要結論:在目標領域的數據集上繼續預訓練(DAPT)可以提升效果;目標領域的語料與RoBERTa的原始預訓練語料越不相關,DAPT效果則提升更明顯。在具體任務的數據集上繼續預訓練(TAPT)可以十分「廉價」地提升效果。
  • 基於檢索的自然語言處理模型研究梳理
    該方法可以有效提高預訓練語言模型對例如事實知識等稀有文本形式的建模能力。因此作者在預訓練階段選擇每隔若干訓練步刷新知識庫索引。相比於基於反向填空任務 ICT 來進行額外預訓練的 ORQA,DPR 只使用問題答案對訓練檢索器。DPR 模型架構為雙塔 BERT 模型,以最大化問題和相關文檔表示的內積為目標進行優化。在負例選取方面,DPR 採用訓練集中其它問題對應的正例作為當前問題的負例,並具體實現中使用 batch 內負例進行訓練,這樣可以利用矩陣乘法加快訓練過程。
  • 微軟統一預訓練語言模型UniLM 2.0解讀
    微軟研究院在2月底發布的UniLM 2.0(Unified Language Model \ 統一語言模型)文章,相比於19年上半年發布的UniLM 1.0,更加有效地整合了自然語言理解(NLU)與自然語言生成(NLG)這兩種不同目標下的訓練任務。
  • 2019: 屬於BERT預訓練語言模型之年
    核心的研究趨勢是NLP中遷移學習,即:使用大量預訓練模型,並根據特定的語言相關任務對它們進行微調。遷移學習允許人們重用以前構建的模型中的知識,這可以提高具體應用模型性能和泛化能力,同時需要更少的標註樣本。要論2019年最重要的預訓練模型,非BERT莫屬。
  • 預訓練語言模型fine-tuning近期進展概述
    ©作者|AI Box來源|RUC AI Box
  • 中文自然語言處理測評數據集、基準模型、語料庫、排行榜整理分享
    本資源整理了中文語言理解測評基準,包括代表性的數據集、基準(預訓練)模型、語料庫、排行榜。本文選擇一系列有一定代表性的任務對應的數據集,做為測試基準的數據集。這些數據集會覆蓋不同的任務、數據量、任務難度。
  • 預訓練永不止步,遊戲問答語言模型實操
    ©PaperWeekly 原創 · 作者|程任清、劉世興單位|騰訊遊戲知幾AI團隊研究方向|自然語言處理在這種背景下,預訓練應運而生,該技術可以從大量無標註數據中進行預訓使許多 NLP 任務獲得顯著的性能提升,大批的預訓練模型也相繼開源了。
  • 支持 53 種語言預訓練模型,斯坦福發布全新 NLP 工具包 StanfordNLP
    Stanford NLP 團隊發布了包含 53 種語言預訓練模型的自然語言處理工具包 StanfordNLP,該工具包支持 Python 3.6
  • 支持53種語言預訓練模型,斯坦福發布全新NLP工具包StanfordNLP
    今日,Stanford NLP 團隊發布了包含 53 種語言預訓練模型的自然語言處理工具包 StanfordNLP,該工具包支持 Python
  • 哈工大訊飛聯合實驗室發布中文RoBERTa-large預訓練模型
    預訓練模型已成為現階段自然語言處理領域中不可或缺的資源。
  • 面向產業應用的超大規模預訓練語言模型,邀你「造」起來
    圖片來自中國國家航天局CNSA是的,循環智能在造一個面向產業應用的、超大規模的中文預訓練語言模型。
  • ERICA: 提升預訓練語言模型實體與關係理解的統一框架
    近年來,預訓練語言模型(PLM)在各種下遊自然語言處理任務中表現出卓越的性能,受益於預訓練階段的自監督學習目標,PLM 可以有效地捕獲文本中的語法和語義
  • 技術總結:KG融合預訓練語言模型中的常見知識類型及代表工作淺析
    本文主要圍繞知識融合自然語言處理模型這一主題展開論述,嘗試從這兩個方面進行總結,先介紹語言模型可以融合的知識類型,然後分別以當前較為流行的THU-ERNIE以及BAIDU-ERNIE的知識增強方法進行解析。
  • 中國最大AI預訓練模型發布:113億參數!北京智源研究院、阿里、清華等聯手打造
    而近日,北京智源人工智慧研究院發布了與此類似的中國最大AI模型文匯,包含113億參數。據了解,這是面向認知的超大規模新型預訓練模型,為的就是解決當前大規模自監督預訓練模型不具有認知能力的問題。Talk to Data:只需要一句自然語言的話,就可以實現數據的可視化自動統計與查詢。基於預訓練語言模型的詩詞創作應用:可以基於輸入的詩歌題目、朝代、作者,生成仿古詩詞。可控人設的開放域問答:支持用戶上傳問題,並生成具有人物角色風格的定製化文本回答。
  • 預訓練模型綜述
    1 引言在學術界,預訓練語言模型(PLMs,Pre-trained Language Models)的研究,已經成為了一個非常火爆的課題,最近幾年迸發出許多可以改變整個自然語言處理(Neutral Language Processing,NLP)世界格局的文章,包括 BERT[1]、GPT2[2] 等,PLMs 技術逐漸發展成為了 NLP
  • 谷歌發布NLP最先進預訓練模型:開源BERT
    本文為你介紹谷歌最新發布的自然語言預訓練模型BERT。簡介自然語言處理(NLP)面臨的眾多挑戰之一是訓練數據的短缺。由於NLP是一個具有許多不同任務的多樣化領域,因此大多數針對特定任務的數據集僅包含了幾千到幾十萬個人為標記的訓練示例。
  • EMNLP 2020 | RecAdam: 在更少的遺忘下精調預訓練語言模型
    簡介通過精調預訓練深層語言模型,很多NLP任務都取得了巨大的提升。然而,這樣的順序遷移學習通常會遇到災難性遺忘問題。為此,我們提出了且回憶且學習的機制,通過採用多任務學習同時學習預訓練任務和目標任務。我們提出了預訓練模擬機制在沒有預訓練數據時回憶預訓練的知識,以及目標遷移機制將學習目標逐步遷移至目標任務上。實驗表明我們在GLUE上達到了的最優性能。
  • 【NLP】預訓練模型綜述
    1 引言在學術界,預訓練語言模型(PLMs,Pre-trained Language Models)的研究,已經成為了一個非常火爆的課題,最近幾年迸發出許多可以改變整個自然語言處理(Neutral Language Processing,NLP)世界格局的文章,包括 BERT[1]、GPT2[2] 等,PLMs 技術逐漸發展成為了 NLP