中文最佳,哈工大訊飛聯合發布全詞覆蓋中文BERT預訓練模型

2021-01-10 機器之心Pro

機器之心報導

參與:一鳴

昨日,機器之心報導了 CMU 全新模型 XLNet 在 20 項任務上碾壓 BERT 的研究,引起了極大的關注。而在中文領域,哈工大訊飛聯合實驗室也於昨日發布了基於全詞覆蓋的中文 BERT 預訓練模型,在多個中文數據集上取得了當前中文預訓練模型的最佳水平,效果甚至超過了原版 BERT、ERINE 等中文預訓練模型。

基於 Transformers 的雙向編碼表示(BERT)在多個自然語言處理任務中取得了廣泛的性能提升。在預訓練語言模型時,需要對語料進行 mask 操作,使模型在看不見 token 的情況下對 mask 的詞語進行預測。

然而,基於單個 token 的 mask 方法訓練中文語料,可能忽略了中文分詞的作用。因此,如果能夠 mask 詞語中每一個組成的 token,可以更好的捕捉詞與詞的邊界關係。

為了利用這種思想提升預訓練模型在中文的表現,百度發布了知識增強的表示模型 ERNIE,在中文數據集的表現中超過了 BERT。近期,谷歌發布了基於全詞覆蓋(Whold Word Masking)的 BERT 預訓練模型,則進一步提升了 BERT 模型的性能水平。

然而,由於全詞覆蓋的 BERT 模型的研究測試集中於國外公開數據集,缺乏一種中文語言的相關模型。昨天,哈工大訊飛聯合實驗室發布了全詞覆蓋的中文 BERT 預訓練模型。模型在多個中文數據集上取得了當前中文預訓練模型的最佳水平,效果甚至超過了原版 BERT、ERINE 等中文預訓練模型。

論文地址:https://arxiv.org/abs/1906.08101開源模型地址:https://github.com/ymcui/Chinese-BERT-wwm哈工大訊飛聯合實驗室的項目介紹:https://mp.weixin.qq.com/s/EE6dEhvpKxqnVW_bBAKrnA

引言

基於 Transformer 的雙向編碼表示(Bidirectional Encoder Representations from Transformers)已經在多個自然語言處理數據集,如 SQuAD、CoQA、QuAC 等上取得了當前的最佳水平。而在這之後,谷歌發布了全詞覆蓋的預訓練 BERT 模型。在全詞 Mask 中,如果一個完整的詞的部分 WordPiece 被 [MASK] 替換,則同屬該詞的其他部分也會被 [MASK] 替換。和原有的 BERT 模型相比,全詞模型主要更改了原預訓練階段的訓練樣本生成策略。

