Categories
程式開發

微軟發布T-NLG:一個170億參數的語言模型


Turing Natural LanguageGeneration(T-NLG,圖靈自然語言生成)是微軟開發的一款170億參數語言模型,它在許多下游NLP任務上的表現均超過了現有的頂尖水平。我們向學術界展示了這個模型的一個demo,其中包括了它的自由格式生成、問題回答和摘要功能,以供反饋和研究之用。

上述摘要(的英文原文)是由Turing-NLG語言模型自己生成的。

微軟發布T-NLG:一個170億參數的語言模型 1

上圖源於DistilBERT發布的一張類似的圖片

諸如BERT和GPT-2之類的大規模深度學習語言模型(LM)從互聯網上發布的幾乎所有文本中學習到了數以十億計的參數,並提升了幾乎所有下游自然語言處理(NLP)任務(包括問題解答、會話代理和文檔理解等)的發展水平。

先進的自然語言生成技術可以轉化為多種現實應用,例如協助作者撰寫內容,幫助人們匯總一長段文本來節省時間,或改善數字助理的客戶體驗。當下的趨勢是自然語言模型規模越大,產生的結果就越好,在這樣的背景下微軟圖靈項目就推出了圖靈自然語言生成(T-NLG)技術,這是有史以​​來發布的規模最大的模型,擁有170億個參數,在各種語言建模基準測試上的成績均優於之前最頂尖的水平,並且在許多實際任務(包括摘要和問題解答等)上的表現也很出色。這一成果背後的最大功臣就是DeepSpeed庫(與PyTorch兼容)和ZeRO優化器帶來的突破性進展,相關內容可參閱這一篇博客文章)。

我們向學術界的一小批用戶發布了一個T-NLG的私有demo,其中包括自由格式生成、問題回答和摘要功能,以供初步測試和反饋之用。

T-NLG:大型語言生成模型的好處

T-NLG是一款基於Transformer的語言生成模型,這意味著它可以生成詞彙來完成開放式文本任務。除了補足未完成的句子外,它還可以直接對輸入的問題生成答案,或對輸入的文檔生成摘要。

T-NLG之類的生成模型對於NLP任務來說是很重要的,因為我們的目標是在任何情況下都盡可能像人類那樣直接、準確和流暢地響應。以前,問題解答和摘要係統需要從文檔中提取現有內容,這些內容可以用作備用答案或摘要,但它們往往看起來不那麼自然和連貫。借助T-NLG,我們就可以針對個人文檔或電子郵件主題自然地給出摘要或回答問題。

我們觀察到了這樣的事實:只要模型更大,預訓練數據更加多樣化,更為全面,那麼即使所用的訓練實例數量較少,模型在推廣到多個下游任務時也能表現得更好。因此,我們認為訓練一個大型中心化多任務模型,並在眾多任務中共享其能力,比為每個任務單獨訓練新模型的做法更有效率。

預訓練T-NLG:硬件和軟件突破

任何具有超過13億個參數的模型都無法裝入單個GPU(甚至有32GB內存的GPU都不行),因此這個模型本身必須在多個GPU之間並行化,或分解成多個片段。我們利用了幾項硬件和軟件突破性成果來訓練T-NLG:

  1. 我們利用NVIDIA DGX-2硬件配置和InfiniBand連接,加快了GPU之間的通信。
  2. 我們使用張量切片,在NVIDIA Megatron-LM框架中將模型分片到四個NVIDIA V100 GPU上。
  3. DeepSpeed with ZeRO使我們可以降低模型並行度(從16減到4),並將每個節點的批大小增加到4倍,還將訓練時間減少到了三分之一。有了DeepSpeed,我們就能用較少的GPU訓練非常大的模型,從而提高了效率;它僅用256個NVIDIA GPU就能以512的批大小進行訓練,而單獨使用Megatron-LM則需要1024個NVIDIA GPU。 DeepSpeed還兼容PyTorch。

