當前位置:
首頁 > 知識 > 斯坦福DAWNBench最新成績:華為雲ModelArts深度學習訓練速度登頂

斯坦福DAWNBench最新成績:華為雲ModelArts深度學習訓練速度登頂

機器之心發布

編輯:吳欣

近日,斯坦福大學發布了 DAWNBenchmark 最新成績,在圖像識別(ResNet50-on-ImageNet,93% 以上精度)的總訓練時間上,華為雲 ModelArts 排名第一,僅需 10 分 28 秒,比第二名提升近 44%。

斯坦福大學 DWANBench 是用來衡量端到端的深度學習模型訓練和推理性能的國際權威基準測試平台。計算時間和成本是構建深度模型的關鍵資源,而現有的許多基準只關注模型準確率。DAWNBench 提供了一套通用的深度學習評價指標,用於評估不同優化策略、模型架構、軟體框架、雲和硬體上的訓練時間、訓練成本、推理延遲以及推理成本。

在當前的排名中,華為雲 ModelArts 在圖像識別(ResNet50-on-ImageNet,93% 以上精度)的總訓練時間上,排名第一。

斯坦福大學 DAWNBenchmark 最新成績,從硬體上,我們可以看到華為雲採用了 128 塊 V100。網頁鏈接:https://dawn.cs.stanford.edu/benchmark/

作為人工智慧最重要的基礎技術之一,近年來深度學習也逐步延伸到更多的應用場景。而隨著深度學習模型越來越大,所需數據量越來越多,深度學習的訓練和推理性能將是重中之重。據華為雲表示,ModelArts 結合了華為在 AI 晶元、硬體、雲設施、軟體和演算法的全棧優勢,打造出更快的普惠的 AI 開發平台。

接下來,讓我們了解下華為雲 ModelArts 是如何創造訓練速度新紀錄的。

近年來,深度學習已經廣泛應用於計算機視覺、語音識別、自然語言處理、視頻分析等領域,可服務於視頻監控、自動駕駛、搜索推薦、對話機器人等場景,具有廣闊的商業價值。

為了達到更高的精度,通常深度學習所需數據量和模型都很大,訓練非常耗時。例如在計算機視覺中,如果我們在 ImageNet 數據集上用 1 塊 P100 GPU 訓練一個 ResNet-50 模型,則需要耗時將近 1 周。這嚴重阻礙了深度學習應用的開發進度。因此,深度學習訓練加速一直是學術界和工業界所關注的重要問題,也是深度學習應主要用的痛點。

Jeremy Howard 等幾位教授領銜的 fast.ai 當前專註於深度學習加速,在 ImageNet 數據集上用 128 塊 V100 GPU 訓練 ResNet-50 模型的最短時間為 18 分鐘。

然而,最近 BigGAN、NASNet、BERT 等模型的出現,預示著訓練更好精度的模型需要更強大的計算資源。

可以預見,在未來隨著模型的增大、數據量的增加,深度學習訓練加速將變得會更加重要。只有擁有端到端全棧的優化能力,才能使得深度學習的訓練性能做到極致。

華為雲 ModelArts 如何創造訓練速度新紀錄

華為雲 ModelArts 是一站式的 AI 開發平台,已經服務於華為公司內部各大產品線的 AI 模型開發,幾年下來已經積累了跨場景、軟硬協同、端雲一體等多方位的優化經驗。

ModelArts 提供了自動學習、數據管理、開發管理、訓練管理、模型管理、推理服務管理、市場等多個模塊化的服務,使得不同層級的用戶都能夠很快地開發出自己的 AI 模型。

圖 1. 華為雲 ModelArts 功能視圖

在模型訓練部分,ModelArts 通過硬體、軟體和演算法協同優化來實現訓練加速。尤其在深度學習模型訓練方面,華為將分散式加速層抽象出來,形成一套通用框架——MoXing(「模型」的拼音,意味著一切優化都圍繞模型展開)。

採用與 fast.ai 一樣的硬體、模型和訓練數據,ModelArts 可將訓練時長可縮短到 10 分鐘,創造了新的記錄,為用戶節省 44% 的時間。

