微軟和英偉達推出訓練語言模型MT-NLG:5300億參數量,是GPT-3的3倍

{"type":"doc","content":[{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"OpenAI 最強預訓練語言模型 GPT-3 具有 1750 億個參數,MT-NLG 參數量是前者的 3 倍。"}]}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"訓練語言模型 MT-NLG 問世"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"10 月 11 日,微軟和英偉達正式推出由 DeepSpeed 和 Megatron 驅動的 Megatron-Turing 自然語言生成模型("},{"type":"link","attrs":{"href":"https:\/\/developer.nvidia.com\/blog\/using-deepspeed-and-megatron-to-train-megatron-turing-nlg-530b-the-worlds-largest-and-most-powerful-generative-language-model\/","title":"xxx","type":null},"content":[{"type":"text","text":"MT-NLG"}]},{"type":"text","text":"),這是迄今爲止訓練的最大最強的解碼語言模型。據瞭解,該模型具有 5300 億個參數,是現有最大的模型 GPT-3 的 3 倍。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"信息顯示,近年來,使用基於 Transformer 語言模型實現的"},{"type":"link","attrs":{"href":"https:\/\/s.geekbang.org\/search\/c=0\/k=NLP\/t=","title":"xxx","type":null},"content":[{"type":"text","text":"自然語言處理(NLP)"}]},{"type":"text","text":"已經在大規模計算、大型數據集以及用於模型訓練的高級算法與軟件的強勢推動下,迎來快速發展。此外,最先進的 NLP 模型中參數的數量也保持着指數級增長趨勢。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/c5\/11\/c52ecaf19b4beyya292f569757213f11.jpg","alt":null,"title":"圖一:最先進NLP模型隨時間推移的規模變化趨勢","style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"不過,訓練這樣的大型模型往往極具挑戰,主要原因包括以下兩點:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"即使是最強大的 GPU 也無法在內存中直接擬合這些模型的參數。如果不高度關注算法、軟件及硬件堆棧的優化,那麼任務中涉及的大量計算操作可能將訓練時長提升到失去實際意義的水平。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"據介紹,微軟和英偉達將最先進的 GPU 加速訓練基礎設施與尖端分佈式學習軟件堆棧進行融合,實現了極高的訓練效率。此外,微軟和英偉達還使建立了高質量的自然語言訓練語料庫,其中包含數千億個標記,並共同開發了訓練配方,以提高優化效率和穩定性。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在微軟和英偉達聯合發佈的一篇"},{"type":"link","attrs":{"href":"https:\/\/www.microsoft.com\/en-us\/research\/blog\/using-deepspeed-and-megatron-to-train-megatron-turing-nlg-530b-the-worlds-largest-and-most-powerful-generative-language-model\/","title":"xxx","type":null},"content":[{"type":"text","text":"論文"}]},{"type":"text","text":"中,二者對 MT-NLG 訓練流程中的方法與結果做了詳細介紹。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"大規模訓練基礎設施"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在英偉達 A100 Tensor Core GPU 與 HDR InfiniBand 網絡的支持下,英偉達 Selene 與微軟 Azure NDv4 等超級計算集羣已經獲得充足的算力,能夠在合理的時間週期之內訓練出包含數萬億個參數的模型。然而,要充分發揮這些超級計算機的潛力,需要在數千個 GPU 之間實現良好的並行性,同時保證負載能夠在內存與計算層面同時獲得高效性與可擴展性。遺憾的是,現有並行策略(例如數據、管道或張量切片)往往在內存與計算效率之間存在衝突與取捨,無法支撐起如此規模的模型訓練任務。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"數據並行能夠帶來良好的計算效率,但需要複製模型狀態且無法利用分佈式內存聚合機制。張量切片要求各 GPU 之間進行大量通信,這就限制了高帶寬NVLink支持下的單節點場景之外的計算效率。管道並行可以實現跨節點高效擴展。但爲了提高計算效率,這種方法需要大批次、粗粒度的並行機制再加上完美的負載均衡,這些要求在 MT-NLG 龐大的規模之下根本無法實現。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"軟件設計方面,在 DeepSpeed 和 Megatron-LM 的驅動下,微軟和英偉達創建了一套高效且可擴展的 3D 並行系統,能夠將數據、管道以及基於張量切片的並行機制結合起來,共同應對挑戰。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"具體來講,這套系統使用 Megatron-LM 的張量切片擴展節點內模型,再使用 DeepSpeed 的管道並行實現跨節點模型擴展。例如,對於 5300 億參數的模型,每套模型副本都跨越 280 個英偉達 A100 GPU,採用的則是節點內 8 路張量切片與跨節點 35 路管道並行。接下來,使用 DeepSpeed 的數據並行進一步將負載擴展到數千個 GPU。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"硬件系統方面,模型訓練是在基於英偉達 DGX SuperPOD 的 Selene 超級計算機上以混合精度完成的。這臺超級計算機由 560 個 DGX A100 服務器構建而成,採用完整的胖樹拓撲(FatTree)加 HDR InfiniBand 聯網配置。每個 DGX A100 包含 8 個英偉達 A100 80GB Tensor Core GPU,通過 NVLink 與 NVSwitch 實現完全互連。微軟也在 Azure NDv4 雲超級計算機中採用了類似的參考架構。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"研究人員分別在 Selene 上使用 280、350 以及 420 臺 DGX A100 服務器試驗批次大小爲 1920 的 5300 億參數模型的端到端吞吐量,並觀察到其迭代時間分別爲 60.1 秒、50.2 秒以及 44.4 秒;這些結果各自對應每 GPU 每秒 126、121 以及 113 萬億次計算。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"訓練數據集與模型配置"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"微軟和英偉達的研究人員使用 Transformer 解碼器架構,這是一套從左到右生成的基於 Transformer 的語言模型,共包含 5300億個參數。其層數、隱藏維度與注意力頭數(attention heads)分別爲 105、20480 與 128。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"研究人員使用 8 路張量與 35 路管道並行,序列長度爲 2048,全局批次大小爲 1920。在前 120 億個訓練 token 中,以 32 爲單位逐步增加批次大小,從 32 開始慢慢增加至最終批次大小 1920。共使用 10 億個 token 對訓練學習率進行預熱。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"新的訓練數據集主要基於之前的工作成果 The Pile 構建而成。研究人員首先從 The Pile 當中選擇質量相對最高的數據子集(圖二中的前 11 行),之後採用與生成 Pile-CC 類似的方法下載並過濾兩份最近的 Common Crawl(CC)快照。並對 CC 數據執行了分步操作,包括從原始 HTML 文件中提取文本、利用在高質量數據上訓練完成的分類器對提取到的文檔進行評分,再根據評分過濾文檔等。爲了保證訓練多樣化,研究人員還從 RealNews 與 CC-Stories 數據集中進行了採樣。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在構建訓練數據集時,文檔去重也是非常重要的一環,畢竟不同數據集的多個文檔中可能包含相同的內容。研究人員使用 min-hash LSH 在文檔層級使用模糊重複數據刪除流程,用以計算稀疏文檔圖及其中的連接部分,由此快速識別出重複文檔。又從各連接部分的重複文檔中選定代表性文檔,並根據數據集的質量進行優先級排序,並使用基於 n-gram 的過濾器從訓練數據集中刪除下游任務數據以避免污染。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"最後,研究人員用一組 15 套數據集完成了訓練,其中共包含 3390 億個 token。在訓練期間,根據圖二給出的可變採樣權重將數據集混合至異構批次當中,重點放在質量更高的數據集身上。最終,整個模型的訓練使用到 2700 億個 token。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"embedcomp","attrs":{"type":"table","data":{"content":"

數據集

數據集來源

Token (單位爲10)

權重 (%)

輪次

Books3

Pile數據集

25.7

14.3

1.5

OpenWebText2

Pile數據集

14.8

19.3

3.6

Stack Exchange

Pile數據集

11.6

5.7

1.4

PubMed Abstracts

Pile數據集

4.4

2.9

1.8

Wikipedia

Pile數據集

4.2

4.8

3.2

Gutenberg (PG-19)

Pile數據集

2.7

0.9

0.9

BookCorpus2

Pile數據集

1.5

1.0

1.8

NIH ExPorter

Pile數據集

0.3

0.2

1.8

Pile-CC

Pile數據集

49.8

9.4

0.5

ArXiv

Pile數據集

20.8

1.4

0.2

GitHub

Pile數據集

24.3

1.6

0.2

CC-2020-50

Common Crawl (CC)快照

68.7

13.0

0.5

CC-2021-04

Common Crawl (CC) 快照

82.6

15.7

0.5

RealNews

RealNews

21.9

9.0

1.1

CC-Stories

Common Crawl (CC) stories

5.3

0.9

0.5"}}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":"center","origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#C0C0C0","name":"user"}}],"text":"圖二:用於訓練MT-NLG模型的數據集。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"結果與成就"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"近期在語言模型(LM)領域的工作表明,強大的預訓練模型往往能夠在無需微調的情況下實現極具競爭力的廣泛 NLP 任務處理能力。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"爲了理解縱向擴展語言模型在零樣本或少樣本場景下實現的具體學習能力增強水平,微軟和英偉達的研究人員對 MT-NLG 開展評估,並證明它在多種 NLP 任務中均獲得了最佳結果。爲了保證評估的全面性,研究人員選擇了跨五大領域的八項不同任務:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在文本預測任務 LAMBADA 中,模型預測特定段落的最後一個單詞。在閱讀理解任務 RACE-h 與 BooIQ 中,模型根據特定段落生成問題的答案。在常識推理任務 PiQA、HellaSwag 與 Winogrande 中,各項任務都需要一定程度的常識指導,超出了傳統語言統計模式的解決範疇。在自然語言推理方面,採用 ANLI-R2 與 HANS 兩項過往模型普遍無法通過的硬基準測試。詞義消歧任務 WiC,結合上下文評估多義詞理解。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"爲了驗證可重複性,研究人員還以開源項目 Im-evaluation-harness 爲基礎開展評估並做出了適當調整,確保設置與之前的工作負載保持高度一致。在零樣本、單樣本與少樣本等場景下評估了 MT-NLG,且沒有執行最佳樣本數搜索。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"圖三爲準確度指標結果。如果測試集爲公開可用,會在測試集上直接評估;對於非公開測試集,則直接報告使用開發數據集獲得的數字。評估中只有 LAMBADA、RACE-h 以及 ANLI-R2 屬於公開測試集,其他均屬於開發數據集。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"embedcomp","attrs":{"type":"table","data":{"content":"

