華為諾亞方舟開源預訓練模型「哪吒」,4項任務均達到SOTA

2020-12-05 AI科技大本營

BERT之後,新的預訓練語言模型XLnet、RoBERTa、ERNIE不斷推出,這次,華為諾亞方舟實驗室開源了基於BERT的中文預訓練語言模型NEZHA(哪吒),寓意模型能像哪吒那樣三頭六臂、大力出奇蹟,可以處理很多不同的自然語言任務。

據介紹,當前版本的NEZHA基於BERT模型,並進行了多處優化,能夠在一系列中文自然語言理解任務達到先進水平。

NEZHA模型的實驗中採用了5個中文自然語言理解任務,即CMRC(中文閱讀理解)、XNLI(自然語言推斷)、LCQMC(句義匹配)、PD-NER (命名實體識別任務)、ChnSenti(情感分類)。

研究人員在中文維基百科、中文新聞、百度百科數據上訓練NEZHA模型,並且和谷歌發布的中文BERT,以及哈工大和科大訊飛聯合發布的BERT-WWM,還有百度發布的ERNIE-Baidu進行了比較。從下表可以看出,NEZHA在XNLI,LCQMC,PeoplesDaily NER,ChnSenti任務上達到了先進水平(SOTA)。表中NEZHA,NEZHA-WWM和NEZHA-Span分別代表由原始的BERT預訓練任務訓練得到的,加入全詞Mask訓練得到的以及加入Span預測任務訓練得到的NEZHA模型(三者均使用了全函數式相對位置編碼)。

GitHub連結:

https://github.com/huawei-noah/Pretrained-Language-Model/blob/master/README.md

論文連結:

https://arxiv.org/abs/1909.00204

此外,諾亞方舟實驗室還開源了TinyBERT預訓練語言模型。

儘管語言模型預訓練(例如BERT)大大改善了許多自然語言處理任務的性能。但是,預訓練語言模型通常在計算上昂貴且佔用了大量內存,因此很難在某些資源受限的設備上有效執行它們。為了加快推理速度、減小模型大小並同時保持精度,華為研究人員提出了一種新穎的transformer蒸餾方法,該方法是針對基於transformer模型專門設計的知識蒸餾(KD)方法。

通過利用這種新的知識蒸餾方法,可以將BERT中編碼的大量知識很好地轉移到TinyBERT。此外,他們為TinyBERT引入了一個新的兩階段學習框架,該框架在預訓練階段和特定任務的學習階段都執行transformer蒸餾方法。該框架確保TinyBERT可以捕獲BERT的一般領域知識和特定任務知識。在GLUE基準測試中,TinyBERT相比BERT小7.5倍,比其推理的速度快9.4倍,並且在自然語言理解任務中具有競爭優勢。

它在預訓練和特定任務的學習階段都運行了新型的transformer蒸餾方法。TinyBERT學習的概述如下所示:

論文連結:

https://arxiv.org/abs/1909.10351

NEZHA預訓練語言模型的三大改進維度

據諾亞方舟實驗室的官方資料,NEZHA(哪吒)基於BERT在模型、預訓練任務和訓練算法三個維度進行了改進。

模型改進:BERT的網絡架構是一個多層的Transformer網絡,由於Transformer並沒有直接考慮輸入的token的位置信息,原始的Transformer模型和BERT分別採用了函數式和參數式的絕對位置編碼方式,即每一個位置上的輸入的token會疊加一個與位置信息相關的一個embedding(這個embedding稱為絕對位置編碼:absolute position embedding,APE),前者的位置編碼是一個與位置相關的函數,後者則是模型參數的一部分,在預訓練過程中學到的。

此後,又有工作提出了相對位置編碼方式,即在每一層計算隱狀態的相互依賴的時候考慮他們之間的相對位置關係,這個相對位置信息表示為一個相對位置編碼(relative position embedding,RPE),已有工作均在相對位置編碼中加入了可學習的參數。本工作在BERT模型中使用了完全函數式的相對位置編碼(相對位置編碼沒有任何需要學習的參數),實驗結果表明該位置編碼方式使得模型在各個下遊任務上的效果均得到明顯提升。

預訓練任務:本工作引入了全詞Mask技術,即不同於原始的BERT模型Mask單個中文字,該技術在MLM預訓練任務中Mask整個詞而不是單個字(如下圖全詞Mask方法Mask了一整個詞「華為」),進而提升了任務難度使得BERT學到更多語義信息。

此外,借鑑SpanBERT ,NEZHA模型還引入了Span預測任務,該任務Mask一個連續的Span(例如下圖中「機」,「很」,「不」三個字),利用Span前後的兩個字的最上層表示(下圖中的x3和x7)以及待預測字的位置信息來預測該字,如下圖中,待預測字為「不」,Span預測任務會使用x3,x7和「不「」這個字的位置信息(就是x3和x6還有x6和x7之間的相對位置編碼)來預測該字,「機」和「很」的預測也是同樣的方法。

