微軟發布更新版 DeepSpeed 庫,能以更少 GPU 做到「兆級」AI 模型訓練

作者 | 發布日期 2020 年 09 月 12 日 8:00 | 分類 AI 人工智慧 , GPU , Microsoft Telegram share ! follow us in feedly


微軟(Microsoft)11 日發布更新版 DeepSpeed 庫,此深度學習優化庫引進新方法訓練包含上兆參數的 AI 人工智慧模型,亦即模型內部可提供預測變量。微軟宣稱名為「3D 平行」(3D parallelism)的技術,可適應不同的工作負載需求,以便運行超大模型,同時平衡擴充效率。 

有數十億個參數的單一大規模 AI 模型,在一系列有挑戰性的領域取得巨大進展。研究表明之所以表現出色的原因,是因可理解語言、文法、知識、概念和情境脈絡的細微差別,能歸納演講,讓即時遊戲聊天的內容不致太偏激,能解析複雜的法律文件,甚至可透過搜尋 GitHub 產生程式碼。但訓練模型需要大量運算資源。據 2018 年 OpenAI 的分析,從 2012 年到 2018 年,規模最大的 AI 訓練中,使用運算量成長 30 萬倍,訓練時間也翻倍達 3.5 個月,遠遠超越摩爾定律。

單一上兆參數模型只需要 800 顆 GPU 便可訓練

強化更新版 DeepSpeed 運用三種技術達成「兆級」模型訓練:資料平行訓練、模型平行訓練和管線化平行訓練(Pipeline Parallel Training)。訓練一個上兆參數模型需要至少 400 顆 Nvidia A100 GPU 合起來的記憶體容量(每個 CPU 擁有 40GB 記憶體),微軟估計透過 4,000 顆 A100 以 50% 效率運行,約需 100 天才能完成訓練。這完全不是微軟與 OpenAI 共同設計 AI 超級電腦的對手,包含 1 萬多張繪圖卡,但這樣的規模下想獲得高運算效率往往很困難。

在四級管線階段,DeepSpeed 將大型模型分為較小組件(層)。每級管線階段的階層會進一步劃分給 4 個「worker」,它們會執行實際訓練。每個管道都可在兩個資料平行實例複製,且 worker 會映射到多 GPU 系統。拜上述及其他效能改進之賜,微軟表示,單一上兆參數模型只需 800 顆 Nvidia V100 GPU 便可訓練。

最新版 DeepSpeed 還搭載零卸載(ZeRO-Offload)技術,充分運用 GPU 及主機 CPU 運算和記憶體資源,因此能在單顆 V100 訓練高達 130 億個參數的模型。微軟聲稱這比最新技術的運算量還要大 10 倍,進而讓資料科學家可用更少運算資源訓練。

「這些 DeepSpeed 的新技術提供極致運算、記憶體和通訊效率,做到數十億至數兆個參數的模型訓練。」微軟部落格寫道:「這些技術還允許超長輸入序列,並能在只有單一 GPU 的硬體系統,擁有數千顆 GPU 高端叢集,或在擁有超慢乙太網路的低端叢集運行……我們持續快速創新,不斷突破深度學習訓練的速度和規模限制。」

(首圖來源:shutterstock)