圖 2. 基於 MoXing 和 ModelArts 的訓練速度提升

分散式加速框架 MoXing

MoXing 是華為雲 ModelArts 團隊自研的分散式訓練加速框架,它構建於開源的深度學習引擎 TensorFlow、MXNet、PyTorch、Keras 之上,使得這些計算引擎分散式性能更高,同時易用性更好。

高性能

MoXing 內置了多種模型參數切分和聚合策略、分散式 SGD 優化演算法、級聯式混合併行技術、超參數自動調優演算法,並且在分散式訓練數據切分策略、數據讀取和預處理、分散式通信等多個方面做了優化,結合華為雲 Atlas 高性能伺服器,實現了硬體、軟體和演算法協同優化的分散式深度學習加速。

圖 3. 華為雲 MoXing 架構圖

易用:讓開發者聚焦業務模型,無憂其他

在易用性方面,上層開發者僅需關注業務模型,無需關注下層分散式相關的 API,僅需根據實際業務定義輸入數據、模型以及相應的優化器即可,訓練腳本與運行環境(單機或者分散式)無關,上層業務代碼和分散式訓練引擎可以做到完全解耦。

從兩大指標看 MoXing 分散式加速關鍵技術

在衡量分散式深度學習的加速性能時,主要有如下 2 個重要指標:

1.吞吐量,即單位時間內處理的數據量;

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

吞吐量一般取決於伺服器硬體(如更多、更大 FLOPS 處理能力的 AI 加速晶元,更大的通信帶寬等)、數據讀取和緩存、數據預處理、模型計算(如卷積演算法選擇等)、通信拓撲等方面的優化,除了低 bit 計算和梯度(或參數)壓縮等,大部分技術在提升吞吐量的同時,不會造成對模型精度的影響。

為了達到最短的收斂時間,需要在優化吞吐量的同時,在調參方面也做調優。如果調參調的不好,那麼吞吐量有時也很難優化上去,例如 batch size 這個超參不足夠大時,模型訓練的並行度就會較差,吞吐量難以通過增加計算節點個數而提升。

對用戶而言,最終關心的指標是收斂時間,因此 MoXing 和 ModelArts 實現了全棧優化,極大縮短了訓練收斂時間。

在數據讀取和預處理方面,MoXing 通過利用多級並發輸入流水線使得數據 IO 不會成為瓶頸;

在模型計算方面,MoXing 對上層模型提供半精度和單精度組成的混合精度計算,通過自適應的尺度縮放減小由於精度計算帶來的損失;

在超參調優方面,採用動態超參策略(如 momentum、batch size 等)使得模型收斂所需 epoch 個數降到最低;

在底層優化方面,MoXing 與底層華為自研伺服器和通信計算庫相結合,使得分散式加速進一步提升。

測試結果對比

一般在 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 分 58 秒。

圖 4. ResNet50 on ImageNet 訓練收斂曲線,曲線上的精度為訓練集上的精度

MoXing 與 fast.ai 的訓練結果對比

華為雲 ModelArts 致力於為用戶提供更快的普惠 AI 開發體驗,尤其在模型訓練這方面,內置的 MoXing 框架使得深度學習模型訓練速度有了很大的提升。

正如前所述,深度學習加速屬於一個從底層硬體到上層計算引擎、再到更上層的分散式訓練框架及其優化演算法多方面協同優化的結果,具備全棧優化能力才能將用戶訓練成本降到最低。

後續,華為雲 ModelArts 將進一步整合軟硬一體化的優勢,提供從晶元(Ascend)、伺服器(Atlas Server)、計算通信庫(CANN)到深度學習引擎(MindSpore)和分散式優化框架(MoXing)全棧優化的深度學習訓練平台。

並且,ModelArts 會逐步集成更多的數據標註工具,擴大應用範圍,將繼續服務於智慧城市、智能製造、自動駕駛及其它新興業務場景,在公有雲上為用戶提供更普惠的 AI 服務。

參考鏈接:https://dawn.cs.stanford.edu/benchmark/

每日精選教程,掃碼開啟訂閱,每天18:00及時速遞。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

半監督學習也能自動化?南大和第四範式提出Auto-SSL

TAG:機器之心 |