劉鐵巖:如何四兩撥千斤,高效地預訓練NLP模型?

2020-12-14 騰訊網

智源社區 & AI科技評論

作者 | Mr Bear

2020 年 11 月 1 日,微軟亞洲研究院副院長、IEEE會士、ACM傑出科學家劉鐵巖博士在第十九屆中國計算語言學大會(CCL)上發表了題為「四兩撥千斤:實現高效的NLP模型預訓練」的主題演講。目前,GPT-3 等模型的預訓練任務需要使用大量的計算資源,計算效率低下。在本次演講中,劉鐵巖博士從數據處理、模型結構、損失函數、優化算法等多個維度介紹了微軟亞洲研究院(MSRA)的研究者們針對高效 NLP 模型訓練的研究。

1

大規模模型預訓練

圖 1:自然語言理解

2018 年,微軟亞洲研究院主任研究員周明博士帶領其團隊在自然語言理解數據集 SQuAD 1.1 上使用深度學習方法首次使機器閱讀理解達到了人類的水平,進一步吸引了越來越多的研究人員加入到該賽道中來,不斷刷新該領域的世界紀錄。

圖 2:機器翻譯

此外,微軟 2018 年研發的「中-英」機器翻譯技術的翻譯水平也可以「與人類相媲美」,劉鐵巖教授團隊所研發的「對偶學習」技術正是這一成就背後的核心技術。次年,微軟將對偶學習技術應用到了更多的語言對上,在 WMT 2019 的多個賽道中取得了優異的成績。

圖 3:內容生成

近年來,自然語言處理模型的預訓練成為了 NLP 研究領域的熱點,著名的 GPT-3 最近也掀起了一波新的研究浪潮, 它在內容生成、問答系統等任務中都取得了令人矚目的優異性能。

圖 4:Transformer 模型

從機器學習模型的角度來看,2017 年提出的 Transformer 模型是上述預訓練技術的基礎。除了「編碼器-解碼器」架構之外,Transformer 還引入了大量的注意力機制(例如,自注意力機制、交叉注意力機制等)。Transformer 是機器學習和 NLP 領域的裡程碑式的工作,為我們帶來了很多新的可能性。

圖 5:大規模預訓練——大力出奇蹟

然而,2017 年後,人們在機器學習模型創新方面乏善可陳,並未出現類似於 Transformer 的強大的新模型。於是,越來越多的研究人員關注於利用更大的數據量和更強的計算資源,在現有模型的基礎上訓練規模更大、參數更多的模型架構。他們相信,在使用大量數據和計算資源的條件下,即使使用簡單的模型也可以取得比創新性模型更好的性能。

圖 6:大規模預訓練高昂的計算開銷

這種大規模預訓練的計算開銷是十分巨大的。如圖 6 所示,起初大多數科研機構的計算資源還足以復現大規模預訓練的結果,然而,2020 年提出的 GPT-3 已經擁有了 1,750 億個參數,需要花費近 1,200 萬美元才能完成一次訓練,這是絕大多數科研機構無法負擔的。因此,儘管大規模預訓練帶來許多驚喜的性能提升,但巨大的開銷導致相關研究被科技巨頭壟斷,大多數科研人員的資源並不足以支撐相關的研究,無法實現公平的百家爭鳴的局面。這樣一來,掌握大量計算資源和資本的寡頭可能會完全掌控學術的發展,導致創新停滯,這並不是一種健康的學術生態狀況。

2

如何打破魔咒?

我們可以通過對預訓練過程形式化建模,分析每一步的計算開銷,來改善問題。

圖 7:預訓練的機器學習視角

如圖 7 所示,模型預訓練問題可以表述為以下四個方面:

紫色的部分為滿足一定底層的概率分布的訓練數據;

紅色部分為模型架構(例如,神經網絡的層數、每層的連接結構、是否包含注意力機制、是否包含跳躍連結等);

綠色的部分為訓練的目標函數;

藍色的部分為最大化或最小化目標函數的優化策略。

案例:BERT

圖 8:BERT 簡析

以 BERT 為例,在數據方面,BERT 使用了來自於文本語料庫與 WikiPedia 的數據;在模型方面,BERT 使用了標準的 12 層 Transformer 架構;在目標函數方面,BERT 使用了基於類似於「完形填空」的掩模語言模型,隨機地將 15% 的單詞屏蔽掉,並試圖根據上下文預測出被屏蔽掉的單詞;在優化方面,BERT 採用了標準的 SGD、Adam 等常用的優化技巧。

