斯坦福大學DWANBench是用來衡量端到端的深度學習模型訓練和推理性能的國際權威基準測試平臺,相應的排行榜反映了當前全球業(yè)界深度學習平臺技術的領先性。
計算時間和成本是構建深度模型的關鍵資源,DAWNBench提供了一套通用的深度學習評價指標,用于評估不同優(yōu)化策略、模型架構、軟件框架、云和硬件上的訓練時間、訓練成本、推理延遲以及推理成本。
斯坦福大學DAWNBenchmark最新成績
作為人工智能最重要的基礎技術之一,近年來深度學習也逐步延伸到更多的應用場景。
隨著深度學習模型越來越大,所需數(shù)據(jù)量越來越多,深度學習的訓練和推理性能將是重中之重。華為云ModelArts將結合華為在AI芯片、硬件、云設施、軟件和算法的全棧優(yōu)勢,打造更快的普惠的AI開發(fā)平臺。
斯坦福大學DAWNBenchmark網(wǎng)頁鏈接:https://dawn.cs.stanford.edu/benchmark/
下文將深入分析,華為云ModelArts如何做到性能極致——128塊GPU,ImageNet訓練時間10分鐘。
深度學習已廣泛應用
模型增大、數(shù)據(jù)增長,深度學習訓練加速的需求日益劇增
近年來,深度學習已經(jīng)廣泛應用于計算機視覺、語音識別、自然語言處理、視頻分析等領域,可服務于視頻監(jiān)控、自動駕駛、搜索推薦、對話機器人等場景,具有廣闊的商業(yè)價值。
為了達到更高的精度,通常深度學習所需數(shù)據(jù)量和模型都很大,訓練非常耗時。例如:
在計算機視覺中,如果我們在ImageNet[1]數(shù)據(jù)集上用1塊P100 GPU訓練一個ResNet-50模型, 則需要耗時將近1周。這嚴重阻礙了深度學習應用的開發(fā)進度。因此,深度學習訓練加速一直是學術界和工業(yè)界所關注的重要問題,也是深度學習應主要用的痛點。
Jeremy Howard等幾位教授領銜的fast.ai當前專注于深度學習加速,在ImageNet數(shù)據(jù)集上用128塊V100 GPU訓練 ResNet-50模型的最短時間為18分鐘。
然而,最近BigGAN、NASNet、BERT等模型的出現(xiàn),預示著訓練更好精度的模型需要更強大的計算資源。
可以預見,在未來隨著模型的增大、數(shù)據(jù)量的增加,深度學習訓練加速將變得會更加重要。只有擁有端到端全棧的優(yōu)化能力,才能使得深度學習的訓練性能做到極致。
[1] 文中所指的ImageNet數(shù)據(jù)集包含1000類個類別,共128萬張圖片,是最常用、最經(jīng)典的圖像分類數(shù)據(jù)集,是原始的ImageNet數(shù)據(jù)的一個子集。
華為云ModelArts創(chuàng)造新記錄“極致”的訓練速度
華為云ModelArts是一站式的AI開發(fā)平臺,已經(jīng)服務于華為公司內(nèi)部各大產(chǎn)品線的AI模型開發(fā),幾年下來已經(jīng)積累了跨場景、軟硬協(xié)同、端云一體等多方位的優(yōu)化經(jīng)驗。
ModelArts提供了自動學習、數(shù)據(jù)管理、開發(fā)管理、訓練管理、模型管理、推理服務管理、市場等多個模塊化的服務,使得不同層級的用戶都能夠很快地開發(fā)出自己的AI模型。
圖1.華為云ModelArts功能視圖
在模型訓練部分,ModelArts通過硬件、軟件和算法協(xié)同優(yōu)化來實現(xiàn)訓練加速。尤其在深度學習模型訓練方面,華為將分布式加速層抽象出來,形成一套通用框架——MoXing(“模型”的拼音,意味著一切優(yōu)化都圍繞模型展開)。
采用與fast.ai一樣的硬件、模型和訓練數(shù)據(jù),ModelArts可將訓練時長可縮短到10分鐘,創(chuàng)造了新的記錄,為用戶節(jié)省44%的時間。
圖2. 基于MoXing和ModelArts的訓練速度提升
分布式加速框架MoXing
MoXing是華為云ModelArts團隊自研的分布式訓練加速框架,它構建于開源的深度學習引擎TensorFlow、MXNet、PyTorch、Keras之上,使得這些計算引擎分布式性能更高,同時易用性更好。
高性能
MoXing內(nèi)置了多種模型參數(shù)切分和聚合策略、分布式SGD優(yōu)化算法、級聯(lián)式混合并行技術、超參數(shù)自動調(diào)優(yōu)算法,并且在分布式訓練數(shù)據(jù)切分策略、數(shù)據(jù)讀取和預處理、分布式通信等多個方面做了優(yōu)化,結合華為云Atlas高性能服務器,實現(xiàn)了硬件、軟件和算法協(xié)同優(yōu)化的分布式深度學習加速。
圖3.華為云MoXing架構圖
易用:讓開發(fā)者聚焦業(yè)務模型,無憂其他
在易用性方面,上層開發(fā)者僅需關注業(yè)務模型,無需關注下層分布式相關的API,僅需根據(jù)實際業(yè)務定義輸入數(shù)據(jù)、模型以及相應的優(yōu)化器即可,訓練腳本與運行環(huán)境(單機或者分布式)無關,上層業(yè)務代碼和分布式訓練引擎可以做到完全解耦。
從兩大指標看MoXing分布式加速關鍵技術
在衡量分布式深度學習的加速性能時,主要有如下2個重要指標:
- 吞吐量,即單位時間內(nèi)處理的數(shù)據(jù)量;
- 收斂時間,即達到一定的收斂精度所需的時間。
吞吐量一般取決于服務器硬件(如更多、更大FLOPS處理能力的AI加速芯片,更大的通信帶寬等)、數(shù)據(jù)讀取和緩存、數(shù)據(jù)預處理、模型計算(如卷積算法選擇等)、通信拓撲等方面的優(yōu)化,除了低bit計算和梯度(或參數(shù))壓縮等,大部分技術在提升吞吐量的同時,不會造成對模型精度的影響。
為了達到最短的收斂時間,需要在優(yōu)化吞吐量的同時,在調(diào)參方面也做調(diào)優(yōu)。如果調(diào)參調(diào)的不好,那么吞吐量有時也很難優(yōu)化上去,例如batch size這個超參不足夠大時,模型訓練的并行度就會較差,吞吐量難以通過增加計算節(jié)點個數(shù)而提升。
對用戶而言,最終關心的指標是收斂時間,因此MoXing和ModelArts實現(xiàn)了全棧優(yōu)化,極大縮短了訓練收斂時間。
- 在數(shù)據(jù)讀取和預處理方面,MoXing通過利用多級并發(fā)輸入流水線使得數(shù)據(jù)IO不會成為瓶頸;
- 在模型計算方面,MoXing對上層模型提供半精度和單精度組成的混合精度計算,通過自適應的尺度縮放減小由于精度計算帶來的損失;
- 在超參調(diào)優(yōu)方面,采用動態(tài)超參策略(如momentum、batch size等)使得模型收斂所需epoch個數(shù)降到最低;
- 在底層優(yōu)化方面,MoXing與底層華為自研服務器和通信計算庫相結合,使得分布式加速進一步提升。
測試結果對比,用數(shù)據(jù)說話
一般在ImageNet數(shù)據(jù)集上訓練ResNet-50模型,當Top-5精度≥93%或者Top-1 精度≥75%時即可認為模型收斂。
我們測試的模型訓練收斂曲線如下圖所示。此處Top-1和Top-5精度為訓練集上的精度,為了達到極致的訓練速度,訓練過程中采用了額外進程對模型進行驗證,最終驗證精度如表1所示(包含與fast.ai的對比)。
圖4(a)所對應的模型在驗證集上Top-1 精度≥75%,訓練耗時為10分06秒;圖4(b)所對應的模型在驗證集上Top-5 精度≥93%,訓練耗時為10分58秒。
圖4. ResNet50 on ImageNet訓練收斂曲線
。ㄇ上的精度為訓練集上的精度)
MoXing與fast.ai的訓練結果對比
未來展望——更快的普惠AI開發(fā)平臺
華為云ModelArts致力于為用戶提供更快的普惠AI開發(fā)體驗,尤其在模型訓練這方面,內(nèi)置的MoXing框架使得深度學習模型訓練速度有了很大的提升。
正如前所述,深度學習加速屬于一個從底層硬件到上層計算引擎、再到更上層的分布式訓練框架及其優(yōu)化算法多方面協(xié)同優(yōu)化的結果,具備全棧優(yōu)化能力才能將用戶訓練成本降到最低。
后續(xù),華為云ModelArts將進一步整合軟硬一體化的優(yōu)勢,提供從芯片(Ascend)、服務器(Atlas Server)、計算通信庫(CANN)到深度學習引擎(MindSpore)和分布式優(yōu)化框架(MoXing)全棧優(yōu)化的深度學習訓練平臺。
并且,ModelArts會逐步集成更多的數(shù)據(jù)標注工具,擴大應用范圍,將繼續(xù)服務于智慧城市、智能制造、自動駕駛及其它新興業(yè)務場景,在公有云上為用戶提供更普惠的AI服務。
目前華為云ModelArts已經(jīng)在公測中
掃描二維碼立即體驗~
掃描二維碼立即體驗~