Microsoft開源了零冗余優(yōu)化器版本2(ZeRO-2),這是一種分布式深度學(xué)習(xí)優(yōu)化算法,可根據(jù)集群大小進(jìn)行超線性擴(kuò)展。與以前的分布式學(xué)習(xí)技術(shù)相比,Microsoft使用ZeRO-2培訓(xùn)了10倍的1000億參數(shù)自然語言處理(NLP)模型。
程序經(jīng)理Rangan Majumder和杰出的工程師Wang Junhua在博客中寫道,描述了該算法及其實(shí)驗(yàn)。ZeRO-2是Microsoft開源DeepSpeed庫的一部分,用于深度學(xué)習(xí)培訓(xùn)優(yōu)化。ZeRO-2優(yōu)化了訓(xùn)練過程中的內(nèi)存消耗,允許對(duì)多達(dá)1,700億個(gè)參數(shù)的模型進(jìn)行分布式訓(xùn)練。該算法還減少了分布式集群中工作節(jié)點(diǎn)之間的通信,實(shí)現(xiàn)了超線性并行加速,從而將培訓(xùn)時(shí)間減少了多達(dá)10倍。DeepSpeed團(tuán)隊(duì)在1,024個(gè)GPU的集群上使用ZeRO-2,達(dá)到了創(chuàng)紀(jì)錄的44分鐘的時(shí)間來訓(xùn)練BERT自然語言模型,比NVIDIA的結(jié)果提高了30%以上。
NLP研究的最新趨勢(shì)表明,通過在較大數(shù)據(jù)集上訓(xùn)練的較大模型,可以提高準(zhǔn)確性。OpenAI提出了一套“縮放定律”,表明模型精度與模型大小具有冪律關(guān)系,并且最近通過創(chuàng)建具有1750億個(gè)參數(shù)的GPT-3模型對(duì)該想法進(jìn)行了測(cè)試。由于這些模型太大而無法容納單個(gè)GPU的內(nèi)存,因此對(duì)其進(jìn)行訓(xùn)練需要一堆機(jī)器和模型并行訓(xùn)練技術(shù),以在整個(gè)集群中分配參數(shù)。有幾種實(shí)現(xiàn)有效的模型并行性的開源框架,包括GPipe和NVIDIA的Megatron,但是由于集群節(jié)點(diǎn)之間的通信開銷,它們具有次線性加速,并且使用框架通常需要模型重構(gòu)。
ZeRO-2使用以下三種策略來減少訓(xùn)練所需的內(nèi)存:減少模型狀態(tài)內(nèi)存需求,將層激活卸載到CPU以及減少內(nèi)存碎片。ZeRO-2可以通過在并行進(jìn)程之間劃分梯度和參數(shù),將模型狀態(tài)內(nèi)存需求減少多達(dá)8倍。層激活值是從前向訓(xùn)練過程中保存的,以便稍后在后向過程中使用,但是ZeRO-2將它們暫時(shí)從GPU的內(nèi)存移動(dòng)到主機(jī)CPU的內(nèi)存。最后,即使可用內(nèi)存不連續(xù),即使內(nèi)存可用,內(nèi)存分配也可能失敗。ZeRO-2通過為連續(xù)用途(例如激活和漸變)預(yù)先分配連續(xù)的內(nèi)存塊來減少碎片。
-
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5503瀏覽量
121182 -
自然語言處理
+關(guān)注
關(guān)注
1文章
618瀏覽量
13561 -
nlp
+關(guān)注
關(guān)注
1文章
488瀏覽量
22038
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論