圖 9:預訓練的計算開銷

基於上述分析,在這四個方面可以作出如下改善:

從數據的層面上來說,我們需要考慮數據的質量和利用效率;從模型架構的角度來說,BERT 使用的是 Transformer 模型,可以參考 Transformer 收斂過程的效率(即 Transformer 對信息編碼和分析的效率及其穩定性);從目標函數的角度來說,BERT 等模型都使用了掩模語言模型目標,可以改進該任務詞例(Token)的效率以及任務的難度;在優化策略方面,採用更加高級的「訓練路線圖」(Roadmap),從而共享中間結果,節省計算量可以成為不錯的方案。

圖 10:算法加速整體解決方案

近期,Fast-BERT、Light-BERT、Tiny-BERT等輕量級的模型旨在基於預訓練好的大型模型,通過知識蒸餾、剪枝、稀疏表達等技術在推理階段壓縮大型預訓練模型,從而提升推理效率。然而,這類工作並未嚴肅考量如何提升預訓練過程本身的效率。

為此,微軟亞洲研究院團隊在過去的兩年中研發了 FastPT,在訓練數據、模型架構、訓練目標、優化策略四個方面都進行了深入的探索,並將這些研究成果集成在一起,極大提高了預訓練的性能和效率。值得一提的是,這個研究方向仍然存在著很大的提升空間。

3

大數據≠好數據

圖 11:NLP 訓練數據中的詞例

在訓練語料中,存在著大量的高頻詞例,其上下文信息和統計信息有助於利用這些詞訓練模型,我們將其稱為「好數據」。然而,訓練預料中也存在一些較難訓練的罕見詞例,它們的上下文信息不如高頻詞例顯著,我們將其稱為「壞數據」。但是這些罕見詞例仍然包含很大的信息量,在許多任務中具有重要意義,我們仍然需要設法利用它們。此外,還有一類數據被稱為「Ugly data」,這類數據可能會對訓練帶來意外的幹擾。

圖 12:不可學習的數據

如圖 12 所示,綠色的 BERT 模型旨在預測出被屏蔽掉的網站 URL 部分,此處的 URL 就是一種典型的「Ugly data」。這是因為任何的 URL 都是可能是合理的,我們幾乎無法根據上下文預測出 URL。此外,UTF-8 等編碼可能對「子詞」(sub-word)的嵌入帶來巨大的挑戰。上述兩類數據都與我們預想的自然語言文本中的關聯關係不一致,它們會對訓練過程造成負面影響。而如 11 所示,這類「Ugly data」符合長尾分布,即存在大量「Ugly data」。簡而言之,我們可以檢測出這些模式,用特殊的詞例(例如,、等)將這些部分的文本替換掉,轉而預測這種特殊詞例。

圖 13:包含不相關子詞的低頻詞

此外,有些低頻詞包含特定的「子詞」,但這些子詞並不具備我們想像的含義。一方面,這些詞例的嵌入難以學習;另一方面,在我們通過反向傳播等方法學習「子詞」嵌入時,這些極為低頻的、不可學習的詞例可能會為已經學好的「子詞」嵌入帶來隨機的噪聲。例如,電影《太空堡壘》的片名「macross」中包含子詞「macro」,但「macross」與「宏」的意思並無關聯,該詞例中的上下文可能對「macro」的嵌入產生負面影響。因此,對於符合長尾分布的不可學習的「Ugly data」,為了避免發生訓練發散的現象,我們需要對這類數據進行細緻的數據清洗,檢測並替換這些不可學習的詞例。

圖 14:數據清洗實驗結果

通過上述數據清洗過程,我們可以將BERT 的訓練速度提升 2 倍以上。這說明在預訓練過程中,有許多詞例實際上對訓練造成了負面影響。然而,目前鮮有研究人員針對「Ugly data」進行分析和研究,該領域仍然存在很大的探索空間。

圖 15:處理罕見詞例

另一方面,具有重要意義的罕見詞例往往也難被學習。如圖 15 所示,在沒有額外統計信息的情況下,想要回答圖 15 左側的完形填空問題是十分困難的。如果我們想要正確回答這個問題,需要真正理解「COVID-19」一詞的含義。此時,我們需要利用歷史上記錄的句子學習出「COVID-19」的意義。根據「The COVID-19 pandemic is an ongoing global crisis」(COVID-19 是一場持續發生的全球危機),我們可以推測出「COVID-19」與生命有關,從而得出上述完形填空問題的答案「lives」。

