0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

為MLPerf HPC v1.0實現的選定優(yōu)化

星星科技指導員 ? 來源:NVIDIA ? 作者:Sukru Burc Eryilmaz ? 2022-04-02 12:08 ? 次閱讀

在 MLPerf HPC v1 . 0 中, NVIDIA 供電系統(tǒng)贏得了五項新的行業(yè)指標中的四項,這些指標主要關注 HPC 中的人工智能性能。作為一個全行業(yè)人工智能聯盟, MLPerf HPC 評估了一套性能基準,涵蓋了廣泛使用的人工智能工作負載。

在這一輪中,與 MLPerf 0 . 7 的強大擴展性結果相比, NVIDIA 在 CosmoFlow 上的性能提高了 5 倍,在 DeepCAM 上的性能提高了 7 倍。這一強大的表現得益于成熟的 NVIDIA AI 平臺和全套軟件。

提供豐富多樣的庫、 SDK 、工具、編譯器和探查器,很難知道在正確的情況下何時何地應用正確的資產。這篇文章詳細介紹了各種場景的工具、技術和好處,并概述了 CosmoFlow 和 DeepCAM 基準測試所取得的成果。

我們已經為 MLPerf Training v1.0 和 MLPerf Inference v1.1 發(fā)布了類似的指南,推薦用于其他面向基準測試的案例。

調整計劃

我們使用包括 NVIDIA DALI 在內的工具對代碼進行了優(yōu)化,以加速數據處理,以及 CUDA Graphs 減少了小批量延遲,從而有效地擴展到 1024 個或更多 GPU 。我們還應用了 NVIDIA SHARP ,通過將一些操作卸載到網絡交換機來加速通信

我們提交的文件中使用的軟件可從 MLPerf repository 獲得。我們定期向 NGC catalog 添加新工具和新版本,這是我們針對預訓練 AI 模型、行業(yè)應用程序框架、 GPU 應用程序和其他軟件資源的軟件中心。

主要性能優(yōu)化

在本節(jié)中,我們將深入討論為 MLPerf HPC 1 . 0 實現的選定優(yōu)化。

使用 NVIDIA DALI 庫進行數據預處理

在每次迭代之前,從磁盤獲取數據并進行預處理。我們從默認的數據加載器移到了 NVIDIA DALI library 。這為 GPU 提供了優(yōu)化的數據加載和預處理功能。

DALI 庫使用 CPU 和 GPU 的組合,而不是在 CPU 上執(zhí)行數據加載和預處理并將結果移動到 GPU 。這將為即將到來的迭代帶來更有效的數據預處理。優(yōu)化后, CosmoFlow 和 DeepCAM 的速度都顯著加快。 DeepCAM 實現了超過 50% 的端到端性能提升。

此外, DALI 還為即將到來的迭代提供異步數據加載,以消除關鍵路徑的 I / O 開銷。啟用此模式后,我們看到 DeepCAM 額外增加了 70% 。

將通道應用于最后的 NHWC 布局

默認情況下, DeepCAM 基準使用 NCHW 布局作為激活張量。我們使用 PyTorch 的通道 last ( NHWC 布局)支持來避免額外的轉置內核。 cuDNN 中的大多數卷積核都針對 NHWC 布局進行了優(yōu)化。

因此,在框架中使用 NCHW 布局需要額外的轉置內核,以便從 NCHW 轉換到 NHWC ,從而實現高效的卷積運算。在框架中使用 NHWC 布局避免了這些冗余拷貝,并在 DeepCAM 模型上實現了約 10% 的性能提升。 NHWC support 在 PyTorch 框架中以 beta 模式提供。

CUDA 圖

CUDA 圖形允許啟動由一系列內核組成的單個圖形,而不是單獨啟動從 CPU 到 GPU 的每個內核。此功能最大限度地減少了 CPU 在每次迭代中的參與,通過最大限度地減少延遲(尤其是在強擴展場景中)顯著提高了性能。

MXNet 先前添加了 CUDA 圖形支持,而 CUDA Graphs support 最近也添加到了 PyTorch 。 PyTorch 中的 CUDA 圖形支持使 DeepCAM 在強擴展場景中的端到端性能提高了約 15% ,這對延遲和抖動最為敏感。

使用 MPI 進行高效的數據暫存

在伸縮性較弱的情況下,分布式文件系統(tǒng)的性能無法滿足 GPU 的需求。為了增加總存儲帶寬,我們將數據集放入 DeepCAM 的節(jié)點本地 NVME 內存中。

