NeurIPS|既能理解又能生成自然語言,微軟提出統一預訓練新模型

2020-12-06 機器之心Pro

選自arXiv

作者:Li Dong、Nan Yang、Wenhui Wang 等

機器之心編譯

參與:Panda

自然語言是人工智慧正在攻克的一大難關,而微軟的研究者最近發布了一種統一的預訓練語言模型 UniLM,微軟表示,該模型在機器閱讀理解方面已經超越了人類水平。

在 10 月 20 號的世界網際網路大會中,微軟之前提出來的「統一預訓練語言模型與機器閱讀理解技術」榮獲「世界網際網路領先科技成果」獎,沈向洋博士在會上介紹了這一模型。

在機器之心的 SOTA 項目中,我們同樣發現 UniLM 模型在很多自然語言理解、自然語言生成任務中有非常好的效果,並且在機器閱讀理解等方面能獲得當前最優的水平。為此,本文將介紹 UniLM 這項研究工作,該研究已經被接收為 NeurIPS 2019 論文。

論文地址:https://arxiv.org/abs/1905.03197實現地址:https://github.com/microsoft/unilm

這篇論文提出了一種新型的統一的預訓練語言模型(UniLM),它既可以針對自然語言理解任務進行微調,也能用於自然語言生成任務。這個模型使用了三種類型的語言建模任務進行預訓練:單向模型、雙向模型、序列到序列預測模型。其統一建模的實現使用了共享的 Transformer 網絡,並且還使用了特定的自注意掩碼來控制預測條件所處的上下文。在 GLUE 基準以及 SQuAD 2.0 和 CoQA 問答任務上,UniLM 優於 BERT。

此外,UniLM 在五個自然語言生成數據集上成為了新的當前最佳,包括將 CNN/DailyMail 抽象式摘要 ROUGE-L 結果提升至 40.51(2.04 的絕對改善)、將 Gigaword 抽象式摘要 ROUGE-L 結果提升至 35.75(0.86 的絕對改善)、將 CoQA 生成式問答 F1 分數提升至 82.5(37.1 的絕對改善)、將 SQuAD 問題生成 BLEU-4 結果提升至 22.12(3.75 的絕對改善)、將 DSTC7 基於文檔的對話響應生成 NIST-4 結果提升至 2.67(人類表現為 2.65)。

UniLM:統一的預訓練語言模型

UniLM 是一種統一的預訓練語言模型,既可應用於自然語言理解(NLU)任務,也能用於自然語言生成(NLG)任務。UniLM 是一種多層 Transformer 網絡,在大量文本上進行過聯合的預訓練,並針對表 2 中所示的三種類型的無監督語言建模目標進行過優化。

表 2:UniLM 通過多個語言建模目標進行了聯合預訓練,並在訓練中共享了同樣的參數

類似於 BERT,預訓練的 UniLM 可以進行微調(如有必要需添加額外的特定於任務的層),以適應不同類型的下遊任務。但不同於主要用於 NLU 任務的 BERT,UniLM 可使用不同的自注意掩碼進行配置,從而聚合用於不同類型的語言模型的上下文,因此 UniLM 可用於 NLU 和 NLG 任務。

新提出的 UniLM 主要有三大優勢。第一,統一的預訓練流程讓單個 Transformer 語言模型能為不同類型的語言模型使用共享的參數和架構,從而減輕對分開訓練和管理多個語言模型的需求。第二,這種參數共享能使得學習到的文本表徵更通用,因為它們針對不同的語言建模目標(其中利用上下文的方式各不相同)進行了聯合優化,這能緩解在任意單個語言模型任務上的過擬合。第三,除了在 NLU 任務上的應用,作為序列到序列語言模型使用的 UniLM 也使其能自然地用於 NLG 任務,比如抽象式摘要和問答。

技術詳解

