圖1. 華為云ModelArts功能視圖

在模型訓(xùn)練部分,ModelArts通過硬件、軟件和算法協(xié)同優(yōu)化來實現(xiàn)訓(xùn)練加速。尤其在深度學(xué)習(xí)模型訓(xùn)練方面,我們將分布式加速層抽象出來,形成一套通用框架——MoXing(“模型”的拼音,意味著一切優(yōu)化都圍繞模型展開)。采用與fast.ai一樣的硬件、模型和訓(xùn)練數(shù)據(jù),ModelArts可將訓(xùn)練時長可縮短到10分鐘,創(chuàng)造了新的記錄,為用戶節(jié)省44%的成本。

3.分布式加速框架MoXing

MoXing是華為云ModelArts團隊自研的分布式訓(xùn)練加速框架,它構(gòu)建于開源的深度學(xué)習(xí)引擎TensorFlow、MXNet、PyTorch、Keras之上,使得這些計算引擎分布式性能更高,同時易用性更好。

高性能

MoXing內(nèi)置了多種模型參數(shù)切分和聚合策略、分布式SGD優(yōu)化算法、級聯(lián)式混合并行技術(shù)、超參數(shù)自動調(diào)優(yōu)算法,并且在分布式訓(xùn)練數(shù)據(jù)切分策略、數(shù)據(jù)讀取和預(yù)處理、分布式通信等多個方面做了優(yōu)化,結(jié)合華為云Atlas高性能服務(wù)器,實現(xiàn)了硬件、軟件和算法協(xié)同優(yōu)化的分布式深度學(xué)習(xí)加速。

華為云MoXing架構(gòu)圖

易用:讓開發(fā)者聚焦業(yè)務(wù)模型,無憂其他

在易用性方面,上層開發(fā)者僅需關(guān)注業(yè)務(wù)模型,無需關(guān)注下層分布式相關(guān)的API,僅需根據(jù)實際業(yè)務(wù)定義輸入數(shù)據(jù)、模型以及相應(yīng)的優(yōu)化器即可,訓(xùn)練腳本與運行環(huán)境(單機或者分布式)無關(guān),上層業(yè)務(wù)代碼和分布式訓(xùn)練引擎可以做到完全解耦。

4.從兩大指標(biāo)看MoXing分布式加速關(guān)鍵技術(shù)

在衡量分布式深度學(xué)習(xí)的加速性能時,主要有如下2個重要指標(biāo):

1)吞吐量,即單位時間內(nèi)處理的數(shù)據(jù)量;

2)收斂時間,即達到一定的收斂精度所需的時間。

吞吐量一般取決于服務(wù)器硬件(如更多、更大FLOPS處理能力的AI加速芯片,更大的通信帶寬等)、數(shù)據(jù)讀取和緩存、數(shù)據(jù)預(yù)處理、模型計算(如卷積算法選擇等)、通信拓撲等方面的優(yōu)化,除了低bit計算和梯度(或參數(shù))壓縮等,大部分技術(shù)在提升吞吐量的同時,不會造成對模型精度的影響。為了達到最短的收斂時間,需要在優(yōu)化吞吐量的同時,在調(diào)參方面也做調(diào)優(yōu)。如果調(diào)參調(diào)的不好,那么吞吐量有時也很難優(yōu)化上去,例如batch size這個超參不足夠大時,模型訓(xùn)練的并行度就會較差,吞吐量難以通過增加計算節(jié)點個數(shù)而提升。

對用戶而言,最終關(guān)心的指標(biāo)是收斂時間,因此MoXing和ModelArts實現(xiàn)了全棧優(yōu)化,極大縮短了訓(xùn)練收斂時間。在數(shù)據(jù)讀取和預(yù)處理方面,MoXing通過利用多級并發(fā)輸入流水線使得數(shù)據(jù)IO不會成為瓶頸;在模型計算方面,MoXing對上層模型提供半精度和單精度組成的混合精度計算,通過自適應(yīng)的尺度縮放減小由于精度計算帶來的損失;在超參調(diào)優(yōu)方面,采用動態(tài)超參策略(如momentum、batch size等)使得模型收斂所需epoch個數(shù)降到最低;在底層優(yōu)化方面,MoXing與底層華為自研服務(wù)器和通信計算庫相結(jié)合,使得分布式加速進一步提升。

5.測試結(jié)果對比,用數(shù)據(jù)說話

一般在ImageNet數(shù)據(jù)集上訓(xùn)練ResNet-50模型,當(dāng)Top-5精度≥93%或者Top-1 精度≥75%時即可認為模型收斂。

我們測試的模型訓(xùn)練收斂曲線如下圖所示。此處Top-1和Top-5精度為訓(xùn)練集上的精度,為了達到極致的訓(xùn)練速度,訓(xùn)練過程中采用了額外進程對模型進行驗證,最終驗證精度如表1所示(包含與fast.ai的對比)。圖4(a)所對應(yīng)的模型在驗證集上Top-1 精度≥75%,訓(xùn)練耗時為10分06秒;圖4(b)所對應(yīng)的模型在驗證集上Top-5 精度≥93%,訓(xùn)練耗時為10分58秒。

(a)

(b)

圖4. ResNet50 on ImageNet訓(xùn)練收斂曲線(曲線上的精度為訓(xùn)練集上的精度)

表1. MoXing與fast.ai的訓(xùn)練結(jié)果對比

訓(xùn)練平臺 節(jié)點數(shù)量 訓(xùn)練時長 Top-1 精度(驗證集) Top-5 精度(驗證集)
Fast.ai on AWS 16 0:18:06 75.67% 93.11%
MoXing on ModelArts in Huawei Cloud 16 0:10:06 75.17% 92.70%
MoXing on ModelArts in Huawei Cloud 16 0:10:58 76.04% 93.15%

6. 未來展望–更快的、更普惠的AI開發(fā)平臺

華為云ModelArts致力于為用戶提供更快的普惠AI開發(fā)體驗,尤其在模型訓(xùn)練這方面,內(nèi)置的MoXing框架使得深度學(xué)習(xí)模型訓(xùn)練速度有了很大的提升。正如前所述,深度學(xué)習(xí)加速屬于一個從底層硬件到上層計算引擎、再到更上層的分布式訓(xùn)練框架及其優(yōu)化算法多方面協(xié)同優(yōu)化的結(jié)果,具備全棧優(yōu)化能力才能將用戶訓(xùn)練成本降到最低。

后續(xù),華為云ModelArts將進一步整合軟硬一體化的優(yōu)勢,提供從芯片(Ascend)、服務(wù)器(Atlas Server)、計算通信庫(CANN)到深度學(xué)習(xí)引擎(MindSpore)和分布式優(yōu)化框架(MoXing)全棧優(yōu)化的深度學(xué)習(xí)訓(xùn)練平臺。并且,ModelArts會逐步集成更多的數(shù)據(jù)標(biāo)注工具,擴大應(yīng)用范圍,將繼續(xù)服務(wù)于智慧城市、智能制造、自動駕駛及其它新興業(yè)務(wù)場景,在公有云上為用戶提供更普惠的AI服務(wù)。

目前華為云ModelArts已經(jīng)在火爆公測中,歡迎大家試用。

ModelArts官網(wǎng):登陸華為云首頁搜索ModelArts

分享到

xiesc

相關(guān)推薦