由於谷歌官方發布的 BERT-base(Chinese)中,中文是以字為粒度進行切分,沒有考慮中文需要分詞的特點。應用全詞 mask,而非字粒度的中文 BERT 模型可能有更好的表現,因此研究人員將全詞 mask 方法應用在了中文中——對組成同一個詞的漢字全部進行 [MASK]。模型使用了中文維基百科(包括簡體和繁體)進行訓練,並且使用了哈工大語言技術平臺 LTP(http://ltp.ai)作為分詞工具。和原版 BERT 中文模型,以及百度開源中文預訓練模型 ERNIE 相比,全詞覆蓋的中文 BERT 預訓練模型 BERT-wwm 在多個中文任務中取得了較好的表現。

全詞 Mask 方法

Whole Word Masking (wwm) 是谷歌在 2019 年 5 月 31 日發布的一項 BERT 的升級版本,主要更改了原預訓練階段的訓練樣本生成策略。在過去的 BERT 預訓練中,mask 方式為按照字粒度進行 mask,而全詞模型則有所不同。

圖 1:全詞 mask 的方式。

如圖 1 所示,全詞 mask 需要首先對中文語料進行分詞,然後對同屬於一個詞的每個 token 進行 mask 操作。這樣一來,預訓練模型並非預測被 mask 的單個 token,而是預測同一個詞中的每一個被 mask 的 token。

數據集

論文採用了維基百科作為語料進行預訓練,並同時使用了簡體和繁體中文。清洗數據後,採用了 1360 萬條數據作為輸入。研究人員分別設置了兩組預訓練樣本,一組設置的最長樣本長度為 128,另一組為 512。除了使用全詞 mask 方式以外,其他的數據清洗方式和原版 BERT 相同。

訓練

研究人員認為,全詞覆蓋的 BERT 模型是原有 BERT 模型的改進版本,可以使 BERT 模型學習詞的邊界。因此,他們沒有從零開始訓練,而是在官方 BERT 中文模型(BERT-base Chinese)上訓練。模型首先在最長樣本長度為 128,批大小為 2560,使用 1e-4 的學習率,初始預熱為 10% 的條件下訓練了 100k 輪,然後在序列長度為 512,批大小為 384 的樣本上進行了同樣輪次的訓練。訓練使用了 LAMB 目標函數,而非 AdamWeightDecayOptimizer。訓練使用的是 Google Cloud TPU v3,有 128G HBM。

實驗結果對比

論文對比了原版的 BERT 模型,百度的 ERNIE 模型,以及本次論文的模型 BERT-wwm 在不同任務和數據集上的表現。論文在以下幾個任務中使用中文數據集進行了測試。對於同一模型,研究人員運行模型 10 遍(不同隨機種子),匯報模型性能的最大值和平均值。

篇章抽取型機器閱讀理解命名實體識別文本分類篇章抽取型機器閱讀理解

1. CMRC 2018

CMRC 2018 數據集是哈工大訊飛聯合實驗室發布的中文機器閱讀理解數據。根據給定問題,系統需要從篇章中抽取出片段作為答案,形式與 SQuAD 相同。

表 3:三個模型在 CMRC 2018 數據集上的表現。最好的學習率分別為:BERT (3e-5)、 BERT-wwm (3e-5)、ERNIE (8e-5)。

2. DRCD

DRCD 數據集由中國臺灣臺達研究院發布,其形式與 SQuAD 相同,是基於繁體中文的抽取式閱讀理解數據集。

表 4:各個模型的表現。最好的模型學習率分別為:BERT (3e-5)、 BERT-wwm (3e-5)、ERNIE (8e-5)。

命名實體識別

中文命名實體識別(NER)任務中,論文採用了經典的人民日報數據以及微軟亞洲研究院發布的 NER 數據。

表 6:在人民日報數據集(People Daily)和微軟研究院 NER 數據集(NSRA-NER)上的表現。人民日報數據集上最好的模型學習率是:BERT (3e-5)、 BERT-wwm (3e-5)、 ERNIE (5e-5)。在微軟亞洲研究院數據集上最好的模型學習率是:BERT (3e-5)、 BERT-wwm (4e-5)、 ERNIE (5e-5)。

文本分類

由清華大學自然語言處理實驗室發布的新聞數據集,需要將新聞分成 10 個類別中的一個。

表 10:模型在清華新聞數據集的表現。最好的模型學習率分別是:BERT (2e-5)、BERT-wwm (2e-5)、 ERNIE (5e-5)。

更多模型在不同自然語言處理任務上的表現對比,可以參考原文論文。

模型使用

為了方便使用,論文作者們已經將 BERT-wwm 開源。論文說,模型的使用非常簡單,只需要把官方提供的模型替換成新的模型即可,不需要改動其他代碼。

下載

項目現已有 TensorFlow 和 PyTorch 兩個版本。

1. TensorFlow 版本(1.12、1.13、1.14 測試通過)

Google:https://storage.googleapis.com/hfl-rc/chinese-bert/chinese_wwm_L-12_H-768_A-12.zip訊飛云:https://pan.iflytek.com/link/4B172939D5748FB1A3881772BC97A898,密碼:mva82. PyTorch 版本(請使用 PyTorch-BERT > 0.6,其他版本請自行轉換)

Google:https://storage.googleapis.com/hfl-rc/chinese-bert/chinese_wwm_pytorch.zip訊飛云:https://pan.iflytek.com/link/F23B12B39A3077CF1ED7A08DDAD081E3 密碼:m1CE3. 原版中文 BERT 模型

BERT-base, Chinese (Whole Word Masking) : 12-layer, 768-hidden, 12-heads, 110M parameters,地址:https://storage.googleapis.com/hfl-rc/chinese-bert/chinese_wwm_L-12_H-768_A-12.zip

4. 原版英文 BERT 模型

BERT-Large, Uncased (Whole Word Masking): 24-layer, 1024-hidden, 16-heads, 340M parameters,地址:https://storage.googleapis.com/bert_models/2019_05_30/wwm_uncased_L-24_H-1024_A-16.zipBERT-Large, Cased (Whole Word Masking): 24-layer, 1024-hidden, 16-heads, 340M parameters,地址:https://storage.googleapis.com/bert_models/2019_05_30/wwm_cased_L-24_H-1024_A-16.zip以 TensorFlow 版本為例,下載完畢後對 zip 文件進行解壓得到:

其中 bert_config.json 和 vocab.txt 與谷歌原版**BERT-base, Chinese**完全一致。

使用建議

論文作者提供了一系列建議,在此供讀者參考。

初始學習率是非常重要的一個參數(不論是 BERT 還是其他模型),需要根據目標任務進行調整。ERNIE 的最佳學習率和 BERT/BERT-wwm 相差較大,所以使用 ERNIE 時請務必調整學習率(基於以上實驗結果,ERNIE 需要的初始學習率較高)。由於 BERT/BERT-wwm 使用了維基百科數據進行訓練,故它們對正式文本建模較好;而 ERNIE 使用了額外的百度百科、貼吧、知道等網絡數據,它對非正式文本(例如微博等)建模有優勢。在長文本建模任務上,例如閱讀理解、文檔分類,BERT 和 BERT-wwm 的效果較好。如果目標任務的數據和預訓練模型的領域相差較大,請在自己的數據集上進一步做預訓練。如果要處理繁體中文數據,請使用 BERT 或者 BERT-wwm。因為 ERNIE 的詞表中幾乎沒有繁體中文。

相關焦點

  • 華為諾亞方舟開源預訓練模型「哪吒」,4項任務均達到SOTA
    BERT之後,新的預訓練語言模型XLnet、RoBERTa、ERNIE不斷推出,這次,華為諾亞方舟實驗室開源了基於BERT的中文預訓練語言模型NEZHA(哪吒),寓意模型能像哪吒那樣三頭六臂、大力出奇蹟,可以處理很多不同的自然語言任務。
  • Pytorch-Transformers 1.0 發布,支持六個預訓練框架,含 27 個預...
    上發布了開源 Pytorch-Transformers 1.0,該項目支持 BERT, GPT, GPT-2, Transfo-XL, XLNet, XLM 等,並包含 27 個預訓練模型。哪些支持PyTorch-Transformers(此前叫做pytorch-pretrained-bert)是面向自然語言處理,當前性能最高的預訓練模型開源庫。
  • 面向認知,智源研究院聯合阿里、清華等發布超大規模新型預訓練模型...
    來源:中國網科技日前,北京智源人工智慧研究院(以下簡稱智源研究院)聯合阿里、清華等多家單位發布超大規模新型預訓練模型「文匯」,旨在探索解決當前大規模自監督預訓練模型不具有認知能力的問題。與傳統AI訓練需要人工標註數據不同,面向認知的預訓練語言模型提供了一種全新的學習思路,即AI首先自動學習大量語言文字和圖像數據,記憶和理解其中的信息以及人類語言表述的規律後,再進一步學習專業領域知識,從而讓AI同時掌握常識和專業知識。此次發布的「文匯」是目前國內規模最大的預訓練模型,參數量級達113億。
  • 乾貨| BERT fine-tune 終極實踐教程
    一個是訓練語言模型(language model)的預訓練(pretrain)部分。另一個是訓練具體任務(task)的fine-tune部分。在開源的代碼中,預訓練的入口是在run_pretraining.py而fine-tune的入口針對不同的任務分別在run_classifier.py和run_squad.py。其中run_classifier.py適用的任務為分類任務。
  • Chinese Word Vectors:目前最全的中文預訓練詞向量集合
    對於國內自然語言處理的研究者而言,中文詞向量語料庫是需求很大的資源。近日,來自北京師範大學和人民大學的研究者開源了「中文詞向量語料庫」,試圖為大家解決這一問題,該庫包含經過數十種用各領域語料(百度百科、維基百科、人民日報 1947-2017、知乎、微博、文學、金融、古漢語等)訓練的詞向量,涵蓋各領域,且包含多種訓練設置。
  • 一文讀懂最強中文NLP預訓練模型ERNIE
    在ERNIE 當中,將由多個字組成的phrase 或者entity 當成一個統一單元,相比於bert 基於字的mask, 這個單元當中的的所有字在訓練的時候,統一被mask. 對比直接將知識類的query 映射成向量然後直接加起來,ERNIE 通過統一mask的方式可以潛在的學習到知識的依賴以及更長的語義依賴來讓模型更具泛化性。
  • 科大訊飛:全球中文學習平臺已覆蓋169個國家
    12月3日,科大訊飛宣布,全球中文學習平臺已覆蓋169個國家。據介紹,全球中文學習平臺是在中華人民共和國教育部和國家語言文字工作委員會指導下,由科大訊飛股份有限公司建設和運營的智能語言學習平臺。
  • 科大訊飛承建全球中文學習平臺正式落戶 已覆蓋169個國家
    12月3日,全球中文學習平臺落戶暨科大訊飛未來港啟幕儀式在青島市科大訊飛未來港隆重舉行。此次儀式在教育部國家語言文字工作委員會指導下,由科大訊飛股份有限公司主辦。2019年10月,全球中文學習平臺在北京正式上線。截止目前,已先後推出了國際版、國內版、學前版等面向不同中文學習者的應用,累計註冊用戶超過200萬,應用覆蓋全球169個國家。與此同時,平臺還積極開展推普助力脫貧攻堅工作,已服務雲南、貴州、新疆等深度貧困地區90餘萬人口的語言學習。
  • 中國最大AI預訓練模型發布:113億參數,北京智源研究院、阿里、清華...
    △ 圖源:智源社區據了解,這是面向認知的超大規模新型預訓練模型,為的就是解決當前大規模自監督預訓練模型不具有認知能力的問題。而此次發布的是「文匯」,是用於自動生成圖片、文字以及視頻,具有初級認知能力。智源研究院院長、北京大學信息技術學院黃鐵軍教授指出:「文匯」模型針對性地設計了多任務預訓練的方法,可以同時學習文→文、圖→文以及圖文→文等多項任務,實現對多個不同模態的概念理解。
  • 使用BERT和TensorFlow構建搜尋引擎
    https://colab.research.google.com/drive/1ra7zPFnB2nWtoAc0U5bLp0rWuPWb6vu4https://github.com/gaphex/bert_experimental 第1步:獲得預先訓練的模型從預先訓練的BERT檢查點開始。
  • 超越BERT、GPT,微軟提出通用預訓練模型MASS
    2018年開始,預訓練(pre-train) 毫無疑問成為NLP領域最熱的研究方向。藉助於BERT和GPT等預訓練模型,人類在多個自然語言理解任務中取得了重大突破。然而,在序列到序列的自然語言生成任務中,目前主流預訓練模型並沒有取得顯著效果。
  • 全球中文學習平臺落戶青島!科大訊飛未來港啟用
    12月3日,在教育部國家語委的指導下,全球中文學習平臺落戶暨科大訊飛未來港啟幕儀式在青島西海岸新區舉行。目前,平臺已實現中文學習場景全面覆蓋,面向學前兒童、中小學生、成人普通話學習者、中國少數民族學習者、海外中文學習者等多樣化的用戶群體,提供個性化學習方案和學習工具,為全球中文學習者打造優質的學習環境。從2019年10月上線至今,全球中文學習平臺已經覆蓋169個國家,註冊用戶達203萬。
  • 李航等提出多粒度AMBERT模型,中文提升顯著
    近日,字節跳動 AI 實驗室李航等研究者提出了一種新型多粒度 BERT 模型,該模型在 CLUE 和 GLUE 任務上的性能超過了谷歌 BERT、Albert、XLNet 等。BERT 等預訓練語言模型在自然語言理解(Natural Language Understanding, NLU)的許多任務中均表現出了卓越的性能。
  • 已覆蓋169個國家 科大訊飛承建全球中文學習平臺正式落戶
    2020年12月3日,全球中文學習平臺落戶暨科大訊飛未來港啟幕儀式在青島市科大訊飛未來港隆重舉行。教育部副部長、國家語委主任田學軍,山東省委常委、青島市委書記王清憲,教育部語言文字信息管理司司長田立新,山東省委教育工委常務副書記,山東省教育廳黨組書記、廳長鄧雲鋒,科大訊飛董事長劉慶峰,科大訊飛執行總裁吳曉如等出席儀式現場。
  • 科大訊飛承建全球中文學習平臺正式落戶
    DoNews 12月4日消息(記者 丁凡)2020年12月3日,全球中文學習平臺落戶暨科大訊飛未來港啟幕儀式在青島市科大訊飛未來港隆重舉行。此次儀式在教育部國家語言文字工作委員會指導下,由科大訊飛股份有限公司主辦。
  • 推動中文學習走向世界 科大訊飛承建全球中文學習平臺正式落戶
    12月3日,全球中文學習平臺落戶暨科大訊飛未來港啟幕儀式在青島市西海岸新區舉行。教育部副部長、國家語委主任田學軍,山東省委常委、青島市委書記王清憲,教育部語言文字信息管理司司長田立新,科大訊飛董事長劉慶峰,科大訊飛執行總裁吳曉如等領導及嘉賓出席。
  • 教你用BERT進行多標籤文本分類
    預訓練模型在研究領域的應用已經令許多NLP項目的最新成果產生了巨大的飛躍,例如文本分類,自然語言推理和問答。ELMo,ULMFiT 和OpenAI Transformer是其中幾個關鍵的裡程碑。所有這些算法都允許我們在大型資料庫(例如所有維基百科文章)上預先訓練無監督語言模型,然後在下遊任務上對這些預先訓練的模型進行微調。
  • 中文分詞最佳紀錄刷新,兩大模型分別解決中文分詞及詞性標註問題
    伊瓢 發自 中關村量子位 報導 | 公眾號 QbitAI中文分詞的最佳效果又被刷新了。在今年的ACL 2020上,來自創新工場大灣區人工智慧研究院的兩篇論文中的模型,刷新了這一領域的成績。另外,在詞性標註方面,TwASP模型同樣刷新了成績。中文分詞的SOTA中文分詞目的是在中文的字序列中插入分隔符,將其切分為詞。例如,「我喜歡音樂」將被切分為「我/喜歡/音樂」(「/」表示分隔符)。
  • 谷歌最強NLP模型BERT,為何炫酷又強大?騰訊程式設計師給你從頭講起
    雖然知道了 bert能解決這個問題,我們更好奇的是"Ϊʲô":為什麼 bert 的表現能這麼好?這裡面有沒有可解釋的部分呢?因為 Multi-head-attention 是 bert 的主要組成部分,所以我們從"頭"入手,希望弄清楚各個 head 對 bert 模型有什麼作用。為了研究某個 head 對模型的影響,我們需要比較有這個 head 和沒有這個 head 模型的前後表現。
  • PTMs|2020最新NLP預訓練模型綜述
    提出了一種預訓練模型的分類體系,通過四種分類維度來劃分目前已有的預訓練模型。2.3.1 語言模型 (LM)最著名的預訓練任務是語言模型 (Language Modeling),語言模型是指一類能夠求解句子概率的概率模型,通常通過概率論中的鏈式法則來表示整個句子各個單詞間的聯合概率。