圖 16:為罕見詞例「記筆記」

然而,「COVID-19」本身是一個罕見詞例,訓練次數較少,傳統方法學習到的嵌入往往不夠好。為了解決這一問題,我們可以隱式地記錄一部分罕見詞例的上下文信息,單獨為其維護一個嵌入空間,從而在整個循環過程中提升 Transformer 的學習效果。在為罕見詞例進行掩模語言模型的預測時,我們會將罕見詞例的詞嵌入、位置編碼以及「筆記詞典」同時作為 Transformer 的輸入。

圖 17:罕見詞例處理實驗結果

基於上述方案,我們對罕見詞例以及其它詞例的預測性能都得到了大幅提升,通過論文「Taking Notes on the Fly Help BERT Pre-training」中的技術,我們將時間複雜度降低了 60%。

4

大模型≠好模型

圖 18:Transformer 中的位置編碼

然而,Transformer 模型本身仍然存在一些不足。首先,Transformer 中使用了絕對位置編碼和相對位置編碼。絕對位置編碼指的是,針對每個位置 i,我們人為地設計出啟發式的位置嵌入或學習出該位置嵌入。接著將位置嵌入與詞嵌入相加,得到最終的輸入。相對位置編碼指的是在自注意力中加入一些顯示的偏置項。

圖 19:重新思考絕對位置編碼

那麼,加入位置編碼對於學習有什麼幫助呢?回想一下,在詞嵌入的過程中,人們往往假設:在嵌入空間中對詞語做線性變換,其語義可以在很大程度上得以保留。然而,位置編碼在語義空間中並不具有這種可變換性,它相當於人為設計的一種索引。那麼,將這種位置編碼與詞嵌入相加,進而進行線性變換,是否合理呢?

圖 20:在第一層中自注意力的展開式

如圖 20 所示,在第一層自注意力的展開式中包含四項,其中綠色剪頭指向的是「單詞-單詞」和「位置-位置」的相關性,紅色箭頭指向的是「單詞-位置」和「位置-單詞」的相關性。直觀地說,計算綠色部分的相關性是較為合理的,只是這兩種相關性是否應該共享同一個參數矩陣,仍待思考。然而,對於紅色的部分而言,單詞和位置之間的相關性高意味著單詞會很有可能出現在特定的位置上,這種假設相對就不太合理了。

圖 21:調整絕對位置編碼

為此,我們對絕對位置編碼進行了如下調整,實現了名為「TUPE」的位置編碼方式:(1)去掉自注意力展開式中計算單詞與位置相關性的兩項(2)對「單詞-單詞」和「位置-位置」的相關性使用不同的參數進行計算。

圖 22:TUPE 實驗結果

實驗結果表明,TUPE 可以將注意力層中的計算開銷降低 70%,同時提升模型在下遊任務中取得的 GLUE 值。

圖 23:Transformer 模型的魯棒性

另一方面,就模型的魯棒性而言,在訓練 Transformer 的過程中,我們往往需要進行學習率的預熱(Warm up),將學習率逐步提升然後再逐漸衰減。然而,對於不同的 Transformer 模型(例如,大型 Transformer 模型和 base 版的 Transformer 模型)和下遊任務(例如,機器翻譯、語言模型預訓練),儘管學習率預熱往往有所幫助,但是其拐點也不盡相同,從而具有不同的超參數調優需求。相較之下,在計算機視覺領域中,ResNet 在 ImageNet 圖像的分類任務上具有很強的魯棒性,較為合理的學習率 Scheduling 都可以獲得不錯的訓練效果,學習率較易收斂。

圖 24:Transformer 模型缺乏魯棒性的原因

通過進一步分析 Transformer 模型的內部結構,我們發現,Transformer 模型實際上是由一些殘差模塊與層歸一化模塊組合而成。目前最常見的 Transformer 模型都使用了「後處理層歸一化」(Post Layer Norm),即層歸一化模塊位於兩個殘差模塊之間。因此,最終的輸出層與之前的 Transformer 層都沒有直連通路,梯度流會被層歸一化模塊阻斷。相比較ResNet, 每一層的輸出與輸入之間都會有跨越非線性變換的直連通路,將誤差信息反向傳播回來,因而ResNet 每一層的訓練都是充分的,而 Transformer 中只有最接近輸出的層中訓練較為充分,其它層都會發生較為嚴重的梯度衰減(彌散)的現象。

