久久www免费人成看片老司机_母亲4在线观看完整版 百度_波多野结衣久久_亚洲午夜成人片_天美传媒国产精品果冻

 
您現(xiàn)在的位置:首頁 ? 新聞動態(tài) ? 公司新聞 公司新聞
PaddlePaddle之后,百度開源深度學習硬件基準DeepBench
發(fā)布日期:2016-09-28

      谷歌、微軟、Facebook 等傳統(tǒng)的人工智能技術(shù)巨頭之外,百度近來也加入到了技術(shù)開源的浪潮之中,繼 PaddlePaddle 之后,百度又宣布開源了一項深度學習基準 DeepBench。

       開源地址:https://github.com/baidu-research/DeepBench

1.DeepBench

       DeepBench 是一個開源的基準工具,用來測量深度神經(jīng)網(wǎng)絡(luò)訓練中的基礎(chǔ)操作的表現(xiàn)。使用神經(jīng)網(wǎng)絡(luò)庫,這些操作在不同的硬件平臺被執(zhí)行。如今測試基準工具 DeepBench 在 github 上已經(jīng)開源。

      DeepBench 的主要目標是 benchmark 對深度學習在不同硬件平臺上而言很重要的運算。盡管深度學習背后的基礎(chǔ)計算已經(jīng)被很好的理解了,但在實踐中它們被使用的方式驚人的不同。例如,矩陣相乘運算基于被相乘矩陣的大小和 Kernel 實現(xiàn),可能是 compute-bound,也可能是 bandwidth-bound, 或者 occupancy-bound。因為每個深度學習模型帶著不同的參數(shù)使用這些運算,面向深度學習硬件和軟件的優(yōu)化空間還是很大的,也是不足的。

      DeepBench 試圖解決這個問題,「在被用于訓練深度神經(jīng)網(wǎng)絡(luò)時,在基礎(chǔ)運算上哪種硬件提供最好的表現(xiàn)?」我們在低層次上詳細說明了這些運算,建立深度學習處理器的團隊很適合在硬件模擬中使用 DeepBench。

1.1 DeepBench 適合用在哪里?

       深度學習生態(tài)系統(tǒng)包含不同的模塊。我們想要強調(diào) DeepBench 適合用于該生態(tài)系統(tǒng)的哪部分。在下面的圖表中,描述了關(guān)于深度學習的軟件和硬件組件。在最頂端是百度的 PaddlePaddle、Theano、TensorFlow、Torch 等這樣的深度學習框架,這些框架使得我們能夠建立深度學習模型。它們包含層(layer)這樣的基礎(chǔ)建筑模塊,可通過不同的方式連接從而創(chuàng)造模型。為了訓練這些模型,框架使用英偉達的 cuDNN 和英特爾的 MKL 這樣的基礎(chǔ)神經(jīng)網(wǎng)絡(luò)庫。這些庫執(zhí)行矩陣相乘這樣的用來訓練深度學習模型的運算。最后,在英偉達 GPU 或英特爾 Xeon Phi 處理器這樣的硬件上訓練這些模型。

      DeepBch 使用神經(jīng)網(wǎng)絡(luò)庫 benchmark 基礎(chǔ)運算在不同硬件上的表現(xiàn)。它對建立應(yīng)用的深度學習框架或深度學習模型沒用。我們不能測量使用 DeepBench 訓練整個模型所需要的時間。為不同應(yīng)用建立的模型的表現(xiàn)特性彼此間差別很大。因此,我們要 benchmark 涉及到深度學習模型訓練中的潛在運算。benchmark 這些運算有助于提高硬件供應(yīng)商的 意識,也有助于軟件開發(fā)者了解深度學習訓練的瓶頸。

1.2 方法論

      DeepBench 包括一系列的基礎(chǔ)操作(稠密矩陣相乘、卷積和通信)以及一些循環(huán)層類型。在開源的代碼中有一個 Excel 表格描述了所有的大小。

      前向和后向的運算都會被測試。該基準的第一代版本將注重在 32 位浮點算法中的訓練表現(xiàn)。未來的版本可能擴展到注重推理工作負載(inference workloads)和更低精度的算法。

      即使存在更快的獨立庫或公開了更快的結(jié)果,我們也將使用供應(yīng)商提供的庫。大部分用戶將默認使用供應(yīng)商提供的庫,而且這種庫更代表用戶的體驗。

1.3. Entry

      我們正在釋放在 4 個硬件平臺上的結(jié)果:英偉達的 TitanX、M40、TitanX Pacal 和英特爾的 Knights Landing。硬件供應(yīng)商或獨立用戶可運行大致的基準,并將結(jié)果輸入到表格中。

2. 運算的類型

2.1 稠密矩陣相乘

      稠密矩陣相乘存在于大部分深度神經(jīng)網(wǎng)絡(luò)中。它們被用于執(zhí)行全連接層和 vanilla RNN,以及為其他類型的循環(huán)層建立基石。有時它們也被用作快速執(zhí)行新類層(在這里面自定義的代碼不存在)的方式。

      當執(zhí)行 GEMM 運算 A * B = C 時,A 和 B 中的一個或兩個都能被隨意的換位。描述一個矩陣問題的常用術(shù)語是 triple(M,N,K), 該術(shù)語描述了矩陣的大小。

