史丹佛DAWNBench:華為雲ModelArts深度學習訓練全球最快
史丹佛 DAWNBench:華為雲ModelArts深度學習訓練全球最快
近日 ,史丹佛大學釋出了DAWNBenchmark最新成績,在影像識別(ResNet50-on-ImageNet,93%以上精度)的總訓練時間上,華為雲ModelArts排名第一,僅需10分28秒,比第二名提升近44%。成績證明,華為雲ModelArts實現了更低成本、更快速度、更極致的體驗。
史丹佛大學 DAWNBench是用來衡量端到端的深度學習模型訓練和推理效能的國際權威基準測試平臺,相應的排行榜反映了當前全球業界深度學習平臺技術的領先性。計算時間和成本是構建深度模型的關鍵資源,DAWNBench提供了一套通用的深度學習評價指標,用於評估不同優化策略、模型架構、軟體框架、雲和硬體上的訓練時間、訓練成本、推理延遲以及推理成本。
作為人工智慧最重要的基礎技術之一 ,近年來深度學習也逐步延伸到更多的應用場景。隨著深度學習模型越來越大,所需資料量越來越多,深度學習的訓練和推理效能將是重中之重。華為雲ModelArts將結合華為在AI晶片、硬體、雲設施、軟體和演算法的全棧優勢,打造更快的普惠的AI開發平臺。
下文將深入分析 ,華為雲ModelArts如何做到效能極致——128塊GPU,ImageNet訓練時間10分鐘。
1. 深度學習已廣泛應用,模型增大、資料增長,深度學習訓練加速的需求日益劇增
近年來 ,深度學習已經廣泛應用於計算機視覺、語音識別、自然語言處理、視訊分析等領域,可服務於視訊監控、自動駕駛、搜尋推薦、對話機器人等場景,具有廣闊的商業價值。
為了達到更高的精度 ,通常深度學習所需資料量和模型都很大,訓練非常耗時。例如,在計算機視覺中,如果我們在ImageNet[1]資料集上用1塊V100 GPU訓練一個ResNet-50模型, 則需要耗時將近1周。這嚴重阻礙了深度學習應用的開發進度。因此,深度學習訓練加速一直是學術界和工業界所關注的重要問題,也是深度學習應主要用的痛點。
Jeremy Howard等幾位教授領銜的fast.ai當前專注於深度學習加速,在ImageNet資料集上用128塊V100 GPU訓練 ResNet-50模型的最短時間為18分鐘。
然而 ,最近BigGAN、NASNet、BERT等模型的出現,預示著訓練更好精度的模型需要更強大的計算資源。可以預見,在未來隨著模型的增大、資料量的增加,深度學習訓練加速將變得會更加重要。只有擁有端到端全棧的優化能力,才能使得深度學習的訓練效能做到極致。
[1] 文中所指的ImageNet資料集包含1000類個類別,共128萬張圖片,是最常用、最經典的影像分類資料集,是原始的ImageNet資料的一個子集。
2. 華為雲ModelArts創造新紀錄,“極致”的訓練速度
華為雲 ModelArts是一站式的AI開發平臺,已經服務於華為公司內部各大產品線的AI模型開發,幾年下來已經積累了跨場景、軟硬協同、端雲一體等多方位的優化經驗。ModelArts提供了自動學習、資料管理、開發管理、訓練管理、模型管理、推理服務管理、市場等多個模組化的服務,使得不同層級的使用者都能夠很快地開發出自己的AI模型。
在模型訓練部分 ,ModelArts通過硬體、軟體和演算法協同優化來實現訓練加速。尤其在深度學習模型訓練方面,華為將分散式加速層抽象出來,形成一套通用框架——MoXing(“模型”的拼音,意味著一切優化都圍繞模型展開)。採用與fast.ai一樣的硬體、模型和訓練資料,ModelArts可將訓練時長可縮短到10分鐘,創造了新的紀錄,為使用者節省44%的時間。
3.分散式加速框架MoXing
MoXing是華為雲ModelArts團隊自研的分散式訓練加速框架,它構建於開源的深度學習引擎TensorFlow、MXNet、PyTorch、Keras之上,使得這些計算引擎分散式效能更高,同時易用性更好。
高效能
MoXing內建了多種模型引數切分和聚合策略、分散式SGD優化演算法、級聯式混合並行技術、超引數自動調優演算法,並且在分散式訓練資料切分策略、資料讀取和預處理、分散式通訊等多個方面做了優化,結合華為雲Atlas高效能伺服器,實現了硬體、軟體和演算法協同優化的分散式深度學習加速。
易用 :讓開發者聚焦業務模型,無憂其他
在易用性方面 ,上層開發者僅需關注業務模型,無需關注下層分散式相關的API,僅需根據實際業務定義輸入資料、模型以及相應的優化器即可,訓練指令碼與執行環境(單機或者分散式)無關,上層業務程式碼和分散式訓練引擎可以做到完全解耦。
4.從兩大指標看MoXing分散式加速關鍵技術
在衡量分散式深度學習的加速效能時 ,主要有如下2個重要指標:
1)吞吐量,即單位時間內處理的資料量;
2)收斂時間,即達到一定的收斂精度所需的時間。
吞吐量一般取決於伺服器硬體 (如更多、更大FLOPS處理能力的AI加速晶片,更大的通訊頻寬等)、資料讀取和快取、資料預處理、模型計算(如卷積演算法選擇等)、通訊拓撲等方面的優化,除了低bit計算和梯度(或引數)壓縮等,大部分技術在提升吞吐量的同時,不會造成對模型精度的影響。為了達到最短的收斂時間,需要在優化吞吐量的同時,在調參方面也做調優。如果調參調的不好,那麼吞吐量有時也很難優化上去,例如batch size這個超參不足夠大時,模型訓練的並行度就會較差,吞吐量難以通過增加計算節點個數而提升。
對使用者而言 ,最終關心的指標是收斂時間,因此MoXing和ModelArts實現了全棧優化,極大縮短了訓練收斂時間。在資料讀取和預處理方面,MoXing通過利用多級併發輸入流水線使得資料IO不會成為瓶頸;在模型計算方面,MoXing對上層模型提供半精度和單精度組成的混合精度計算,通過自適應的尺度縮放減小由於精度計算帶來的損失;在超參調優方面,採用動態超參策略(如momentum、batch size等)使得模型收斂所需epoch個數降到最低;在底層優化方面,MoXing與底層華為自研伺服器和通訊計算庫相結合,使得分散式加速進一步提升。
5.測試結果對比,用資料說話
一般在 ImageNet資料集上訓練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分28秒。
6. 未來展望——更快的普惠AI開發平臺
華為雲 ModelArts致力於為使用者提供更快的普惠AI開發體驗,尤其在模型訓練這方面,內建的MoXing框架使得深度學習模型訓練速度有了很大的提升。正如前所述,深度學習加速屬於一個從底層硬體到上層計算引擎、再到更上層的分散式訓練框架及其優化演算法多方面協同優化的結果,具備全棧優化能力才能將使用者訓練成本降到最低。
後續 ,華為雲ModelArts將進一步整合軟硬一體化的優勢,提供從晶片(Ascend)、伺服器(Atlas Server)、計算通訊庫(CANN)到深度學習引擎(MindSpore)和分散式優化框架(MoXing)全棧優化的深度學習訓練平臺。並且,ModelArts會逐步整合更多的資料標註工具,擴大應用範圍,將繼續服務於智慧城市、智慧製造、自動駕駛及其它新興業務場景,在公有云上為使用者提供更普惠的AI服務。
目前華為雲 ModelArts課程已上線免費學習,歡迎到華為雲學院 ( https://edu.huaweicloud.com/courses/ )搜尋ModelArts 即可獲取。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31556022/viewspace-2637462/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 史丹佛—深度學習和計算機視覺深度學習計算機視覺
- 深度學習 | 訓練網路trick——mixup深度學習
- 雲端計算時代的深度學習訓練深度學習
- 初創公司如何訓練大型深度學習模型深度學習模型
- NLP與深度學習(五)BERT預訓練模型深度學習模型
- ENVI深度學習隨機引數訓練方法深度學習隨機
- 試用阿里雲GPU伺服器進行深度學習模型訓練阿里GPU伺服器深度學習模型
- 撒花!史丹佛深度學習最新視訊釋出,吳恩達主講!深度學習吳恩達
- 史丹佛機器學習教程學習筆記之2機器學習筆記
- [原始碼解析] 深度學習分散式訓練框架 horovod (13) --- 彈性訓練之 Driver原始碼深度學習分散式框架
- 《深度學習案例精粹:基於TensorFlow與Keras》案例集用於深度學習訓練深度學習Keras
- 深度學習發展史深度學習
- 華為雲EI ModelArts,從0到1開發訓練AI模型,通過“極快”和“極簡”實現普惠AIAI模型
- [原始碼解析] 深度學習分散式訓練框架 horovod (8) --- on spark原始碼深度學習分散式框架Spark
- 深度學習煉丹-超引數設定和網路訓練深度學習
- 深度學習之影象簡史深度學習
- [原始碼解析] 深度學習分散式訓練框架 horovod (16) --- 彈性訓練之Worker生命週期原始碼深度學習分散式框架
- [原始碼解析] 深度學習分散式訓練框架 horovod (14) --- 彈性訓練發現節點 & State原始碼深度學習分散式框架
- 史丹佛AI 指數年度報告:清華課程擴張全球最快,DL職位空缺激增35倍AI
- UFLDL:史丹佛大學深度學習課程總結深度學習
- 一文看懂遷移學習:怎樣用預訓練模型搞定深度學習?遷移學習模型深度學習
- 基於Theano的深度學習框架keras及配合SVM訓練模型深度學習框架Keras模型
- 特斯拉AI主管給你的33條深度學習訓練建議AI深度學習
- 深度學習訓練時網路不收斂的原因分析總結深度學習
- [原始碼解析] 深度學習分散式訓練框架 horovod (7) --- DistributedOptimizer原始碼深度學習分散式框架
- [原始碼解析] 深度學習分散式訓練框架 horovod (5) --- 融合框架原始碼深度學習分散式框架
- [原始碼解析] 深度學習分散式訓練框架 horovod (10) --- run on spark原始碼深度學習分散式框架Spark
- 用 Java 訓練深度學習模型,原來可以這麼簡單!Java深度學習模型
- 深度學習與CV教程(6) | 神經網路訓練技巧 (上)深度學習神經網路
- 吳恩達授課,史丹佛CS230深度學習課程資源開放吳恩達深度學習
- 深度學習訓練過程中的學習率衰減策略及pytorch實現深度學習PyTorch
- ICLR 2019 | 用淺度學習訓練深度網路:避開端到端深度學習難題ICLR深度學習
- 在深度學習訓練過程中如何設定資料增強?深度學習
- [原始碼解析] 深度學習分散式訓練框架 horovod (9) --- 啟動 on spark原始碼深度學習分散式框架Spark
- [原始碼解析] 深度學習分散式訓練框架 horovod (11) --- on spark --- GLOO 方案原始碼深度學習分散式框架Spark
- [原始碼解析] 深度學習分散式訓練框架 horovod (15) --- 廣播 & 通知原始碼深度學習分散式框架
- 手把手:我的深度學習模型訓練好了,然後要做啥?深度學習模型
- 史丹佛視覺研究生深度解讀Magic Leap視覺