微軟 AI & Research 今天宣佈一個它稱為全球最大的 Transformer 為基礎的機器學習語言產出模型,並且以開原專案釋出深度學習最佳化函式庫 DeepSpeed,以協助加速大型模式的分散式訓練。
AI 領域的科學家必須有大型自然語言模型以提高語言辨識的精準度。但是訓練大型自然語言模型相當耗時,成本也很高。微軟就是希望 DeepSpeed 函式庫能降低成本、提升速度、規模和可用性。

微軟宣稱,DeepSpeed 包含 ZeRO(Zero Redundancy Optimizer),ZeRO 為平行最佳化工具(parallelized optimizer)可降低模型和資料平行計算資源需求,同時提升訓練參數量,使 DeepSpeed 最高可訓練 1000 億個參數的模型。
而微軟也利用 DeepSpeed 和 ZeRO 訓練出 Turing Natural Language Generation (Turing-NLG),它具備 170 億個參數,成為全球最大語言產出模型,是第二名的 nVidia 的 Megatron 的 2 倍大,且是第三名的 OpenAI 的 GPT-2 參數的 10 倍。
目前業界知名的大型語言模型 OpenAI GPT-2 、 nVidia Megatron-LM 和 Google T5 各有 15 億、 83 億及 110 億個參數。

微軟指出,Turing-NLG 除了為文件和電子郵件做摘要,節省用戶時間外,還可提供文件寫作的協助或回答讀者對文件的疑問,提升 Microsoft Office 的使用經驗,未來甚至還可製作更流暢的語音機器人或數位助理,藉由和客戶對話提升客戶關係管理和銷售。
DeepSpeed 的效益
以速度來說,以 DeepSpeed 訓練模型傳輸率最多可提高 5 倍。例如訓練 GPT 模型時,DeepSpeed 結合 ZeRO 為底層的資料平行化(data parallelism)和 nVidia Megatron-LM 模型的平行運算化。在低頻寬互連的 nVidia GPU 叢集環境下,光使用 Megatron-LM 訓練標準的 15 億參數 GPT-2 模型,資料傳輸率提升 3.75 倍。而在高頻寬互連的 nVidia DGX-2 叢集中,訓練 200 到 800 億個參數的模型,速度也可提升 3 到 5 倍。微軟說,速度提升原因在於 DeepSpeed 記憶體效率及可以較低的模型平行及更大的批次(batch size)來配合這些模型。微軟說,傳輸率提升可降低訓練成本。例如訓練 200 億參數的模型時,DeepSpeed 需要的資源少 3 倍。
此外,微軟也強調 DeepSpeed 的可用性更高,例如只要更動一些程式碼就能以以 PyTorch 模型使用 DeepSpeed 和 ZeRO 。相較於現有模型平行(model parallelism)函式庫,DeepSpeed 不需程式重新設計或重構模型(model refactoring),也不會限制模型向度(dimension)、批次大小或任何訓練參數。此外,DeepSpeed 也支援 ZeRO-powered 的資料平行和模型平行的彈性組合。
DeepSpeed 和 ZeRO 都已開放給開發人員及機器學習研究人員使用,以節省使用 Transformer 架構的成本。一如 Google 的 Meena 及初期的 GPT-2,微軟的 Turing NLG 可能也未提供公開示範。
來源:MS Power User 、 VentureBeat