類別

任務

零樣本

單樣本

少樣本

補全預測

Lambada

0.766*

0.731*

0.872*

閱讀理解

BoolQ

0.782

0.825

0.848

閱讀理解

RACE-h

0.479

0.484

0.479

常識推理

PiQA

0.820*

0.810*

0.832*

常識推理

HellaSwag

0.802

0.802

0.824

常識推理

WinoGrande

0.730

0.737

0.789

自然語言推理

ANLI-R2

0.366

0.397

0.396

自然語言推理

HANS

0.607

0.649

0.702

詞義消歧

WiC

0.486

0.513

0.585"}}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":"center","origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#C0C0C0","name":"user"}}],"text":"圖三:使用NT-NLG進行零樣本、單樣本與少樣本評估時獲得的準確率結果。MT-NLG在所有三種設置(以*表示)中均在PiQA開發集與LAMBADA測試集上獲得了最高得分,並在其他類別的同類單體模型中同樣拿下最佳結果。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"以少樣本性能爲例,研究人員觀察到 MT-NLG 具備不錯的提升效果,特別是在 WiC 與 ANLI 這類對先前模型極具挑戰的句子間關係比較或聯繫等任務當中。此外,在零樣本與單樣本評估中同樣看到了廣泛的性能提升效果。另外需要注意的是,與以往模型相比,MT-NLG 模型對訓練數據集中的標記依賴性更低,這代表着模型規模越大、學習速度反而越快。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"對於 HANS 數據集,研究人員沒有找到任何報告數據集範圍指標的基準。但根據 HANS 論文的分析,在 MNLI 上訓練的 BERT 基準能夠在約半數子類上獲得近乎完美的結果,但在另一半上得分卻趨近於零。這表明原有模型高度依賴於論文中確定的僞句法啓發式方法。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在零樣本、單樣本與少樣本場景中,MT-NLG 在 PiQA 開發集與 LAMBADA 測試集上都拿下了最高分。除了報告基準任務的彙總指標之外,研究人員還對模型輸出進行了定性分析,並得出了更多有趣發現:即使符號經過嚴重混淆(示例2),模型仍然可以結合上下文推理出基礎數學運算(示例1)。雖然還不能說 MT-NLG 真正具備自述能力,但該模型似乎已經超出了記憶算術的範疇。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"此外,研究人員還展示了來自 HANS 任務的樣本。在此任務中,研究人員將包含簡單句法結構的任務作爲問題,提示模型給出答案。儘管結構非常簡單,但現有自然語言推理(NLI)模型往往很難處理此類輸入。微調模型則需要從 NLI 數據集中的系統念頭中提取某些句法結構與蘊含關係之間的僞關聯。但 MT-NLG 無需任何微調,就能在這類場景下帶來頗具競爭力的表現。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"embedcomp","attrs":{"type":"table","data":{"content":"

任務

示例1

示例2

推理數學運算

提示:

Q: 11 # 2 = ?

A: 5.5

Q: 18 # 9 = ?

A: 2

Q: 35 # 4 = ?

A: 8.75

Q: 27 # 9 = ?

A: 3

Q: 75 # 6 = ?

A:MT-NLG:12.5

Q: 45 # 5 = ?

A: 9

Q: 18 # 6 = ?

A: 3

提示:

Q: 11 $^% 2 = ?

A: 22 

Q: 3 $^% 9 = ?

A: 27 

Q: 12 $^% 4 = ?

A: 48 

Q: 7 $^% 7 = ?

A: 49 

Q: 8 $^% 5 = ?

A:MT-NLG:40

Q: 9 $^% 6 = ?

A: 54

Q: 10 $^% 5 = ?

A: 50

不同句法結構的自然語言推理

提示:

銀行家忘記了法官給教授們提供的建議。

問:法官給教授們建議。對或錯?答案:

MT-NLG:是的。銀行家忘記了法官給教授們提供了建議。

提示:

著名教授支持祕書。

問:教授支持祕書。對或錯?

答案:

MT-NLG:是的。祕書得到了著名教授的支持。"}}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":"center","origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#C0C0C0","name":"user"}}],"text":"圖四:NT-NLG在不同句法結構下的數學運算與自然語言推理示例。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"雖然大規模語言模型確實推動着語言生成技術的不斷進步,但其中也存在着嚴重的偏差\/偏見與污染問題。研究人員發現,MT-NLG 模型繼承了它從訓練數據中獲得的刻板印象與偏見,當前,微軟與英偉達正在努力解決這個問題。此外,研究人員表示,在生產場景中使用 MT-NLG 還需要配合適當措施,用以確保緩解並最大程度降低對用戶造成的潛在傷害。"}]}]}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章