最新综述:基于Transformer的NLP预训练模型已经发展到何种程度?
?作者?|?機器之心編輯部
來源?|?機器之心
Transformer 為自然語言處理領域帶來的變革已無需多言。近日,印度國立理工學院、生物醫學人工智能創業公司 Nference.ai 的研究者全面調查了 NLP 領域中基于 Transformer 的預訓練模型,并將調查結果匯集成了一篇綜述論文。本文將按大致脈絡翻譯介紹這篇論文,并重點關注其中的討論部分,因為研究者在其中指出了該領域新的研究機會。尤其需要說明:研究者將該論文命名為「 AMMUS 」,即? AMMU Smiles,這是為了紀念他們的朋友 K.S.Kalyan。
在如今的 NLP 領域,幾乎每項任務中都能看見「基于 Transformer 的預訓練語言模型(T-PTLM)」成功的身影。這些模型的起點是 GPT 和 BERT。而這些模型的技術基礎包括 Transformer、自監督學習和遷移學習。T-PTLM 可使用自監督學習從大規模文本數據學習普適性的語言表征,然后將學到的知識遷移到下游任務。這些模型能為下游任務提供優質的背景知識,從而可避免從頭開始訓練下游任務。
這篇詳盡調查 T-PTLM 的綜述論文首先將簡要介紹自監督學習。接下來將解釋多個核心概念,包括預訓練、預訓練方法、預訓練任務、嵌入和下游任務適應方法。接下來,文章將為 T-PTLM 給出一種新的分類方法,然后簡要介紹多種不同的基準,包括內部基準和外部基準。研究者還歸納總結了一些適用于 T-PTLM 的軟件庫。最后討論了一些可能有助于進一步改進這些模型的未來研究方向。
論文地址:
https://arxiv.org/pdf/2108.05542.pdf
研究者相信,這篇全面詳盡的綜述論文能作為一份很好的參考資料,幫助讀者了解 T-PTLM 的相關核心概念和近期研究進展。
引言
基于 Transformer 的預訓練語言模型(T-PTLM)具備從大規模無標注文本數據學習通用語言表征并將所學知識遷移到下游任務的能力,因此已經在 NLP 領域取得了巨大的成功,這類模型包括 GPT-1、BERT、XLNet、RoBERTa、ELECTRA、T5、ALBERT、BART 和 PEGAUSUS。在更早期,NLP 系統大都采用了基于規則的方法,之后取而代之的是機器學習模型。機器學習模型需要特征工程,而特征工程又需要領域專業知識并且需要較長的時間。
隨著 GPU 等更好的計算機硬件以及 Word2Vec 和 Glove 等詞嵌入方法的出現,CNN 和 RNN 等深度學習模型在構建 NLP 系統方面得到了更廣泛的應用。這些深度學習模型的主要缺點是除了詞嵌入之外,需要從頭開始訓練模型。從頭開始訓練這類模型需要大量有標注實例,而生成這些實例的成本很高。但是,我們希望僅使用少量有標注實例來獲得表現良好的模型。
遷移學習讓我們可以將在源任務上學習到的知識很好地復用到目標任務上。在這其中,目標任務應該與源任務相似。基于遷移學習的思想,計算機視覺領域的研究者已在使用 ImageNet 等大規模有標注數據集來訓練大型 CNN 模型。這些模型學習到的圖像表征對所有任務來說都是普適的。然后,這些大型預訓練 CNN 模型可以適應下游任務,具體做法是添加少數特定于任務的層,然后在目標數據集上進行微調。由于預訓練 CNN 模型能為下游模型提供很好的背景知識,因此它們在許多計算機視覺任務上取得了巨大的成功。
CNN 和 RNN 等深度學習模型難以建模長期上下文以及學習具有局部性偏差(locality bias)的詞表征。此外,由于 RNN 按順序處理輸入(逐詞處理),因此只能有限度地使用并行計算硬件。為了克服現有深度學習模型的這些缺點,Vaswani et al. 提出了完全基于自注意力的深度學習模型:Transformer。相比于 RNN,自注意力支持更高度的并行化,并且還能輕松地建模長期上下文,因為輸入序列中的每個 token 都會關注其它所有 token。
Transformer 包含一些堆疊的編碼器和解碼器層。在堆疊編碼器和解碼器層的幫助下,Transformer 可以學習到復雜的語言信息。在 NLP 領域,生成大量有標注數據的成本非常高,也非常耗時。但是,大量無標注文本數據卻很容易獲得。在計算機視覺社區使用基于 CNN 的預訓練模型所取得的成功的感召下,NLP 研究社區將 Transformer 和自監督學習的能力組合到一起,開發出了 T-PTLM。自監督學習讓 Transformer 可以使用由一個或多個預訓練任務提供的偽監督進行學習。
GPT 和 BERT 是最早的 T-PTLM,它們分別是基于 Transformer 解碼器和編碼器層開發的。之后,又誕生了 XLNet、RoBERTa、ELECTRA、ALBERT、T5、BART 和 PEGAUSUS 等模型。其中,XLNet、RoBERTa、ELECTRA 和 ALBERT 是基于 BERT 的改進模型;T5、BART 和 PEGAUSUS 是基于編碼器 - 解碼器的模型。
Kaplan et al. 表明只需增加 T-PTLM 模型的規模就能帶來性能的提升。這一發現推動了大規模 T-PTLM 的發展并催生了 GPT-3 (175B)、PANGU (200B)、GShard (600B) 等包含上千億參數的模型,而 Switch-Transformers (1.6T) 的參數量更是達到了萬億級。
T-PTLM 在通用英語領域取得成功之后,又開始進軍其它領域,包括金融、法律、新聞、編程、對話、網絡、學術和生物醫學。T-PTLM 還支持遷移學習,即通過在目標數據集上進行微調和即時調整,可讓這些模型適用于下游任務。本文將全面回顧與 T-PTLM 有關的近期研究成果。這篇綜述論文的看點總結如下:
第 2 節將簡單介紹自監督學習,這是 T-PTLM 的核心技術。
第 3 節將介紹與 T-PTLM 相關的一些核心概念,包括預訓練、預訓練方法、預訓練任務、嵌入和下游適應方法。
第 4 節將給出一種針對 T-PTLM 的新型分類法。這種分類法考慮了四大方面,即預訓練語料庫、架構、自監督學習類型和擴展方法。
第 5 節將給出一種針對不同下游適應方法的新型分類法并將詳細解釋每個類別。
第 6 節將簡要介紹多種用于評估 T-PTLM 進展的基準,包括內部基準和外部基準。
第 7 節將給出一些適用于 T-PTLM 的軟件庫,從 Huggingface Transformers 到 Transformer-interpret。
第 8 節將簡單討論一些可能有助于進一步改進這些模型的未來研究方向。
自監督學習(SSL)
監督學習的缺點總結如下:
嚴重依賴人類標注的實例,而獲取這些實例耗時費力。
缺乏泛化能力,容易出現虛假相關的問題。
醫療和法律等許多領域缺乏有標注數據,這會限制 AI 模型在這些領域的應用。
難以使用大量免費可用的無標注數據進行學習。
SSL 與監督學習和無監督學習等其它流行學習范式具有一些相似性。SSL 與無監督學習的相似之處是它們都不需要人類標注的實例。但是,它與無監督學習也有不同之處:a) SSL 需要監督,而無監督學習沒有監督;b) 無監督學習的目標是識別隱藏模式,而 SSL 的目標是學習有意義的表征。SSL 與監督學習的相似之處是學習范式時都需要監督。但是,它與監督學習也有不同之處:a) SSL 會自動生成標簽,而無需任何人類干預;b) 監督學習的目標是提供特定于任務的知識,而 SSL 的目標是向模型提供通用知識。
SSL 的目標總結如下:
學習通用語言表征,這能為下游模型提供優良的背景。
通過學習大量免費可用的無標注文本數據來獲得更好的泛化能力。
自監督學習可大致分為生成式 SSL、對比式 SSL 和對抗式 SSL 三種。
T-PTLM 核心概念
預訓練
預訓練能帶來以下一些優勢:
通過利用大量無標注文本,預訓練有助于模型學習通用語言表征。
只需增加一兩個特定的層,預訓練模型可以適應下游任務。因此這能提供很好的初始化,從而避免從頭開始訓練下游模型(只需訓練特定于任務的層)。
讓模型只需小型數據集就能獲得更好的表現,因此可以降低對大量有標注實例的需求。
深度學習模型由于參數數量大,因此在使用小型數據集訓練時,容易過擬合。而預訓練可以提供很好的初始化,從而可避免在小型數據集上過擬合,因此可將預訓練視為某種形式的正則化。
預訓練的步驟
預訓練一個模型涉及以下五個步驟:
準備預訓練語料庫
生成詞匯庫
設計預訓練任務
選擇預訓練方法
選擇預訓練動態
預訓練語料庫
圖 1:預訓練語料庫
圖 2:預訓練方法,其中 PTS 是從頭開始型預訓練、CPT 是持續型預訓練、SPT 是同時型預訓練、TAPT 是任務自適應型預訓練、KIPT 是知識繼承型預訓練
預訓練任務
閑聊語言建模(CLM)
掩碼語言建模(MLM)
替代 token 檢測(RTD)
混洗 token 檢測(STD)
隨機 token 替換(RTS)
互換語言建模(SLM)
翻譯語言建模(TLM)
替代語言建模(ALM)
句子邊界目標(SBO)
下一句子預測(NSP)
句子順序預測(SOP)
序列到序列語言模型(Seq2SeqLM)
去噪自動編碼器(DAE)
嵌入
圖 8:T-PTLM 中的嵌入
分類法
為了了解以及跟蹤各種 T-PTLM 的發展,研究者從四個方面對 T-PTLM 進行了分類,即預訓練語料庫、模型架構、SSL 類型和擴展方法。如下圖 9 所示:
圖 9:T-PTLM 的分類法。
下游適應方法
一旦完成語言模型的訓練,就可將其用于下游任務了。將預訓練后的語言模型用于下游任務的方式有三種:基于特征的方法、微調和基于提示的微調(prompt-based tuning)。
如下圖 10 所示,基于特征的方法涉及到根據語言模型生成上下文的詞嵌入,然后在針對特定下游任務的模型中將它們用作輸入特征。微調涉及到根據下游任務,通過盡量降低針對特定任務的損失來調整模型權重。
圖 10:下游適應方法。
評估
在預訓練階段,T-PTLM 會獲取預訓練語料庫中編碼的知識。這里的知識包括句法、語義、事實和常識。對于 T-PTLM 的效果,評估方式有兩種,即內在方式和外在方式。見下圖 11。
內在評估方式是通過探測 T-PTLM 中編碼的知識進行評估,而外在評估方式則是評估 T-PTLM 在真實世界下游任務中的效果如何。內在評估方式可讓我們了解 T-PTLM 在預訓練階段獲得的知識,這有助于我們設計更好的預訓練任務,使得模型可以在預訓練階段學習到更多知識。
圖 11:用于評估 T-PTLM 研究進展的基準。
有用的軟件庫
研究者還歸納總結了一些適用于 T-PTLM 的常用軟件庫。其中,Transformers 和 Fairseq 等軟件庫適用于模型訓練和評估。SimpleTransformers、HappyTransformer、AdaptNLP 等則構建于 Transformer 軟件庫之上,可讓用戶僅使用少量代碼就實現更輕松的訓練和評估。FastSeq、DeepSpeed、FastT5、OnnxT5 和 LightSeq 等則可用于提升模型的推理速度。Ecco、BertViz 和 exBERT 都是可視化分析工具,可用于探索 Transformer 模型的層。Transformers-interpret 和 Captum 則能用于解釋模型決策。
表 11:適用于 T-PTLM 的軟件庫。
討論和未來方向
更好的預訓練方法
僅使用 SSL 來訓練模型(尤其是帶有成千上萬億參數的大模型)的成本非常高。知識繼承型預訓練(KIPT)等全新的預訓練方法涉及到 SSL 和知識蒸餾。SSL 讓模型可以學習預訓練語料庫中可用的知識,而知識蒸餾則讓模型可以學習已經編碼在已有預訓練模型中的知識。由于在通過知識蒸餾的預訓練階段,模型可獲得額外的知識,因此 a) 模型可以更快速地收斂并由此縮短預訓練時間,b) 相比于僅使用 SSL 預訓練的模型,在下游任務上的表現會更好。研究社區必須重點關注開發 KIPT 等更好的預訓練方法,讓模型獲得更多知識以及降低預訓練時間。
樣本高效型預訓練任務
如果一個預訓練任務能最大化地利用每個訓練實例,那么就可以說該預訓練任務是樣本高效的,即它應該能在訓練實例中的所有 token 上獲得定義。樣本高效型預訓練任務能使預訓練的計算效率更高。最常用的預訓練任務 MLM 的樣本效率就不太高,因為其僅涉及到一個 token 子集,即掩碼 token,其占總 token 數的 15%。RTD、RTS 和 STD 等預訓練任務可被視為是開發樣本高效型預訓練任務的早期嘗試。這三種預訓練任務都定義在每個訓練實例的所有 token 之上,即它們涉及到識別每個 token 是否被替代、隨機替換或混洗。未來應該還將出現使計算效率更高的樣本高效型預訓練任務。
高效模型
由于模型尺寸較大并且需要大量無標注的文本數據,因此預訓練 T-PTLM 的成本也很高。但是,較長的預訓練時間對環境并不友好,因為這個過程會釋放二氧化碳;而在生物醫學等許多領域,也沒有大規模的無標注文本數據。近期,在 BERT 模型基礎上進行全新改進的 DeBERTa 等模型實現了比 RoBERTa 模型更好的性能,盡管其僅使用了 78 GB 數據進行預訓練,這只是預訓練 RoBERTa 模型所用的數據量的一半。類似地,ConvBERT 憑借全新的混合注意力模塊,僅使用 ELECTRA 模型四分之一的預訓練成本就取得了更優的表現。為了降低預訓練的數據量和訓練成本,人們需要 DeBERTa 和 ConvBERT 這樣的高效模型。
更好的位置編碼機制
自注意力機制是置換不變型的方法,不存在位置偏差。使用絕對或相對位置嵌入,可以提供位置偏差。此外,絕對位置嵌入可以預先確定或學習到。但是,這兩種方法各有優缺點。絕對位置嵌入會有泛化問題,但卻很容易實現。不同于絕對位置,相對位置嵌入能穩健地應對序列長度變化,但卻難以實現,性能也更差。我們還需要全新的位置編碼機制,比如 CAPE,其將絕對和相對位置嵌入的優勢組合到了一起。
改進現有的 T-PTLM
BERT 和 RoBERTa 等 T-PTLM 已經在許多 NLP 任務上取得了優良的結果。近期的研究表明,通過基于對抗或對比預訓練任務的持續預訓練注入句子層級的語義,還可以進一步改進這些模型。舉個例子,Panda et al. 表明使用混洗 token 檢測目標的持續預訓練可提升 RoBERTa 模型在 GLUE 任務上的性能,因為其允許模型學習更連貫的句子表征。類似地,使用對比預訓練目標的持續性預訓練可以提升 T-PTLM 在 GLUE 任務上的性能以及多語言 T-PTLM 在 Mickey Probe 上的表現。為了將其擴展到其它單語言和特定領域的 T-PTLM,還需要進一步的研究。
超越樸素的微調
為了將預訓練模型用于下游任務,微調是最常用的方法。但是,樸素的微調的主要缺點是其會改變預訓練模型中的所有層,因此我們需要為每個任務維持另一個副本,這會增加部署成本。為了以一種參數高效的方式將預訓練模型用于下游任務,人們提出了 Adapters 和基于剪枝的微調等方法。
舉個例子,adapter 是添加到每個 Transformer 層的針對特定任務的小層。而在下游任務適應期間,僅更新 adapter 層的參數,Transformer 層的參數保持不變。此外,Poth et al. 表明 adapter 也可用于中間微調。近期,基于提示的微調(prompt-based tuning)方法在參數效率方面取得了明顯更優的表現,并得到了研究社區的關注。舉個例子,Prefix-tuning 等基于提示的微調方法僅需要 0.1% 的針對特定任務的參數,而基于 adapter 的微調則需要 3% 的針對特定任務的參數。
基準評測
在最后四層中,人們引入了很多基準來評估通用型和領域特定型預訓練模型的進展。除了英語之外,也出現了一些用于評估其它單語言和多語言模型進展的基準。但是,現有的基準不足以覆蓋所有場景。舉個例子,還沒有基準用于評估 a) 緊湊預訓練模型的進展,b) 預訓練模型的穩健性,c) 針對社交媒體以及學術等專業領域開發的 PTLM。
近日,Explainboard 等排行榜不再只是使用已有基準等單一指標評估進展,也會深挖或分析模型的長項和短板。這類排行榜應該也能擴展到其它領域。此外,FewGLUE、FLEX 和 FewCLUE 等評估少量次學習技術的基準也應當擴展到其它語言和領域。
緊湊模型
T-PTLM 幾乎在每種 NLP 任務上都獲得了最佳表現。但是,這些模型都很大,需要更大的存儲空間。因為這些模型的層數很多,因此輸入需要一定時間才能完全通過模型,從而得到預測結果,因此延遲很高。而真實世界應用的資源有限,需要更低的延遲,因此剪枝、量化、知識蒸餾、參數共享和分解等模型壓縮方法已經在英語通用領域應用方面得到了探索。研究這些模型壓縮方法在其它語言和領域的應用具有很大的前景。
對噪聲的穩健性
T-PTLM 容易受到噪聲影響,其中包括對抗噪聲和自然噪聲。其主要原因是使用了子詞嵌入。在使用子詞嵌入時,一個詞會被分解為多個子詞 token,因此即使很小的拼寫錯誤也可能改變該詞的整體表征,進而阻礙模型學習并影響模型預測。為了提升模型對噪聲的穩健性,CharacterBERT 等模型采用了只使用字符嵌入的方法,而 CharBERT 等模型則會將字符嵌入和子詞嵌入一起使用。這兩種方法都能提升對噪聲的穩健性。
近期,研究者們還提出了 CANINE、ByT5 和 Charformer 等無 token 化模型來提升對噪聲的穩健性。為了讓這些模型能在真實世界中得到應用,尤其是在醫學等敏感領域,我們需要提升它們的穩健性。
全新的適應方法
為了將通用模型適應到生物醫學等專業領域或將多語言模型適應到特定語言,常用的策略是使用持續性預訓練。盡管這種方法通過調整模型以適應特定的領域或語言能得到良好的結果,但如果缺少領域或語言特定的詞匯庫,下游模型的性能會受到影響。近期有研究者提出了擴展詞匯表然后持續預訓練的方法。這些方法能克服 OOV 詞的問題,但由于會在詞匯表中增加新詞,因此會增大詞匯表的規模。近日,Yao et al. 提出了 Adapt and Distill 方法,即使用詞匯表擴展和知識蒸餾來使通用模型適應特定領域。不同于已有的適應方法,該方法不僅能讓通用模型適應特定領域,而且還能減小模型的規模。這一注意值得進一步研究并有望產出全新的適應方法。
隱私問題
T-PTLM 已經在許多 NLP 任務上取得了優良的結果。但是,這些模型也存在一些超出預期且并無益處的風險。舉個例子,數據泄露是人們擔心的一個主要問題,尤其是當這些模型的預訓練使用了隱私數據時。由于模型是在大量文本數據上預訓練的,因此有可能從中恢復敏感信息,比如可識別出個人身份的信息。因此,需要防止人們公開發布使用隱私數據預訓練的模型。
近日,Carlini et al. 研究表明,GPT-2 模型可生成一個人的完整郵政地址,這些地址包含在訓練數據中,可使用該人的名字通過提示得到。近期出現在生物醫學領域的 KART 框架可通過執行多種攻擊來評估數據泄露情況。研究社區需要開發更復雜的攻擊來評估數據泄露情況并開發防止預訓練模型泄露敏感數據的方法。
降低偏見
基于深度學習的方法正在現實世界中得到越來越廣泛的應用,其中包括在生物醫學和法律等專業領域。但是,這些模型很容易學習并放大訓練數據中已有的偏見。由此造成的結果是:這些模型會產生對特定種族、性別或年齡群體的偏見。我們完全不需要這樣的模型。
近期出現了一些重點關注識別和降低偏見的研究。比如,Minot et al. 提出了一種用于減少性別偏見的數據增強方法,Liang et al. 提出的 A-INLP 方法可以動態地識別偏見敏感型 token。在這一領域進行進一步研究有助于降低預訓練模型中的偏見并幫助它們做出公平的決定。
降低微調不穩定性
為了讓預訓練模型適應下游任務,最常用的方法是微調。盡管微調的表現不錯,但它并不穩定,即使用不同隨機種子來執行微調會令下游表現差距巨大。有人認為,微調不穩定的原因包括災難性遺忘和數據集規模較小。但是,Mosbach et al. 表明這兩個原因都不是微調不穩定的原因,并進一步表明微調不穩定的原因包括:a) 優化困難,導致梯度消失,b) 泛化問題。為了降低微調不穩定,可能的解決方案包括:a) 中間微調,b) 混合(mix-out),c) 在早期 epoch 采用更小的學習率并且增多微調 epoch 的次數,d) 同時使用監督式對比損失和交叉熵損失。讓微調更穩定的方法值得進一步研究。
特別鳴謝
感謝 TCCI 天橋腦科學研究院對于 PaperWeekly 的支持。TCCI 關注大腦探知、大腦功能和大腦健康。
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析、科研心得或競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
📝?稿件基本要求:
? 文章確系個人原創作品,未曾在公開渠道發表,如為其他平臺已發表或待發表的文章,請明確標注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發送,要求圖片清晰,無版權問題
? PaperWeekly 尊重原作者署名權,并將為每篇被采納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
📬?投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請備注即時聯系方式(微信),以便我們在稿件選用的第一時間聯系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長按添加PaperWeekly小編
🔍
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
·
總結
以上是生活随笔為你收集整理的最新综述:基于Transformer的NLP预训练模型已经发展到何种程度?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: china50什么意思
- 下一篇: 开炸鸡店容易赚钱吗 利润真的是非常高