給定一個輸入序列 x,UniLM 會獲取每個 token 的基於上下文的向量表徵。如圖 1 所示,預訓練會根據多種無監督語言建模目標優化共享的 Transformer 網絡,這些目標為單向語言模型、雙向語言模型、序列到序列語言模型。為了控制對所要預測的詞 token 的上下文的讀取,作者使用了不同的自注意掩碼。換句話說,作者使用了掩碼來控制在計算基於上下文的表徵時 token 應該關注的上下文的量。UniLM 訓練完成後,當用於下遊任務時,我們可以使用特定於任務的數據來對其進行微調。

圖 1:統一的語言模型預訓練的概況

輸入表徵

輸入 x 是一個詞序列,該序列要麼是用於單向語言模型的一段文本,要麼是用於雙向和序列到序列語言模型的打包在一起的一對文本段。作者的做法是:總是在輸入的起始處添加一個特殊的序列起點([SOS])token,在每一段的結尾處添加一個特殊的序列結束([EOS])token。[EOS] 不僅能在 NLU 任務中標記句子邊界,還能在 NLG 任務中讓模型學習中止解碼過程的時間。這種輸入表徵方式與 BERT 的一樣。

骨幹網絡:多層 Transformer

輸入向量 {x_i} 首先會被打包進

,然後使用一個 L 層的 Transformer

將其編碼成在不同抽象層面

上的上下文表徵。在每個 Transformer 模塊中,使用了多個自注意頭來聚合前一層的輸出向量。對於第 l 個 Transformer 層,自注意頭 AI 的輸出的計算方式為:

預訓練目標

作者使用了四個為不同語言建模目標設計的完形填空任務來預訓練 UniLM。在完形填空任務中,作者會用特殊 token [MASK] 來替代輸入中隨機選擇的某些 WordPiece token。然後,將通過 Transformer 網絡計算得到的對應的輸出向量輸入一個 softmax 分類器,預測被掩蓋的 token。UniLM 的參數的學習目標是最小化用預測 token 和原始 token 計算得到的交叉熵損失。需要說明,由於使用的是完形填空任務,所以可以為所有語言模型(無論是單向還是雙向)都使用同樣的訓練流程。

預訓練設置

整體的訓練目標是不同類型的語言模型目標的和。具體來說,作者為一個訓練批次所設置的時間如下:1/3 的時間使用雙向 LM 目標,1/3 的時間使用序列到序列 LM 目標,從左到右和從右到左的語言模型目標的採樣比例都是 1/6。為了公平地比較,UniLM 的模型架構遵照了 BERT_LARGE 的架構。

針對下遊 NLU 和 NLG 任務進行微調

對於 NLU 任務,作者將 UniLM 微調為類似於 BERT 的雙向 Transformer 編碼器。以文本分類為例,作者使用 [SOS] 的編碼向量作為輸入的編碼,表示為

,然後將其輸入一個隨機初始化的 softmax 分類器(即特定於任務的輸出層),其中類別概率的計算方式為

,其中

是參數矩陣,C 是類別數量。

對於 NLG 任務,以序列到序列任務為例。微調過程類似於使用自注意掩碼進行預訓練。令 S1 和 S2 分別表示源序列和目標序列。作者將它們與特殊 token 打包在一起,構建出輸入「[SOS] S1 [EOS] S2 [EOS]」。該模型的微調是通過隨機掩蓋目標序列中一定比例的 token,並學習恢復被掩蓋的詞。其訓練目標是基於上下文最大化被掩蓋 token 的似然度。

實驗

作者在 NLU(即 GLUE 基準和抽取式問答)和 NLG(即抽象式摘要、問題生成、生成式問答和對話響應生成)任務上執行了實驗。

抽象式摘要

作者重點關注了抽象式摘要,這是一種生成任務,其中的摘要並不限於復用輸入文本中的短語或句子。作者使用了 CNN/DailyMail 數據集和 Gigaword 的非匿名化版本來進行模型微調和評估。

表 3 在 CNN/DailyMail 上比較了 UniLM 與基準和幾種當前最佳的模型。

表 3:在 CNN/DailyMail 摘要任務上的評估結果。上半部分的模型是抽取式系統,這裡列出以供參考;下半部分的模型是抽象式模型。