圖 25:Transformer 與 ResNet 訓練過程對比

如圖 25 所示,在 Transformer 中,接近輸出的最頂層具有較大的梯度,而下方的隔層由於被層歸一化模塊阻斷而發生了指數級的梯度衰減現象。因此,在設置學習率時,我們往往會面臨兩難的境地:若使用較大的學習率,在 Transformer 頂層可能會發生梯度爆炸現象;而如果使用較小的學習率,在 Transformer 的底層可能會發生梯度彌散現象。這也正是 Transformer 學習率調優困難的原因,而 ResNet 則不存在上述問題。

圖 26:前處理層歸一化

為了使 Transformer 具備像 ResNet 一樣的魯棒性, 我們將層歸一化模塊合併到殘差模塊中,而不在將其設置在兩個殘差模塊之間,即 Transformer 的「Pre Layer Norm」。通過使用這種方法,頂層的梯度範數將會從 O(d(ln_d)^(1/2)) 降為 O(d(ln_d/L)^(1/2)),同時在底層不會出現梯度彌散現象,從而有效提升模型的穩定性。這樣一來,我們就無需進行複雜的學習率 Scheduling (減少超參數調優時間),並且可以使用更大的學習率(在訓練前期收斂更快)。

圖 27:層歸一化調整實驗結果

在一系列預訓練實驗中的結果表明,通過上述層歸一化的調整,我們可以將時間複雜度降低近 60%。

至此,通過對 Transformer 模型的深刻分析,我們認為與模型有關的算法創新是具有重大意義的,一味追求大模型並不一定能解決算法本身存在的問題。

5

掩模語言模型≠好任務

圖 28:掩模語言模型——完形填空

在目標函數方面,目前許多預訓練模型都會使用掩模語言模型任務,該任務實際上相當於「完形填空」問題。然而,即使對於人類來說,在沒有備選答案的開放環境下,想要準確完成完形填空任務也是十分困難的。

圖 29:多選題任務

實際上,人類更容易完成選擇題或判斷題。在給定選項的條件下,任務的難度會極大降低。著名的「ELECTRA」模型使用的是判斷題任務,在前期的訓練效率很高,模型訓練不會受困於困難的訓練任務。因此,我們希望能夠動態地調整任務難度,在早期學習到的嵌入較弱時令模型完成相對簡單的任務,從而加快學習進程;在後期逐漸加大任務難度,從而獲得更精細的結果。在這裡,我們選擇了難度適中的多選題任務,並且通過選項的個數調節任務的難度(選項越多任務越困難)。

圖 30:使用元控制器進行預訓練

為此,我們實現了一個能夠出題的「元控制器」,它能夠自適應地改變多選題的難度。我們首先訓練了一個較小的 BERT 模型,它為我們提供與當前目標詞相關的詞例,這些詞例將被用於構造備選答案。

圖 31:基於自適應多選題任務的預訓練實驗結果

通過引入元控制器自適應地生成多選題任務,我們可以在提升 GLUE 值的同時將計算開銷降低 80%。

6

優化策略同樣重要

圖 32:CNN 和 Transformer 之間的差別

為了了解如何設計優化策略、算法以及如何從宏觀上組織不同的優化階段,我們試圖分析模型不同層的參數各自有何作用,如果參數之間存在相關性,我們就可能利用這些規律對優化策略進行高級的組織。對卷積神經網絡(CNN)而言,不同層的特徵圖表徵了不同的語義。因此,我們認為 CNN 中不同層的卷積核差異較大,其相關性較小。

圖 33:Transformer 中的注意力分布

然而,對 Transformer 而言,其不同層的 Transformer 模塊都表徵了嵌入語義之間的自注意力。如圖 33 所示,Transformer 不同層中的不同注意力頭的自注意力可視化結果存在著一定的規律(主對角線和第一列的注意力得分較高)。

圖 34:漸進堆疊

受此啟發,我們試圖通過一種堆疊的方式,首先訓練一種淺層的 Transformer,進而根據上述注意力的相似性,使用淺層 Transformer 初始化更深層的 Transformer。通過這種方式,我們可以實現漸進式的堆疊,通過較小的計算開銷訓練更深的 Transformer。

