華為雲重新整理深度學習加速紀錄:128塊GPU,10分鐘訓練完ImageNet
編者按:本文轉自 ofollow,noindex">新智元 (ID:AI_era),編輯:文強,36氪經授權轉載。
日前,斯坦福大學釋出了DAWNBenchmark最新成績,在影象識別(ResNet50-on-ImageNet,93%以上精度)的總訓練時間上,華為雲ModelArts排名第一,僅需10分28秒,比第二名提升近44%。
斯坦福大學DAWNBenchmark影象識別訓練時間最新成績,華為雲ModelArts以10分28秒排名第一,超越了fast.ai、谷歌等勁敵。來源:dawn.cs.stanford.edu/benchmark/
作為人工智慧最重要的基礎技術之一,近年來深度學習逐步延伸到更多的應用場景。除了精度, 訓練時間和成本也是構建深度學習模型時需要考慮的核心要素。 然而,當前的深度學習基準往往以衡量精度為主,斯坦福大學DAWNBench正是在此背景下提出。
斯坦福DAWNBench是衡量端到端深度學習模型訓練和推理效能的國際權威基準測試平臺,提供了一套通用的深度學習評價指標,用於評估不同優化策略、模型架構、軟體框架、雲和硬體上的訓練時間、訓練成本、推理延遲以及推理成本,吸引了谷歌、亞馬遜AWS、fast.ai等高水平隊伍參與,相應的排名反映了當前全球業界深度學習平臺技術的領先性。
正是在這樣高手雲集的基準測試中,華為雲ModelArts第一次參加國際排名,便實現了更低成本、更快速度的體驗。
華為雲創造端到端全棧優化新紀錄:128塊GPU,10分鐘訓練完ImageNet
為了達到更高的精度,通常深度學習所需資料量和模型都很大,訓練非常耗時。例如,在計算機視覺領域常用的經典ImageNet資料集(1000個類別,共128萬張圖片)上,用1塊P100 GPU訓練一個ResNet-50模型, 耗時需要將近1周。這嚴重阻礙了深度學習應用的開發進度。因此, 深度學習訓練加速一直是學術界和工業界所關注的重要問題,也是深度學習應用的主要痛點。
曾任Kaggle總裁和首席科學家的澳大利亞資料科學家和企業家Jeremy Howard,與其他幾位教授共同組建了AI初創公司fast.ai,專注於深度學習加速。他們用128塊V100 GPU,在上述ImageNet資料集上訓練ResNet-50模型,最短時間為18分鐘。
最近BigGAN、NASNet、BERT等模型的出現,預示著訓練更好精度的模型需要更強大的計算資源。可以預見,在未來隨著模型的增大、資料量的增加,深度學習訓練加速將變得會更加重要。
只有擁有端到端全棧的優化能力,才能使得深度學習的訓練效能做到極致。
華為雲ModelArts功能檢視
華為雲ModelArts是一站式的AI開發平臺,已經服務於華為公司內部各大產品線的AI模型開發,幾年下來已經積累了跨場景、軟硬協同、端雲一體等多方位的優化經驗。
ModelArts提供了自動學習、資料管理、開發管理、訓練管理、模型管理、推理服務管理、市場等多個模組化的服務,使得不同層級的使用者都能夠很快地開發出自己的AI模型。
自研分散式通用加速框架MoXing,效能再加速
為什麼ModelArts能在影象識別的訓練時間上取得如此優異的成績?
答案是“MoXing”。
在模型訓練部分,ModelArts通過硬體、軟體和演算法協同優化來實現訓練加速。尤其在深度學習模型訓練方面,華為 將分散式加速層抽象出來,形成一套通用框架——MoXing (“模型”的拼音,意味著一切優化都圍繞模型展開)。
採用與fast.ai一樣的硬體、模型和訓練資料,ModelArts可將訓練時長可縮短到10分鐘,創造了新的紀錄,為使用者節省44%的時間
MoXing是華為雲ModelArts團隊自研的分散式訓練加速框架,它構建於開源的深度學習引擎TensorFlow、MXNet、PyTorch、Keras之上,使得這些計算引擎分散式效能更高,同時易用性更好。
華為雲MoXing架構圖
MoXing內建了多種模型引數切分和聚合策略、分散式SGD優化演算法、級聯式混合並行技術、超引數自動調優演算法,並且在分散式訓練資料切分策略、資料讀取和預處理、分散式通訊等多個方面做了優化,結合華為雲Atlas高效能伺服器,實現了硬體、軟體和演算法協同優化的分散式深度學習加速。
有了MoXing後,上層開發者可以聚焦業務模型,無需關注下層分散式相關的API,只用根據實際業務定義輸入資料、模型以及相應的優化器即可,訓練指令碼與執行環境(單機或者分散式)無關,上層業務程式碼和分散式訓練引擎可以做到完全解耦。
用資料說話:從吞吐量和收斂時間看加速效能
深度學習加速屬於一個從底層硬體到上層計算引擎、再到更上層的分散式訓練框架及其優化演算法多方面協同優化的結果,具備全棧優化能力才能將使用者訓練成本降到最低。
在模型訓練這方面,華為雲ModelArts內建的MoXing框架使得深度學習模型訓練速度有了很大的提升。
下圖是華為雲團隊測試的模型收斂曲線(128塊V100 GPU,完成ResNet50-on-ImageNet)。一般在ImageNet資料集上訓練ResNet-50模型,當Top-5精度≥93%或者Top-1 精度≥75%時,即可認為模型收斂。
ResNet50-on-ImageNet訓練收斂曲線(曲線上的精度為訓練集上的精度):(a)所對應的模型在驗證集上Top-1 精度≥75%,訓練耗時為10分06秒;(b) 所對應的模型在驗證集上Top-5精度≥93%,訓練耗時為10分28秒。
Top-1和Top-5精度為訓練集上的精度,為了達到極致的訓練速度,訓練過程中採用了額外程序對模型進行驗證,最終驗證精度如下表所示(包含與fast.ai的對比)。
MoXing與fast.ai的訓練結果對比
華為雲團隊介紹,衡量分散式深度學習框架加速效能時,主要看吞吐量和收斂時間。在與吞吐量和收斂時間相關的幾個關鍵指標上,團隊都做了精心處理:
-
在資料讀取和預處理方面,MoXing通過利用多級併發輸入流水線使得資料IO不會成為瓶頸;
-
在模型計算方面,MoXing對上層模型提供半精度和單精度組成的混合精度計算,通過自適應的尺度縮放減小由於精度計算帶來的損失;
-
在超參調優方面,採用動態超參策略(如momentum、batch size等)使得模型收斂所需epoch個數降到最低;
-
在底層優化方面,MoXing與底層華為自研伺服器和通訊計算庫相結合,使得分散式加速進一步提升
後續,華為雲ModelArts將進一步整合軟硬一體化的優勢,提供從晶片(Ascend)、伺服器(Atlas Server)、計算通訊庫(CANN)到深度學習引擎(MindSpore)和分散式優化框架(MoXing)全棧優化的深度學習訓練平臺。
ModelArts會逐步整合更多的資料標註工具,擴大應用範圍,將繼續服務於智慧城市、智慧製造、自動駕駛及其它新興業務場景,在公有云上為使用者提供更普惠的AI服務。
目前華為雲ModelArts已經在公測中,歡迎 點選此處 試用。