表 4 給出了在不同規模(10K 和 3.8M)的 Gigaword 上的模型評估結果。Transformer 和 OpenNMT 都實現了標準的注意式序列到序列模型。

表 4:在 Gigaword 抽象式摘要任務上的結果

問答(QA)

這個任務是回答給定文本篇章的問題。問答任務有兩種設置。一種是抽取式問答,其假定答案是該篇章中的一段文本。另一種是生成式問答,其需要即時生成答案。抽取式問答可以構建成一個 NLU 任務,目標是預測篇章中答案範圍的起止位置。作者針對該任務將預訓練的 UniLM 模型微調成了一個雙向編碼器。生成式問答可為輸入的問題和篇章生成形式自由的答案,這是一種 NLG 任務。

作者在 Stanford Question Answering Dataset(SQuAD)2.0 以及 Conversational Question Answering(CoQA)數據集上進行了實驗。

表 5:在 SQuAD 開發集上的抽取式問答結果

表 6:在 CoQA 開發集上的抽取式問答結果

表 7:在 CoQA 開發集上的生成式問答結果

問題生成

作者還在答案感知型問題生成任務上執行了實驗。給定一個輸入段落和一個答案範圍,該任務的目標是生成一個詢問該答案的問題。

[Image: 8.PNG]Table 8: Question generation results on SQuAD. MTR is short for METEOR, and RG for ROUGE. Results in the groups use different data splits.

表 8:在 SQuAD 上的問題生成結果。MTR 表示 METEOR,RG 表示 ROUGE。不同分組的結果使用了不同的數據分割方式。

表 9:基於 UniLM 的問題生成能提升在 SQuAD 開發集上的問答結果

響應生成

作者還在基於文檔的對話響應生成任務上對 UniLM 進行了評估。給定一段多輪對話歷史,並將網絡文檔作為知識源,系統需要生成適合對話並且能反映網絡文檔內容的自然語言響應。

[Image: 10.PNG]Table 10: Response generation results. Div-1 and Div-2 indicate diversity of unigrams and bigrams, respectively.

表 10:響應生成結果。Div-1 和 Div-2 分別表示 unigram 和 bigram 的多樣性。

GLUE 基準

作者還在 GLUE 基準上對 UniLM 進行了評估。

表 11 給出了從 GLUE 基準的評估伺服器得到的測試結果。結果表明,UniLM 在 GLUE 任務上的表現與 BERT_LARGE 相當。

表 11:使用 GLUE 評估伺服器得到的 GLUE 測試集結果

總結

實驗結果表明,UniLM 在 GLUE 基準以及兩個問答數據集上與 BERT 表現相當。此外,UniLM 在五個 NLG 數據集上優於之前最佳模型,即:CNN/DailyMail 和 Gigaword 抽象式摘要、SQuAD 問題生成、CoQA 生成式問答、DSTC7 對話響應生成。