該方法使得Span前後的字的表示會包含Span中字的語義信息,由於在訓練過程中,一個句子會被隨機Mask很多次,所以句子中每個字都有機會成為Span的前後字,進而使得各個字學到的表示都會包含周圍Span的信息,Span預測任務能夠有效提高模型在下遊的Span抽取任務(此任務的目標是獲取一段文字中目標片段的開始和結束位置)的效果。

訓練算法:在訓練過程中,採用混合精度訓練(Mixed Precision Training)方式,在傳統的深度學習訓練過程中,所有的變量包括weight,activation和gradient都是用FP32(單精度浮點數)來表示。而在混合精度訓練過程中,每一個step會為模型的所有weight維護一個FP32的copy,稱為Master Weights,在做前向和後向傳播過程中,Master Weights會轉換成FP16(半精度浮點數)格式,權重,激活函數和梯度都是用FP16進行表示,最後梯度會轉換成FP32格式去更新Master Weights。

優化器方面使用了LAMB優化器,通常在深度神經網絡訓練的Batch Size很大的情況下(超過一定閾值)會給模型的泛化能力帶來負面影響,而LAMB優化器通過一個自適應式的方式為每個參數調整learning rate,能夠在Batch Size很大的情況下不損失模型的效果,使得模型訓練能夠採用很大的Batch Size,進而極大提高訓練速度。在訓練BERT的研究中,使用LAMB優化器在不損失模型效果的前提下,Batch Size達到了超過30k,使得BERT的訓練時間從3天降到了76分鐘。