由于各個實例都很小,我們可以靜態(tài)地分割數據,因此每個節(jié)點只需要準備完整數據集的一小部分。該解決方案如圖 1 所示。這里,我們用 M 表示實例數,用 N 表示每個實例的秩數。

圖 1 :將列組聚集到碎片中。

請注意,跨實例,具有相同列組 ID 的每個列組使用相同的數據碎片。這意味著在本機上,每個數據碎片被讀取 M 次。為了減輕文件系統(tǒng)的壓力,我們創(chuàng)建了與實例正交的數據子硬盤,如圖 2 所示。

圖 2 :亞硬化的演示。

這樣,每個文件從全局文件系統(tǒng)只讀一次。最后,每個實例都需要接收所有數據。為此,我們創(chuàng)建了與實例內通訊器正交的新 MPI 通訊器,也就是說,我們將具有相同列組 id 的所有實例列組組合到相同的實例間通訊器中。然后,我們可以使用 MPI allgather 將各個子硬盤組合成原始碎片的 M 個副本。

圖 3 :子硬塊的分布。

我們不按順序執(zhí)行這些步驟,而是使用批處理來創(chuàng)建一個管道,該管道與子硬盤的數據讀取和分發(fā)重疊。為了提高讀寫性能,我們進一步實現了一個小型輔助工具,它使用 O _ DIRECT 來提高 I / O 帶寬。

優(yōu)化使 DeepCAM 基準測試的端到端加速比超過 2 倍。這在提交文件 repository 中提供。

損失函數的混合編程

使用命令式編程可以靈活地定義和運行模型,這樣定義一個機器學習模型就像寫一個python程序。與此相對的是符號式編程,它會先定義計算過程,然后再執(zhí)行。這種編程方法允許執(zhí)行引擎進行各種優(yōu)化,但丟失了命令式方法的靈活性。

MXNet 框架采用了合并這兩種方法的混合式編程。命令式定義的計算可以被編譯成符號式,并在可能時進行優(yōu)化。CosmoFlow 將模型混合式編程進行了擴展,把損失函數也包含進來。

Hybridization of a larger scope of the model allows realizing further fusion opportunities.

圖 4 :損失函數的模型混合式。

這允許將損耗計算中的元素操作與 CosmoFlow 模型的縮放激活輸出進行融合,從而減少總體迭代延遲。優(yōu)化使 CosmoFlow 的端到端性能提高了近 5% 。

節(jié)間均采用夏普處理,降低了集體成本

SHARP 允許將集合操作從 CPU 卸載到節(jié)間網絡結構中的交換機。這有效地將 allreduce 操作的 InfiniBand 網絡的節(jié)間帶寬增加了一倍。這種優(yōu)化可使 MLPerf HPC 基準測試的性能提高高達 5% ,特別是在強擴展場景中。

繼續(xù)使用 MLPerf HPC

科學家們正在加速取得突破,部分原因是人工智能和高性能計算相結合,能夠比傳統(tǒng)方法更快、更準確地提供洞察力。

MLPerf HPC v1 . 0 反映了超級計算行業(yè)對客觀、同行評審的方法的需求,以測量和比較與 HPC 相關用例的 AI 培訓性能。在這一輪中, NVIDIA 計算平臺通過損壞所有三個性能基準來證明清晰的領導,同時也證明了兩個吞吐量測量的最高效率。

關于作者

Sukru Burc Eryilmaz 是 NVIDIA 計算機體系結構的高級架構師,他致力于在單節(jié)點和超級計算機規(guī)模上改進神經網絡訓練的端到端性能。他從斯坦福大學獲得博士學位,并從比爾肯特大學獲得學士學位。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • NVIDIA
    +關注

    關注

    14

    文章

    4818

    瀏覽量

    102645
  • 計算機
    +關注

    關注

    19

    文章

    7300

    瀏覽量

    87547
  • MLPerf
    +關注

    關注

    0

    文章

    33

    瀏覽量

    620