2.2 卷積

      卷積構(gòu)成了網(wǎng)絡(luò)中在圖像和視頻操作上的絕大多數(shù)的浮點計算,也構(gòu)成了語音和自然語言模型網(wǎng)絡(luò)中的主要部分,從模型表現(xiàn)角度來看,它可能也是唯一最重要的層。

      卷積有 4 或 5 維的輸入和輸出,為這些維提供了大量可能的排序。在改基準的第一代版本,我們只考慮了在 NCHW format 中的表現(xiàn),即數(shù)據(jù)是在圖像、特征映射、行和列中展示的。

      有很多計算卷積的技術(shù)對不同大小的過濾器和圖像來說都是很好的選擇,包括:direct approaches、基于矩陣相乘的方法、基于 FFT 的方法以及基于 Winograd 的方法。在該基準的第一代版本,我們沒考慮不同方法的準確率,因為普遍共識是 32 位浮點計算對它們每個方法而言都是足夠準確的。

2.3 循環(huán)層(recurrent layers)

      循環(huán)層總是由之前的運算與一元(unary)或二元(binary)運算這樣的簡單計算結(jié)合而成的——這些簡單運算不是計算密集型的,通常只需占據(jù)總體運算時間的一小部分。然而,在循環(huán)層中,GEMM 和卷積運算相對較小,所以這些更小運算的成本變得有極大影響。如果開始計算就有一個很高的固定成本,那上述內(nèi)容就尤其準確。也可以為循環(huán)矩陣使用額外的存儲格式,因為轉(zhuǎn)換成一個新的存儲格式的成本可被分攤到循環(huán)計算的許多步驟上。如果能做到這一點,那么從一個自定格式轉(zhuǎn)換或轉(zhuǎn)換成一個自定義格式的時間應(yīng)該被包含在整體時間之內(nèi)。

       在一個時間步驟內(nèi)和跨序列的時間步驟上,這些因素會導致很多優(yōu)化的可能性,因此測定運算的原始性能并不一定能夠代表整個循環(huán)層的的性能。在這樣的基準上,我們僅關(guān)注一個循環(huán)層,即使還存在其它更多的優(yōu)化機會(如果考慮它們的層疊(stack))。

      輸入的計算不應(yīng)該被包含在用于循環(huán)層計算的時間內(nèi),因為其可以作為一個大的乘法計算,然后被實際的循環(huán)運算所消化。所以在 h_t = g(Wx_t + Uh_t-1) 中,Wx_t 對于所有 t 的計算時間不應(yīng)被包含在循環(huán)層的時間內(nèi)。

      反向計算應(yīng)該在考慮權(quán)重而非輸入的基礎(chǔ)上計算更新(update)。所有的循環(huán)工作完成以計算權(quán)重更新,所以同時考慮輸入來計算更新會掩蓋我們想要測定的內(nèi)容。

      vanilla RNN 的非線性應(yīng)該是一個 ReLU。LSTM 的內(nèi)在非線性應(yīng)該是標準運算——門(gate)是 S 型函數(shù),激活(activation)是雙曲正切函數(shù)。LSTM 不應(yīng)該有窺視孔連接(peephole connections)。

2.4. All-Reduce

      現(xiàn)在的神經(jīng)網(wǎng)絡(luò)通常在多 GPU 或多系統(tǒng)與 GPU 并行的情況下訓練,這主要有兩個技術(shù)分類:同步和異步。同步技術(shù)依賴于保持參數(shù)和所有模型實例的同步,它通常要保證在優(yōu)化步驟執(zhí)行前,所有模型實例有一些梯度的備份。最簡單運行這些計算結(jié)果的 Message Passing Interface (MPI) 被稱為 All-Reduce。有很多可以執(zhí)行 All-Reduce 的方法,我們可以依靠數(shù)字的排列、數(shù)據(jù)的大小和網(wǎng)絡(luò)的拓撲結(jié)構(gòu)來執(zhí)行。這種基準測試的方式在執(zhí)行時是沒有限制的,所以它的結(jié)果是不確定的。異步的方法則非常的不同,在這個版本的基準測試中我們不會測試這些方法。

      為了評估 All-Reduce,我們使用了下面的庫和基準:NVIDIA's NCCL Ohio State University (OSU) Benchmarks

      NCCL 庫包括一組標準的通信程序。這個庫支持在單個節(jié)點任意數(shù)量的 GPU 運行,并且它能在單個或多個進程中運行,但 NCC 程序不支持多節(jié)點下的 All-Reduce。為了能夠在多節(jié)點下評估 All-Reduce,我們使用了 OSU 下的 benchmark。我們在三個執(zhí)行過程中 (NCCL single process, NCCL MPI, OpenMPI) 報告了最短的延遲。