生成的T-NLG模型具有78個Transformer層,其隱藏層節點大小為4256,有28個attention head。為了和Megatron-LM的結果對比,我們使用了與Megatron-LM相同的超參數和學習計劃來對模型進行預訓練,使用了自回歸生成損失函數,1024 長度的Token 序列,訓練了30 萬步,批大小為512。學習計劃遵循3200個線性預熱步驟,最大學習速率為1.5×10-4,餘弦衰減超過500,000個步驟,精度為FP16。我們使用與Megatron-LM模型相同的數據類型來訓練模型。

我們還對比了預訓練的T-NLG模型在標準語言任務,例如WikiText-103和LAMBADA在下一個單詞的預測準確度(越高越好)上的性能。下表顯示,我們在LAMBADA和WikiText-103上都打破了已有的最好紀錄。其中Megatron-LM是NVIDIA Megatron模型公開發布的結果數據。

LAMBADA(acc)strict WikiText-103(teat adj.ppl)
Open AI GPT-2 1.5B 52.66(63.24)* 17.48
Megatron-LM 8.3B 66.51 10.81
T-NLG 17B 67.98 10.21

*OpenAI使用了額外的處理技術(停用詞過濾)來獲得比獨立模型更好的成績。 Megatron和T-NLG都不使用這種停用詞過濾技術。

下面的圖1顯示了與Megatron-LM相比,T-NLG在驗證困惑度方面的表現。

微軟發布T-NLG:一個170億參數的語言模型 2

圖1:訓練期間Megatron-8B參數模型(橙色線)與T-NLG 17B模型(藍線和綠線)驗證困惑度的成績對比。虛線表示通過當前公開的最佳技術模型實現的最低驗證損失。圖中從藍色到綠色的過渡表示T-NLG在性能上超過了已有的最佳公開技術水平

直接回答問題和零次回答能力

許多Web搜索用戶希望在問問題時,能看到結果頁面的頂部顯示一個直接回答問題的卡片。這些卡片往往會從某段上下文中找出一句話來做答案。我們的目標是直接回答用戶的問題,從而更明確地滿足他們信息需求。例如,大多數搜索引擎解答下面這個問題時會展示一段文字,並高亮顯示其中的“Tristan Prettyman”(參見下面的示例)。

問題 Jason Mraze之前和誰訂婚了?
段落 Mraz在2010年聖誕夜與歌手/作詞人,也是她的長期密友Tristan Prettyman訂婚;他們在六個月後解除了婚約。
“直接”答案 Jason Mraz曾與Tristan Prettyman訂婚。

相比之下,T-NLG會直接用完整的句子回答問題。這種能力在Web搜索以外的場景中用途更大——例如,當用戶向AI助手詢問有關自己個人數據的問題(例如電子郵件或Word文檔)時,這種能力能讓助手更智能地給出答案。

這一模型還能夠實現“零次”(zero shot)問題解答,意味著無需上下文即可回答問題。下面的示例中模型沒有什麼段落可用,只有問題。在這類情況下,模型通過在預訓練過程中獲得的知識來生成答案。

第二次世界大戰是何時結束的? 二戰結束於1945年。
美國有多少居民? 現在美國有超過3億居民。

由於ROUGE評分取決於真值(ground-truth)答案,其無法反映其他質量指標,例如事實正確性和語法正確性等,因此我們請人工註釋者來評估我們之前的基準系統(一個類似於CopyNet的LSTM模型)和當前的T-NLG模型。要實現對事實正確性的自動評估還有很多工作要做。

正確率(%) T-NLG LSTM(類似CopyNet)
語法 98 97
事實 96 92

我們還注意到,較大的預訓練模型要達到較好的學習成果時所需的下游任務實例更少。我們最多只有100,000個“直接”回答問題-段落-答案三元組的實例,但就算只進行了幾千次訓練,我們的模型仍比LSTM基準模型在同一份數據上訓練多個epoch的表現還更出色。由於收集帶註釋的監督數據是非常昂貴的,所以這種結果會帶來實際的業務收益。

無需太多監督的抽象摘要

