微軟讓訓練上兆參數AI模型的GPU,需求從4000個減少到800個
包永剛 / 何渝婷編譯
2020-09-11 09:55

微軟今天發表了深度學習優化庫DeepSpeed的更新版本,該庫引入了一種新方法,來訓練包含數兆個參數的AI模型,這種模型內部的變量可為預測提供依據。

微軟稱,這種技術稱為3D併行性,可以適應各種的工作負載需求,特別是為功耗大的超大型模型平衡效率。

具有數十億個參數的單個大型AI模型,在一系列具有挑戰性的領域中取得了長足的進步。研究表明它們之所以表現出色,是因為它們可以理解語言、語法、知識、概念和上下文的細微差別,使他們能夠總結演講,在實況遊戲聊天中過濾不合適的話語、解析複雜的法律文檔,甚至可以通過搜索GitHub生成程式碼。

但是訓練模型需要大量的運算資源。根據2018年OpenAI的分析,從2012年到2018年,在大型AI訓練中,運算量的需求成長了300,000倍,也就是大概每3.5個月的時間翻一倍,遠遠超過了摩爾定律的步伐。

增強的DeepSpeed,利用三種技術來實現「兆級」模型訓練:數據併行訓練、模型併行訓練和管線併行訓練。

訓練一個兆參數的模型,將需要至少400個Nvidia今年最新推出的A100 GPU(每個內存高達40GB),並且Microsoft估計需要4,000台A100,以50%的效率運行,大約需要100天才能完成訓練。這與微軟和OpenAI共同設計的AI超級電腦並不匹配,後者包含10,000多個顯卡,在這樣的超大規模下,很難獲得很高的運算效率。

DeepSpeed將大型模型分為四個流水線階段,分為較小的組件(層)。每個流水線階段中的層,進一步劃分為四個「工人(workers)」,它們執行實際的訓練。每個管道都在兩個併行數據實例之間複製,並且工作程序被映射到多GPU系統。由於有了這些和其他性能改進,微軟表示,一個兆參數的AI模型,可以減少到僅需要800個Nvidia V100 GPU訓練。

DeepSpeed的最新版本,還包含了ZeRO-Offload技術,該技術可利用GPU及其主機CPU上的運算和內存資源,從而在一台V100上訓練多達130億個參數的模型。微軟聲稱,這比最新技術強10倍,使得訓練人員可以使用更少的運算資源,來進行數據科學家的訓練。 

「這些(DeepSpeed中的新技術)提供了極高的運算、內存和通訊效率,並支持數十億到數兆個參數的模型訓練。」 微軟在部落格中寫道,「這些技術還允許極長的輸入序列,並通過單個GPU,具有數千個GPU的高端集群,或具有非常慢的以太網網路的低端集群,釋放硬體系統的能量。我們將(繼續)進行快速創新,為深度學習訓練突破了速度和規模的界線。」

本文為雷鋒網授權刊登,原文標題為「微軟讓訓練萬億參數AI模型的GPU需求從4000個減少到800個