收藏 人收藏

    評論

    相關推薦

    浪潮信息AS13000G7榮獲MLPerf? AI存儲基準測試五項性能全球第一

    北京2024年9月27日?/美通社/ -- 9月25日,MLCommons協會發(fā)布最新MLPerf? Storage v1.0 AI存儲基準測試成績。浪潮信息分布式存儲平臺AS13000G7表現出
    的頭像 發(fā)表于 09-28 16:46 ?157次閱讀
    浪潮信息AS13000G7榮獲<b class='flag-5'>MLPerf</b>? AI存儲基準測試五項性能全球第一

    qdprobot for mixly軟件及模塊操作教程v1.0

    電子發(fā)燒友網站提供《qdprobot for mixly軟件及模塊操作教程v1.0.pdf》資料免費下載
    發(fā)表于 08-06 14:23 ?0次下載

    SM7603P芯片12V/300mA電源方案2015 V1.0

    鉦銘科SM7503P芯片12V 300mA適配器電源方案2015V1.0
    發(fā)表于 07-11 10:57 ?0次下載

    2024年,RISC-V能在HPC實現突破嗎?

    電子發(fā)燒友網報道(文/周凱揚)自x86統(tǒng)治HPC多年以來,大家都在期待著能有新的架構能夠打破這一現狀。而2020年的富岳超算做到了這一點,將Arm架構以第一的姿態(tài)呈現在了大家的面前??呻S著RISC-V慢慢獲得更多的關注,不少人在猜測這個全新的開放式架構何時能在
    的頭像 發(fā)表于 02-05 01:19 ?8070次閱讀

    OK3568-C開發(fā)板_AMP_Linux4.19.232+QT5.15.8_用戶編譯手冊_V1.0

    OK3568-C_AMP_Linux4.19.232+QT5.15.8_用戶編譯手冊_V1.0_20231227
    發(fā)表于 01-23 16:28 ?11次下載

    賽昉系列:OK7110-C_Qt5.15.2+Linux5.15.0_編譯手冊_V1.0

    OK7110-C_Qt5.15.2+Linux5.15.0_編譯手冊_V1.0_20230820
    發(fā)表于 01-23 16:23 ?0次下載

    賽昉系列:OK7110-C_Qt5.15.2+Linux5.15.0_軟件手冊_V1.0

    OK7110-C開發(fā)板_Qt5.15.2+Linux5.15.0_軟件手冊_V1.0_20230808
    發(fā)表于 01-23 16:21 ?0次下載

    賽昉系列:FET7110-C、OK7110-C_硬件手冊_V1.0

    FET7110-C、OK7110-C_硬件手冊_V1.0_20230729
    發(fā)表于 01-23 16:18 ?1次下載

    軟通動力天鶴數據復制服務系統(tǒng)V1.0獲得華為技術認證書

    近日,軟通動力自主研發(fā)的“天鶴數據復制服務系統(tǒng)V1.0”成功通過華為云GaussDB各項兼容性測試驗證,正式獲得華為云授予的HUAWEI COMPATIBLE技術認證證書。這標志著軟通動力數據復制服務進一步完善,將為各行各業(yè)的數字化轉型提供更加全面、高效的數據支持。
    的頭像 發(fā)表于 01-23 09:56 ?688次閱讀
    軟通動力天鶴數據復制服務系統(tǒng)<b class='flag-5'>V1.0</b>獲得華為技術認證書

    求購CS32A010-Start_ V1.0 一個

    芯海的伙伴們,請幫忙告訴我去哪里買一個CS32A010-Start_ V1.0。謝謝
    發(fā)表于 12-26 10:55

    飛凌嵌入式OK-D9360-C開發(fā)板_硬件手冊_V1.0

    OK-D9360-C_硬件手冊_V1.0
    發(fā)表于 12-19 09:37 ?12次下載

    元宇宙時代超高清視音頻技術白皮書(V1.0)

    電子發(fā)燒友網站提供《元宇宙時代超高清視音頻技術白皮書(V1.0).pdf》資料免費下載
    發(fā)表于 11-22 10:00 ?0次下載
    元宇宙時代超高清視音頻技術白皮書(<b class='flag-5'>V1.0</b>)

    BH1415設計與應用手冊 V1.0

    電子發(fā)燒友網站提供《BH1415設計與應用手冊 V1.0.pdf》資料免費下載
    發(fā)表于 11-17 14:58 ?7次下載
    BH1415設計與應用手冊 <b class='flag-5'>V1.0</b>

    ESP8266 WiFi模塊用戶手冊V1.0

    電子發(fā)燒友網站提供《ESP8266 WiFi模塊用戶手冊V1.0.doc》資料免費下載
    發(fā)表于 11-17 10:09 ?20次下載
    ESP8266 WiFi模塊用戶手冊<b class='flag-5'>V1.0</b>

    BLHeli V1.0能在哪些電調板上跑呀?

    BLHeli V1.0能在那些電調板上跑呀?試了幾個都不行,會出現短路的情況。 還有到了那個版本可以用Keil的編譯環(huán)境呀。 求各位大佬幫忙解決。
    發(fā)表于 11-06 07:45