圖 35:漸進堆疊實驗結果

實驗結果表明,這種漸進堆疊的方式可以提升大概 30% 的計算效率。

7

結語

至此,我們從數據、模型、損失函數、優化策略四個方面介紹了如何提升 NLP 預訓練模型的效率。當我們將這四個方面的工作結合在一起,可以得到更大的模型性能提升。

圖 36:GLEU 任務實驗結果

如圖 36 所示,以 BERT 作為對比基線時,FastPT 在使用 BERT 的 1/8 左右的計算開銷的條件下,可以達到優於 BERT 的準確率。以使用了更大數據量的 RoBERTa 作為對比基線時,FastPT 在使用與 BERT 相當的計算開銷的條件下,就可以達到優於 RoBERTa 模型的準確率,相較於 RoBERTa 模型將訓練過程加速了 12 倍。我們相信,如果在該領域進行進一步的探索,完全有可能將訓練效率再提升幾個數量級。

圖 37:Bing QA 任務實驗結果

此外,在微軟的 Bing QA 任務上,相較於 RoBERTa 模型,FastPT 也將訓練效率提升了 10 倍以上。

圖 38:NLP 模型預訓練的未來

在此,我們呼籲更多的機器學習和 NLP 研究人員將精力投入到對模型和算法的創新型改進上,改變 NLP 預訓練領域過度依賴「大力出奇蹟」的局面,實現百花齊放、百家爭鳴。在本次演講中,我們以 BERT 為藍本展開,但是大多數創新聚焦於對數據處理和機器學習模型的創新本身,本文提到的工作對更廣泛的 NLP 任務也具有一定的啟示意義。此外,我們也期待有超越 Transformer 的革命性的新模型誕生。

圖 39:MSRA 在機器學習領域的研究成果

圖 39 列舉出了微軟亞洲研究院(MSRA)過去五年在機器學習領域取得的一系列研究成果。MSRA 機器學習研究組旨在解決機器學習領域核心的痛點問題,例如:主題模型、決策樹、文本到語音的轉錄系統(TTS)、Transformer 訓練結構等。此外,許多開源社區中的從業者也在試圖復現 MSRA 的一系列工作。例如,FastSpeech 是 MSRA 2019 年發布的神經語音合成引擎,它通過神經 TTS 技術實現了實時的語音合成。MSRA 發布的 TOWER 架構也在蛋白質結構預測領域相較於著名的 AlphaFold 模型將性能提升了 8.6%。

活動預告

「CCF-NLP走進高校」是由中國計算機學會自然語言處理專業委員會(CCF-NLP)發起,聯合AI研習社及各個知名高校開展的一系列高校NLP研究分享活動。

「CCF-NLP走進高校」第四期將走進「新疆大學」,一起聆聽新疆大學NLP的前沿研究分享。本次活動邀請的嘉賓有哈爾濱工業大學(深圳)教授徐睿峰、清華大學計算機系長聘副教授黃民烈、天津大學教授熊德意、復旦大學教授黃萱菁、新疆大學教授汪烈軍、西湖大學特聘研究員張嶽。敬請期待!