NLP領域中的摘要技術有兩種類型:提取——從文檔中獲取少量句子作為摘要;抽象——用NLG模型像人類一樣生成摘要。 T-NLG的目標不是複制現有內容,而是為各種文本文檔(如電子郵件、博客文章、Word文檔甚至Excel工作表和PowerPoint演示文稿)像人類那樣編寫抽象摘要。這裡的一大挑戰是,在所有這些情況下都缺乏監督訓練數據:人類並不會每次都明確地總結每種文檔類型。 T-NLG的強大在於,它已經非常理解文本,因此無需太多的監督即可勝過我們之前使用的所有技術。

為了使T-NLG盡可能通用,從而為各種類型的文本生成摘要,我們在幾乎所有公開可用的摘要數據集中以多任務方式調整了T-NLG模型,總計約有400萬個訓練實例。我們使用ROUGE分數(代表所生成的摘要與參考摘要中的單字組和雙字組的匹配程度)與另一種最新的基於Transformer的語言模型(稱為PEGASUS,https://arxiv.org/abs/1912.08777),和之前表現最佳的模型進行了對比。

Rouge-L T-NLG 之前的最佳模型 PEGASUS Large
arXiv 30.8 23.6 25.7
WikiHow 31.5 26.5 33.4
BillSum 41.6 33.7 45.8
WikiSum 36.0 38.8

請注意,T-NLG是以多任務方式,同時在所有數據集上進行訓練的。眾所周知,ROUGE評分在摘要任務方面存在缺陷(可以通過多種方式編寫很好的抽象摘要),因此我們在下面提供了一些公開發表的文章的輸出摘要,以供比較。

原始文本的鏈接 T-NLG摘要
“Microsoft will be carbon negative by 2030” by Brad Smith, Official Microsoft Blog”(https://blogs.microsoft.com/blog/2020/01/16/microsoft-will-be-carbon-negative-by-2030/ Microsoft is committed to being carbon negative by 2030. We are launching an aggressive program to cut our carbon emissions by more than half by 2030, both for our direct emissions and for our entire supply and value chain. We are also launching an initiative to use Microsoft technology to help our suppliers and customers reduce their own carbon footprints and a new $1 billion climate innovation fund to accelerate the development of carbon reduction, capture, and removal technologies that will help us and the world become carbon negative. In addition to our aggressive carbon goals, we are launching a new Climate Innovation Fund to accelerate carbon reduction and removal opportunities. We are also launching a program to use our technology to improve the efficiency of our supply chain and reduce our own carbon footprint as well…
“The Next Word: Where will predictive text take us?” by John Seabrook, The New Yorker(https://www.newyorker.com/magazine/2019/10/14/can-a-machine-learn-to-write-for-the-new-yorker “Smart” compose is a feature that suggests what going to type next, based on your past e-mails and your current thoughts. But what happens when you let the A.I. decide what you want to say next?

T-NLG的未來應用

T-NLG在自然語言生成方面已經取得了突破,為微軟和我們的客戶提供了新的機遇。除了通過文檔和電子郵件摘要來節省用戶時間之外,T-NLG還可以為作者提供寫作輔助,並回答讀者可能對文檔提出的問題來增強微軟Office套件的體驗。此外,它為對話更流暢的聊天機器人數字助理)鋪平了道路,這樣自然語言生成技術就可以與客戶對話,從而幫助企業改善客戶關係管理和銷售工作。隨著我們進一步提高語言模型的質量,我們也對新的可能性興奮不已。

關於圖靈項目:

T-NLG是一個名為圖靈項目的更大計劃的一部分,該計劃是一個應用研究小組,致力於在文本和圖像處理方面採用深度學習技術來開發微軟產品。我們的工作正在主動集成到多個微軟產品中,包括Bing、Office和Xbox等。

如果你想提名自己的組織參與圖靈項目的語義搜索的私有測試,請在此處提交申請

原文鏈接

https://www.microsoft.com/en-us/research/blog/turing-nlg-a-17-billion-parameter-language-model-by-microsoft/