微軟讓訓練萬億參數(shù)AI模型的GPU需求從4000個減少到800個
本文轉(zhuǎn)自雷鋒網(wǎng),如需轉(zhuǎn)載請至雷鋒網(wǎng)官網(wǎng)申請授權(quán)。
微軟今天發(fā)布了DeepSpeed庫的更新版本,該庫引入了一種新方法來訓練包含數(shù)萬億個參數(shù)的AI模型,這種模型內(nèi)部的變量可為預測提供依據(jù)。微軟稱這種技術(shù)稱為3D并行性,可以適應各種的工作負載需求,特別是為功耗大的超大型模型平衡效率。
具有數(shù)十億個參數(shù)的單個大型AI模型在一系列具有挑戰(zhàn)性的領(lǐng)域中取得了長足的進步。研究表明它們之所以表現(xiàn)出色,是因為它們可以理解語言、語法、知識、概念和上下文的細微差別,使他們能夠總結(jié)演講,在實時游戲聊天中過濾不合適的話語,解析復雜的法律文檔,甚至可以通過搜索GitHub生成代碼。
但是訓練模型需要大量的計算資源。根據(jù)2018年OpenAI的分析,從2012年到2018年,在大型AI訓練中,計算量的需求增長了300,000倍,也就是大概每3.5個月的時間翻一番,遠遠超過了摩爾定律的步伐。
增強的DeepSpeed利用三種技術(shù)來實現(xiàn)“萬億級”模型訓練:數(shù)據(jù)并行訓練、模型并行訓練和管線并行訓練。
訓練一個萬億參數(shù)的模型將需要至少400個Nvidia 今年最新推出的A100 GPU(每個內(nèi)存高達40GB),并且Microsoft估計需要4,000臺A100以50%的效率運行,大約需要100天才能完成訓練。這與微軟和OpenAI共同設(shè)計的AI超級計算機無并不匹配,后者包含10,000多個顯卡,在這樣的超大規(guī)模下,很難獲得很高的計算效率。
DeepSpeed將大型模型分為四個流水線階段,分為較小的組件(層)。每個流水線階段中的層進一步劃分為四個“工人(workers)”,它們執(zhí)行實際的訓練。每個管道都在兩個并行數(shù)據(jù)實例之間復制,并且工作程序被映射到多GPU系統(tǒng)。由于有了這些和其他性能改進,微軟表示,一個萬億參數(shù)的AI模型可以減少到僅需要800個Nvidia V100 GPU訓練。
DeepSpeed的最新版本還包含了ZeRO-Offload技術(shù),該技術(shù)可利用GPU及其主機CPU上的計算和內(nèi)存資源,從而在一臺V100上訓練多達130億個參數(shù)的模型。微軟聲稱這比最新技術(shù)強10倍,使得訓練人員可以使用更少的計算資源來進行數(shù)據(jù)科學家的訓練。
“這些(DeepSpeed中的新技術(shù))提供了極高的計算、內(nèi)存和通信效率,并支持數(shù)十億到數(shù)萬億個參數(shù)的模型訓練。” 微軟在博客中寫道,“這些技術(shù)還允許極長的輸入序列,并通過單個GPU,具有數(shù)千個GPU的高端集群或具有非常慢的以太網(wǎng)網(wǎng)絡的低端集群釋放硬件系統(tǒng)的能量。我們將(繼續(xù))進行快速創(chuàng)新,為深度學習訓練突破了速度和規(guī)模的界限。”