Nvidia 8 GPU 系統(tǒng)的拓撲結(jié)構(gòu)

       每個節(jié)點都有兩個 GPU 插槽,而每個插槽都有一個 PCIe root complex。每個節(jié)點都有兩個 GPU 插槽,而每個插槽都有一個 PCIe root complex。每一套插槽都有兩個 PLX 開關(guān),它們通過 16 個 PCIe v3 的 lanes 各自連接到 CPU 插槽中。每個 PLX 插槽有兩個 GPU,所有的 GPU 通過 16 個 PCIe v3 的 lanes 進行同時通信。這兩個 CPU 插槽通過 Intel 的 QPI 連接,而跨界點的互聯(lián)則是通過 InfiniBand FDR。下圖顯示了一個原理圖的節(jié)點,在圖中,所有的設(shè)備均由同一個虛線框內(nèi)的 PCL root 連接。

       英特爾 Xeon Phi 和 Omni-Path 系統(tǒng)的拓撲結(jié)構(gòu)

       MPI_AllReduce 時間是在英特爾 Xeon Phi 7250 處理器上測定的——在英特爾內(nèi)部的帶有 fat-tree 拓撲的 Intel® Omni-Path Architecture (Intel® OPA) series 100 fabric 結(jié)構(gòu)的 Endeavor 集群上,使用了 Intel MPI 5.1.3.181。

3. 結(jié)果

      在這部分,我們記錄了一些運算的表現(xiàn)。下面這些結(jié)果是隨機挑選的,它們只是為了演示幾個應(yīng)用的運算表現(xiàn)。下面的結(jié)果僅包括了特定操作和參數(shù)下最快的處理器的時間和浮點運算速度。完整的結(jié)果可以在庫里查看。

      這些軟件庫(例如 cuDNN 和 OpenMPI)和一些硬件系統(tǒng)的細節(jié)同樣在 github 的庫里適用。如有問題,請隨時和我們聯(lián)系。

      一旦更多硬件平臺的結(jié)果被發(fā)現(xiàn)可以適用,它們都會被加到庫里面來。我們也歡迎所有硬件廠商為此貢獻結(jié)果。

3.1. GEMM Results

3.2. Convolution Results

3.3. Recurrent Ops Results

      周期性的操作內(nèi)核僅能在 NVIDIA 的硬件上運行,而周期性的標準檢查程序也將很快可以在 Intel 的硬件上運行。在今年十月份我們將會得到這些結(jié)果。

3.4. All-Reduce Results

      因為我們僅僅只有一個 Pascal GPU,所有我們不能在 NVIDIA's TitanX Pascal GPU 運行 All-Reduce benchmark。


  • 1.公司登記注冊于2003年1月27日,清遠市桑達電子網(wǎng)絡(luò)媒體有限公司
    2.公司2006年起成為清遠市政府定點協(xié)議供貨商,電子采購供貨商
    3.公司2007年被清遠市相關(guān)政府部門評為安防行業(yè)狀元
    4.公司2007年起成為長城電腦清遠如意服務(wù)站(SP368)
    5.公司2007年承建清遠市橫河路口電子警察工程,開創(chuàng)清遠電子警察先河。
  • 6.公司2007年起成為IBM合作伙伴、公司2010年底成為金蝶軟件清遠金牌代理(伙伴編號:30030013)
    7.公司組團隊參加南方都市報組織的創(chuàng)富評選,獲廣東80強。公司申請多項軟件著作權(quán)、專利權(quán)
    8.2016年起公司成為粵東西北地區(qū)為數(shù)不多的雙軟企業(yè),確立“讓軟件驅(qū)動世界,讓智能改變生活!"企業(yè)理想
    9.2016-01-29更名為廣東互動電子網(wǎng)絡(luò)媒體有限公司
    10.2021-01-13更名為廣東互動電子有限公司
  • 投資合作咨詢熱線電話:0763-3391888 3323588
  • 做一個負責任的百年企業(yè)! 天行健,君子以自強不息;地勢坤,君子以厚德載物;
    為用戶創(chuàng)造價值! 讓軟件驅(qū)動世界; 讓智能改變生活; 超越顧客期望,幫助顧客成功;
    對客戶負責,對員工負責,對企業(yè)命運負責!幫助支持公司的客戶成功;幫助忠誠于公司的員工成功!
  • 聯(lián)系電話:0763-3391888 3323588 3318977
    服務(wù)熱線:18023314222 QQ:529623964
  • 工作QQ:2501204690 商務(wù)QQ: 602045550
    投資及業(yè)務(wù)投訴QQ: 529623964
    微信:小米哥 微信號:qysed3391888
    騰訊微博:桑達網(wǎng)絡(luò)-基石與起點
  • E-MAIL:222#QYSED.CN ok3391888#163.com (請用@替換#)
在線客服
  • 系統(tǒng)集成咨詢
    點擊這里給我發(fā)消息
  • 網(wǎng)站\微信\軟件咨詢
    點擊這里給我發(fā)消息
  • 售后服務(wù)
    點擊這里給我發(fā)消息
  • 投資合作
    點擊這里給我發(fā)消息