相關焦點

  • 復旦邱錫鵬教授:2020最新NLP預訓練模型綜述
    新智元報導編輯:SF【新智元導讀】本文該綜述系統地介紹了nlp中的預訓練模型,深入盤點了目前主流的預訓練模型,提出了一種預訓練模型的分類體系。本篇文章主要介紹邱錫鵬老師在2020年發表的一篇預訓練模型的綜述:「Pre-trained Models for Natural Language Processing: A survey」。該綜述系統地介紹了nlp中的預訓練模型。主要的貢獻包括:1、深入盤點了目前主流的預訓練模型,如word2vec,ELMo,BERT等。
  • PTMs|2020最新NLP預訓練模型綜述
    該綜述系統地介紹了nlp中的預訓練模型。主要的貢獻包括:1.深入盤點了目前主流的預訓練模型,如word2vec,ELMo,BERT等。2.如:知識增強預訓練,多語言預訓練,多模態預訓練和模型壓縮等3. 如何將PTMs學到的知識遷移到下遊的任務中。4. 收集了目前關於PTMs的學習資料。5.
  • NLP領域最優秀的8個預訓練模型(附開源地址)
    這一突破,使得每個人都能夠輕鬆地完成任務,尤其是那些沒有時間、也沒有資源從頭開始構建自然語言處理模型的人們。對於想要學習或過渡到自然語言處理的初學者來講,它也堪稱完美。為什麼要使用預訓練模型?作者已盡其所能設計了基準模型。
  • 支持53種語言預訓練模型,斯坦福發布全新NLP工具包StanfordNLP
    53 種語言預訓練模型的自然語言處理工具包 StanfordNLP,該工具包支持 Python 3.6 及之後版本,並基於 PyTorch,支持多種語言的完整文本分析管道,包括分詞、詞性標註、詞形歸併和依存關係解析,此外它還提供了與 CoreNLP 的 Python 接口。
  • NLP預訓練模型大集合!
    近日,Separius 在 GitHub 上列舉了一系列關於 NLP 預訓練模型的近期論文和文章,力求全面地概述 NLP 各個方面的最新研究成果,包括詞嵌入、池化方法、編碼器、OOV 處理等。Vectors:基於 GloVe-like 嵌入的近期結果構建 OOV 表徵,依賴於使用預訓練詞向量和線性回歸可高效學習的線性變換。
  • 復旦邱錫鵬超全NLP預訓練模型綜述論文:兩張圖帶你梳理完整脈絡
    在論文中,研究者將現有的預訓練方法分為四部分: 預訓練方法(PTM)使用的詞表徵類型; 預訓練方法使用的主幹網絡; PTM 使用的 預訓練任務類型; 為特定場景與輸入類型所設計的 PTM。
  • 一文讀懂最強中文NLP預訓練模型ERNIE
    ,極大地增強了通用語義表示能力,在多項任務中均取得了大幅度超越BERT的效果!!通過使用連續學習,可以不斷積累新的知識,模型在新任務當中可以用歷史任務學習到參數進行初始化,一般來說比直接開始新任務的學習會獲得更好的效果。a: 預訓練連續學習ERNIE 的預訓練連續學習分為兩步,首先,連續用大量的數據與先驗知識連續構建不同的預訓練任務。
  • 【NLP】Facebook提出的預訓練模型BART
    該模型結合雙向和自回歸 Transformer 進行模型預訓練,在一些自然語言處理任務上取得了SOTA性能表現。近日,Facebook 發表論文,提出一種為預訓練序列到序列模型而設計的去噪自編碼器 BART。BART 通過以下步驟訓練得到:1)使用任意噪聲函數破壞文本;2)學習模型來重建原始文本。
  • 長文解讀綜述NLP中的預訓練模型(純乾貨)
    說起來最初開這個號是為了督促自己保持學習提升,但在這停更的半年裡粉絲數依然不斷攀升,所以本柴反省了一下,還是要認真負責地進行每周一更,同時會不定期分享自己的科研心得,那麼這次的分享就以nlp的相關內容切入,嘿哈~———————————前言分割線———————————一、基礎知識整理(RNN、LSTM、Transformer)要講LSTM
  • 谷歌開源NLP模型可視化工具LIT,模型訓練不再「黑箱」
    假如有一款可視化的工具,能夠幫助研究人員更好地理解模型行為,這應該是件非常棒的事。近日,Google 研究人員發布了一款語言可解釋性工具 (Language Interpretability Tool, LIT),這是一個開源平臺,用於可視化和理解自然語言處理模型。
  • 深度| 通過NMT訓練的通用語境詞向量:NLP中的預訓練模型?
    本文先描述了如何訓練一個帶注意力機制的神經機器翻譯,其次描述了如何抽取該模型的通用詞向量與將其應用於其它任務的性能對於自然語言處理中的大多數問題而言,理解語境是很有必要的。為了生成一句英文的德語翻譯,翻譯模型需要理解英文句子中的單詞是如何組織在一起的。為了知道哪些單詞是最重要的,文本摘要模型也需要語境。執行語義情感分析的模型需要理解如何挑選出能夠改變一句話的情感的關鍵詞。
  • ICLR 2020 | NLP 預訓練模型的全新範式:對比學習
    這是因為,判別式模型通常不是直接擬合原有的分布流形,學習到的特徵較為單一。但是,最近一些工作的基於對比學習的自監督學習框架,表現十分出色。長期以來,預訓練語言模型(PTM)專注於基於最大似然估計(MLE)的目標任務,也就是採用的「生成式模型(Generative Model)」。例如 BERT 的目標任務就是一個典型的 MLE:生成式模型有著其天生的優勢,即學習到豐富的特徵。
  • 為什麼預訓練語言模型 ELMo 是NLP的最大進步之一?
    Elmo 不僅僅是一個木偶人物玩具的名字,而且 ELMo 還是一個強大的計算模型,可以將單詞轉換成數字。這一重要的過程允許機器學習模型(以數字而不是單詞作為輸入)可以在文本數據上進行訓練。當我通讀原始論文時,有幾個主要觀點引起了我的注意:ELMo 解釋了單詞的上下文。ELMo 是基於大型文本語料庫進行訓練的。ELMo 是開源的。
  • 最強NLP預訓練模型!谷歌BERT橫掃11項NLP任務記錄
    目前將預訓練語言表徵應用於下遊任務存在兩種策略:基於特徵的策略和微調策略(fine-tuning)。基於特徵的策略(如 ELMo)使用將預訓練表徵作為額外特徵的任務專用架構。微調策略(如生成預訓練 Transformer (OpenAI GPT))引入了任務特定最小參數,通過簡單地微調預訓練參數在下遊任務中進行訓練。
  • 預訓練語言模型:還能走多遠?
    第一點是關於如何做一個更好的大模型。第二點是如何對大模型進行壓縮加速,以實現模型的產品化。第三點是我們對未來的一些思考,即如何更好地進行知識的獲取。 如何將預訓練模型用到我們的產品中?我們做了三個壓縮工作TinyBERT、TernaryBERT和DynaBERT。除了壓縮算法上的創新,我們還和諾亞AI使能團隊合作進行更加底層的加速。 預訓練語言模型壓縮加速,本質上可以類比為老師/學生的教學場景。老師如何教出好學生?
  • [預訓練語言模型專題] BERT,開啟NLP新時代的王者
    前期回顧:[萌芽時代]、[風起雲湧]、[文本分類通用技巧] 、[GPT家族]感謝清華大學自然語言處理實驗室對預訓練語言模型架構的梳理,我們將沿此脈絡前行,探索預訓練語言模型的前沿技術,紅色框為前期腳印,綠色框為本期介紹,歡迎大家留言討論交流。
  • LogME:通用快速準確的預訓練模型評估方法
    這個重要問題很少有人研究,因此人們目前只好使用一些簡單粗暴的辦法:使用預訓練指標(例如ImageNet準確率)高的模型如果想要準確地選擇最好的預訓練模型,我們需要把每一個候選模型都做一遍微調。因為微調涉及到模型訓練,時間至少幾個小時起步。有些預訓練模型的微調還需要進行超參數搜索,想要決定一個預訓練模型的遷移效果就需要將近50個小時!
  • 圖解當前最強語言模型BERT:NLP是如何攻克遷移學習的?
    BERT,該預訓練模型能高效抽取文本信息並應用於各種 NLP 任務,該研究憑藉預訓練模型刷新了 11 項 NLP 任務的當前最優性能記錄。技術博主 Jay Alammar 近日發文通過圖解方式生動地講解了 BERT 的架構和方法基礎。2018 年是機器學習模型處理文本(更準確地說是自然語言處理,簡稱 NLP)的一個轉折點。如何最好地表徵詞和句子以便最好地理解其潛在含義和關係?我們對此的概念理解正在快速演進。
  • 直播回顧|最強中文NLP預訓練模型艾尼ERNIE官方揭秘
    而艾尼(ERNIE),可謂是目前NLP領域的最強中文預訓練模型。昨天,百度資深研發工程師龍老師,就通過直播帶開發者走近最強中文NLP預訓練模型ERNIE,在線上解讀了一系列艾尼ERNIE的強大特性,並現場與同為NLP模型的BERT直接PK,讓開發者連連感嘆,希望能把ERNIE運用到自己的工作與生活之中。
  • 如何用 Python 和 gensim 調用中文詞嵌入預訓練模型?
    回顧一下, 利用詞嵌入預訓練模型,Spacy 可以做許多很酷的事情。這篇教程關注中文詞嵌入模型,因而對其他功能就不展開介紹了。如何使用 Gensim 處理中文詞嵌入預訓練模型呢?我做了個視頻教程給你。視頻教程教程中,我們使用的預訓練模型來自於 Facebook ,叫做 fasttext 。它的 github 連結在這裡。