相關焦點

  • 超越BERT、GPT,微軟提出通用預訓練模型MASS
    2018年開始,預訓練(pre-train) 毫無疑問成為NLP領域最熱的研究方向。藉助於BERT和GPT等預訓練模型,人類在多個自然語言理解任務中取得了重大突破。然而,在序列到序列的自然語言生成任務中,目前主流預訓練模型並沒有取得顯著效果。
  • 微軟亞研院提出通用預訓練模型MASS
    5月10日消息,微軟亞洲研究院的研究員在ICML 2019上提出了一個全新的通用預訓練方法MASS(Masked Sequence to Sequence Pre-training),在序列到序列的自然語言生成任務中全面超越BERT和GPT。在微軟參加的WMT19機器翻譯比賽中,MASS幫助中-英、英-立陶宛兩個語言對取得了第一名的成績。
  • ...不用跨界也能從文本生成圖像,OpenAI新模型打破自然語言與視覺...
    自然語言與視覺的次元壁正在被打破。這不,OpenAI 最近連發大招,提出兩個連接文本與圖像的神經網絡:DALL·E 和 CLIP。DALL·E 可以基於文本直接生成圖像,CLIP 則能夠完成圖像與文本類別的匹配。OpenAI 的新工作引起了 AI 圈的一陣歡呼。
  • 微軟認知AI團隊提出視覺詞表預訓練超越...
    如果系統能自動給圖片加上精準的描述,圖像搜索的效率將大為提高。看圖說話的AI:基於模板和Transformer都不盡如人意看圖說話(或者叫圖像描述),近年來受到了很多關注,它可以自動生成圖片描述。但是目前無論是學術界還是工業界,做的效果都差強人意。看圖說話系統一方面需要計算機視覺進行圖像的識別,另一方面需要自然語言來描述識別到的物體。
  • 1.6萬億參數的語言模型:谷歌大腦提出Switch Transformer,預訓練...
    在 Switch Transformer 的設計中,它們簡化了 MoE 的路由算法(routing algorithm),設計了直觀的改進模型,新模型的通信成本和計算成本都大大降低。此外,他們提出的訓練技術還提高了訓練的穩定性,首次表明大型稀疏模型也可以用低精度(bfloat16)進行訓練。
  • 超越BERT 和 GPT,微軟亞洲研究院開源新模型 MASS!
    雷鋒網 AI 科技評論按:自 2018 年以來,預訓練無疑是自然語言處理(NLP)領域中最熱門的研究課題之一。通過利用 BERT、GPT 和 XLNet 等通用語言模型,該領域的研究者們在自然語言理解方面已經取得了許多重大的突破。
  • UNIMO:百度提出統一模態學習方法,同時解決單模與多模任務
    受此啟發,百度提出統一模態學習方法,能夠同時使用大量文本和圖像的單模數據進行學習,並利用圖文對的多模數據進行跨模態聯想對比,通過預訓練獲得統一語義表示,從而在多種理解與生成的下遊任務上超越 ViLBERT、Oscar 等多模預訓練模型以及 RoBERTa、UniLM 等文本預訓練模型,同時登頂視覺問答 VQA 權威榜單。
  • ...微軟&哈工大最新提出 CodeBERT 模型,支持自然-編程雙語處理
    ,據作者介紹,這也是目前已知的第一個大型 NL-PL(自然語言-程式語言)預訓練模型。相比以往的Bert的應用場景,作者另闢蹊徑,推出雙模態預訓練模型,即兼顧NLP任務和Python、Java等程式語言。 具體來說,CodeBERT抓住了自然語言和程式語言之間的語義聯繫,能夠支持自然語言代碼搜索等NL-PL理解任務以及一系列像代碼生成這樣的生成任務。
  • NLP領域預訓練模型的現狀及分析
    預訓練的方法最初是在圖像領域提出的,達到了良好的效果,後來被應用到自然語言處理。預訓練一般分為兩步,首先用某個較大的數據集訓練好模型(這種模型往往比較大,訓練需要大量的內存資源),使模型訓練到一個良好的狀態,然後下一步根據不同的任務,改造預訓練模型,用這個任務的數據集在預訓練模型上進行微調。
  • 2020開年解讀:NLP新範式凸顯跨任務、跨語言能力,語音處理落地開花
    預訓練語言模型在幾乎所有自然語言的下遊任務,不管是自然語言理解(NLU)還是自然語言生成(NLG)任務上都取得了優異的性能。預訓練模型也從單語言預訓練模型,擴展到多語言預訓練模型和多模態預訓練模型,並在相應的下遊任務上都取得了優異的性能,進一步驗證了預訓練模型的強大。
  • 7天8卡訓練32種語言,字節跳動推出多語言預訓練新範式mRASP
    以 BERT 為代表的預訓練範式幾乎橫掃了所有的文本理解任務,成為各種 NLP 任務的基石。然而,在文本生成尤其是機器翻譯領域,雖然預訓練模型也湧現出不少新算法,但是取得的效果仍有一定局限性,在資源豐富程度各異的場景和多語言擴展上依然面臨著挑戰。
  • 解決自然語言歧義,IJCAI 卓越研究獎得主提出 SenseBERT 模型
    機器之心原創作者:Tony Peng參與:魔王自然語言理解和生成對於 AI 系統來說是一大難題,語言的複雜性和模糊性對 AI 系統提出了很大挑戰。今天,斯坦福教授、IJCAI 卓越研究獎得主 Yoav Shoham 創辦的公司 AI21 Labs 提出一種能夠顯著提升詞彙消歧能力的新模型,並發布了可控性優於其他前沿文本生成系統的「HAIM」。AI21 Labs 的願景是構建「具備前所未有的優秀自然語言理解和生成能力」的 AI 系統。
  • 中科院自動化所提出BIFT模型:面向自然語言生成,同步雙向推斷
    正文內容如下:前言:概括地講,自然語言處理包括兩大任務:自然語言文本理解和自然語言文本生成。自然語言文本理解就是讓機器洞悉人們所言之意,自然語言文本生成旨在讓機器像人一樣表達和說話。文本理解的關鍵在於對已知文本的上下文表徵和建模,而文本生成的本質是在文本理解的基礎上準確流暢地產生自然語言文本。
  • 微軟提出新型通用神經機器翻譯方法,挑戰低資源語言翻譯問題
    圖 1:訓練數據較少的情況下不可能獲得較高的 BLEU 得分。如圖 1 所示,使用有限數量的訓練樣本不可能達到高質量的翻譯準確率。所以微軟提出的方法著重於只有有限數量訓練樣本的情景,例如,只有 6000 個訓練樣本。圖 2: 神經機器翻譯編碼器-解碼器框架中編碼器方面的改進。
  • 微軟發布史上最大AI模型:170億參數,將用於Office套件
    170億參數量,是此前最大的語言模型英偉達「威震天」(Megatron)的兩倍,是OpenAI模型GPT-2的10多倍。「隨著更大的自然語言模型導致更好結果的趨勢,微軟引入了Turing-NLG,」微軟在研究博客中寫道。
  • 谷歌大腦提出簡化稀疏架構,預訓練速度可達T5的7倍
    在 Switch Transformer 的設計中,它們簡化了 MoE 的路由算法(routing algorithm),設計了直觀的改進模型,新模型的通信成本和計算成本都大大降低。此外,他們提出的訓練技術還提高了訓練的穩定性,首次表明大型稀疏模型也可以用低精度(bfloat16)進行訓練。
  • 端到端+預訓練,自然語言突破性進展的原因 | 青年科學家論壇
    雷鋒網報導,在9月18日下午上海交通大學與氪信科技聯合承辦的世界人工智慧大會特色活動——新世代·新疆界·新引擎:青年AI科學家暢談論壇上,1994年圖靈獎得主、卡內基梅隆大學教授Raj Reddy(羅傑·瑞迪),微軟全球執行副總裁沈向洋
  • AI算法瞬間學習理解96種語言 斬獲國際權威競賽冠軍
    最近,百度人工智慧模型ERNIE-M,取得自然語言領域最新進展,它通過一個算法可以學習並同時掌握 96 門語言,不僅刷新5項經典多語言理解任務的世界最好成績,還一舉超越谷歌、微軟、臉書,問鼎國際權威多語言理解評測榜單 XTREME,邁出人工智慧領域自然語言處理技術的突破性一步,並在相關真實工業場景中落地,發揮出實際應用價值。
  • 復旦邱錫鵬超全NLP預訓練模型綜述論文:兩張圖帶你梳理完整脈絡
    但近日復旦大學邱錫鵬等研究者發了一篇論文,它以兩張圖詳細展示了預訓練語言模型的現狀與分類。復旦的這篇綜述性論文非常豐富,它以 25 頁的篇幅展示了預訓練語言模型的方方面面,不論是新奇的預訓練任務,還是各種模型針對領域知識的擴展,我們都能快速 Get 到。
  • 中國最大AI預訓練模型發布:113億參數,北京智源研究院、阿里、清華...
    而在此技術背後,是研究組提出的針對多模態認知生成的大規模預訓練的架構M6:MultiModality-to-MultiModality Multi-task Mega-Transformer。據了解,模型整體架構基於Transformer,其中圖像進行切塊並對塊採用ResNet-50提取特徵。