相關焦點

  • 預訓練圖像處理Transformer:華為諾亞、北大等提出IPT模型,刷榜多...
    該研究認為輸入和輸出維度相同的底層視覺任務更適合 Transformer 處理。預訓練模型能否在視覺任務上復刻在自然語言任務中的成功?華為諾亞方舟實驗室聯合北京大學、雪梨大學、鵬城實驗室提出底層視覺 Transformer,使用 ImageNet 預訓練,在多項視覺任務上達到 SOTA。與自然語言任務相比,視覺任務在輸入形式上有很大差別。
  • ...Transformer:華為諾亞、北大等提出IPT模型,刷榜多項底層視覺任務
    該研究認為輸入和輸出維度相同的底層視覺任務更適合 Transformer 處理。預訓練模型能否在視覺任務上復刻在自然語言任務中的成功?華為諾亞方舟實驗室聯合北京大學、雪梨大學、鵬城實驗室提出底層視覺 Transformer,使用 ImageNet 預訓練,在多項視覺任務上達到 SOTA。與自然語言任務相比,視覺任務在輸入形式上有很大差別。
  • 華為開源只用加法的神經網絡:實習生領銜打造,效果不輸傳統CNN
    去年年底,來自北京大學、華為諾亞方舟實驗室、鵬城實驗室的研究人員將這一想法付諸實踐,他們提出了一種只用加法的神經網絡AdderNet(加法器網絡)。一作是華為諾亞方舟實習生,正在北大讀博三。如今,這篇文章已經被CVPR 2020收錄(Oral),官方也在GitHub上開放了原始碼。
  • 百度正式發布ERNIE 2.0:16項中英文任務超越BERT、XLNet刷新SOTA
    基於大規模數據的無監督預訓練技術在自然語言處理領域變得至關重要。百度發現,之前的工作主要通過詞或句子的共現信號,構建語言模型任務進行模型預訓練。例如,BERT 通過掩碼語言模型和下一句預測任務進行預訓練。XLNet 構建了全排列的語言模型,並通過自回歸的方式進行預訓練。然而,除了語言共現信息之外,語料中還包含詞法、語法、語義等更多有價值的信息。
  • 獨家專訪華為諾亞方舟劉群:從 26 年學術生涯到執掌華為語音語義...
    日前,AI 科技評論有幸對劉群教授進行了專訪,主要就他在學術界長達 26 年的研究經歷、加入華為諾亞方舟實驗室的的契機、其執掌的語音語義團隊的整體布局和未來規劃以及對於自然語言處理的發展現狀和未來發展方向的看法,進行了一次深度對話。
  • 一文讀懂最強中文NLP預訓練模型ERNIE
    基於飛槳開源的持續學習的語義理解框架ERNIE 2.0,及基於此框架的ERNIE 2.0預訓練模型,在共計16個中英文任務上超越了BERT和XLNet, 取得了SOTA效果。本文帶你進一步深入了解ERNIE的技術細節。
  • AI資訊|分析現階段最有效的NLP預訓練模型!
    可以在幾天內在單個GPU上進行訓練,其準確性要高於GPT(該模型使用30倍以上的計算能力)。ELECTRA已作為TensorFlow之上的開源模型發布,其中包括許多易於使用的預訓練語言表示模型。ELECTRA更快地進行預訓練ELECTRA使用一種稱為替換令牌檢測(RTD)的新預訓練任務,該任務在從所有輸入位置(如LM)學習的同時訓練雙向模型(如MLM)。受到生成對抗網絡的啟發(GAN),ELECTRA訓練模型以區分「真實」和「偽造」輸入數據。
  • 華為諾亞獲最佳學生論文獎
    官網連結:http://accv2020.kyoto/截止目前,大會已經公布了最佳論文獎、最佳學生論文獎、最佳應用論文獎等三項大獎,其中帝國理工和華為諾亞方舟合作獲得了最佳學生論文獎。以下AI科技評論就帶大家讓我們一起來看看這三項大獎吧 !
  • 中文最佳,哈工大訊飛聯合發布全詞覆蓋中文BERT預訓練模型
    機器之心報導參與:一鳴昨日,機器之心報導了 CMU 全新模型 XLNet 在 20 項任務上碾壓 BERT 的研究,引起了極大的關注。而在中文領域,哈工大訊飛聯合實驗室也於昨日發布了基於全詞覆蓋的中文 BERT 預訓練模型,在多個中文數據集上取得了當前中文預訓練模型的最佳水平,效果甚至超過了原版 BERT、ERINE 等中文預訓練模型。
  • NLP領域預訓練模型的現狀及分析
    預訓練的方法最初是在圖像領域提出的,達到了良好的效果,後來被應用到自然語言處理。預訓練一般分為兩步,首先用某個較大的數據集訓練好模型(這種模型往往比較大,訓練需要大量的內存資源),使模型訓練到一個良好的狀態,然後下一步根據不同的任務,改造預訓練模型,用這個任務的數據集在預訓練模型上進行微調。
  • 超越BERT、GPT,微軟提出通用預訓練模型MASS
    2018年開始,預訓練(pre-train) 毫無疑問成為NLP領域最熱的研究方向。藉助於BERT和GPT等預訓練模型,人類在多個自然語言理解任務中取得了重大突破。然而,在序列到序列的自然語言生成任務中,目前主流預訓練模型並沒有取得顯著效果。
  • Pytorch-Transformers 1.0 發布,支持六個預訓練框架,含 27 個預...
    Pytorch-Transformers 1.0,該項目支持 BERT, GPT, GPT-2, Transfo-XL, XLNet, XLM 等,並包含 27 個預訓練模型。哪些支持PyTorch-Transformers(此前叫做pytorch-pretrained-bert)是面向自然語言處理,當前性能最高的預訓練模型開源庫。
  • PTMs|2020最新NLP預訓練模型綜述
    如:知識增強預訓練,多語言預訓練,多模態預訓練和模型壓縮等3. 如何將PTMs學到的知識遷移到下遊的任務中。4. 收集了目前關於PTMs的學習資料。5.這些分類方式是交叉的,也就是說同一個模型可以劃分到多個分類體系下。先一睹為快,這幅圖是該綜述的精華之一。下面將圍繞上述4種分類體系來介紹預訓練任務的工作。
  • 1.6萬億參數的語言模型:谷歌大腦提出Switch Transformer,預訓練...
    在深度學習領域,模型通常會對所有輸入重用相同的參數。圖 5 展示了預訓練模型質量隨訓練時間增加所產生的變化。在訓練時間和計算成本都固定的情況下,Switch Transformer 的速度優勢非常明顯。在這種設置下,如果要達到相似的困惑度,Switch-Base 64 專家模型的訓練時間僅為 T5-Base 模型的 1/7。
  • 華為開源自研AI框架MindSpore!自動微分、並行加持,一次訓練,可多...
    乾明 發自 凹非寺  量子位 報導 | 公眾號 QbitAI  華為的開源AI框架,來了!  剛剛,華為宣布正式開源自研深度學習框架MindSpore,代碼已經上線。  開發者不僅要分析數據量、參數量、集群群網絡拓撲等因素來確定模型切分策略;還要考慮切分後的子模型設備綁定等,來達到性能較優的分布式並行訓練效果。  但其實,這些並行訓練的優化細節與模型要實現的業務目標無關,最後卻讓開發者費盡了心思,「掉光了頭髮」。  尤其是邏輯複雜、參數量巨大的模型,想要人工找到最優的並行策略基本不可能。
  • OpenCV+深度學習預訓練模型,簡單搞定圖像識別 | 教程
    當然,我們不能、也不該用OpenCV訓練深度學習模型,但這個新版本讓我們能把用深度學習框架訓練好了的模型拿來,高效地用在OpenCV之中。這篇文章就展示了如何用ImageNet上預訓練的深度學習模型來識別圖像。
  • ALBERT一作藍振忠:預訓練模型應用成熟,ChineseGLUE要對標GLUE
    機器之心原創作者:一鳴今年產生的眾多預訓練語言模型中,ALBERT 是不同尋常的一個,因為它參數量明顯比大部分模型都要小,卻能在多項基準測試中達到 SOTA。本文是對該研究的第一作者——谷歌科學家藍振忠博士進行了採訪。在與機器之心的交流中,藍博士解答了關於 ALBERT 的一些問題。
  • 速度、準確率與泛化性能媲美SOTA CNN,Facebook開源高效圖像...
    研究人員僅用一臺 8-GPU 的伺服器對 DeiT 模型進行 3 天訓練,該方法就在 ImageNet 基準測試中達到了 84.2% 的 top-1 準確率,並且訓練階段未使用任何外部數據,該結果可以與頂尖的卷積神經網絡(CNN)媲美。