<rt id="kqosc"></rt>

 

深度學習基準測試:TPU、GPU、CPU 誰更強?

2019-08-05 16:02:13 來源:機器之心
標簽:

GPUTPUCPU 都可以用于深度學習模型的訓練,那么這幾個平臺各適用于哪種模型,又各有哪些瓶頸?在本文中,來自哈佛的研究者設計了一個用于深度學習的參數化基準測試套件——ParaDnn,旨在系統地對這些深度學習平臺進行基準測試。

 

ParaDnn 能夠為全連接(FC)、卷積(CNN)和循環(RNN)神經網絡生成端到端的模型。研究者使用 6 個實際模型對谷歌的云 TPU v2/v3、英偉達的 V100 GPU、以及英特爾的 Skylake CPU 平臺進行了基準測試。他們深入研究了 TPU 的架構,揭示了它的瓶頸,并重點介紹了能夠用于未來專業系統設計的寶貴經驗。他們還提供了平臺的全面對比,發現每個平臺對某些類型的模型都有自己獨特的優勢。最后,他們量化了專用的軟件堆棧對 TPU 和 GPU 平臺提供的快速性能改進。


論文:Benchmarking TPU, GPU, and CPU Platforms for Deep Learning

論文鏈接:https://arxiv.org/pdf/1907.10701.pdf

 

常用硬件及基準都有啥

TPU v2 發布于 2017 年 5 月,它是一款定制的專用集成電路(ASIC)。每個 TPU v2 設備能夠在單板上提供 180 TFLOPS 的峰值算力。一年之后 TPU v3 發布,它將峰值性能提高到了 420 TFLOPS。云 TPU 于 2018 年 2 月開始提供學術訪問權限。這篇論文中使用的就是云 TPU。


英偉達的 Tesla V100 Tensor Core 是一塊具有 Volta 架構的 GPU,于 2017 年發布。


CPU 已經被證明在某些特定的用例中會更加適合訓練,因此它也是一個重要的平臺,應該被包含在比較內容中。


這項研究表明,沒有一個平臺在所有的場景中是最佳的。基于它們各自的特點,不同的平臺能夠為不同的模型提供優勢。此外,由于深度學習模型的快速改進和變化,基準測試也必須持續更新并經常進行。


最近的基準測試似乎都局限于任意的幾個 DNN 模型。只盯著著名的 ResNet50 和 Transformer 等模型可能會得到誤導性的結論。例如,Transformer 是一個大型的全連接模型,它在 TPU 上的訓練速度比在 GPU 上快了 3.5 倍;但是,關注這一個模型并不能揭示 TPU 在超過 4000 個節點的全連接網絡上出現的嚴重的內存帶寬瓶頸。這凸顯了為某些模型去過度優化硬件和(或)編譯器的風險。


新一代硬件基準測試

為了對最先進的深度學習平臺進行基準測試,這篇論文提出了一個用于訓練的深度學習模型集合。為了支持廣泛和全面的基準測試研究,研究者引入了 ParaDnn 這一參數化的深度學習基準測試組件。ParaDnn 能夠無縫地生成數千個參數化的多層模型,這些模型由全連接(FC)模型、卷積神經網絡(CNN)以及循環神經網絡(RNN)組成。ParaDnn 允許對參數規模在近乎 6 個數量級的模型上進行系統基準測試,這已經超越了現有的基準測試的范圍。


研究者將這些參數化模型與 6 個現實模型結合起來,作為廣泛模型范圍內的獨特點,以提供對硬件平臺的全面基準測試。表 1 總結了本文中描述的十 14 個觀察結果和見解,這些觀察和見解可以為未來的特定領域架構、系統和軟件設計提供啟發信息。

 


表 1:本文部分分組的主要觀察和見解總結


研究者特意標記了通過 ParaDnn 得到的見解。他們從論文第 4 部分開始對 TPU v2 和 v3 的架構進行深入探討,揭示了算力中的架構瓶頸、內存帶寬、多片負載以及設備-主機平衡(第 1 到 5 個觀察)。論文第五部分提供了 TPU 和 GPU 性能的全面比較,突出了這兩個平臺的重要區別(第 6 到第 11 個觀察)。最后的 3 個觀察在論文第六部分有詳細描述,探討了專用軟件堆棧和量化數據類型帶來的性能改進。


明確本研究的局限性非常重要。這篇論文著重研究了目前的架構和系統設計中可以優化的可能性,因為它們為未來的設計提供了寶貴的經驗。優化的細節不屬于本文的研究范圍。例如,本文的分析只聚焦于訓練而不是推理。作者沒有研究多 GPU 平臺或 256 節點 TPU 系統的性能,二者可能會導致不同的結論。


深度學習基準測試

深度學習(DL)最近的成功驅動了關于基準測試組件的研究。現有的組件主要有兩種類型:一是像 MLPerf,、Fathom、BenchNN、以及 BenchIP 這種實際的基準測試;二是 DeepBench、BenchIP 這類微基準測試,但是它們都有一定的局限。


這些組件僅包含今天已有的深度學習模型,隨著深度學習模型的快速發展,這些模型可能會過時。而且,它們沒有揭示深度學習模型屬性和硬件平臺性能之間的深刻見解,因為基準測試只是巨大的深度學習空間中的稀疏點而已。


ParaDnn 對這項研究現有的基準測試組件做出了補充,它具有以上這些方法的優點,目標是提供「端到端」的、能夠涵蓋現有以及未來應用的模型,并且將模型參數化,以探索一個更大的深度神經網絡屬性的設計空間。

 


圖 1:這篇文章中所有負載的可訓練參數的數量。ParaDnn 中的模型參數范圍在 1 萬到接近十億之間,如圖所示,它要比實際模型的參數范圍更大,如圖中的點所示。


硬件平臺

作者對硬件平臺的選擇反映了在論文提交時,云平臺上廣泛可用的最新配置。模型的詳細指標在表 3 中。

 


表 3:作為研究對象的硬件平臺


實驗圖表

圖 2(a)–(c) 表明,這三種方法的 FLOPS 利用率是隨著 batch size 的增大而增大的。除此之外,全連接網絡的 FLOPS 利用率隨著每層節點數的增加而增大(圖 2(a));卷積神經網絡的 FLOPS 利用率隨著濾波器的增加而增大,循環神經網絡的 FLOPS 利用率隨著嵌入尺寸的增大而增大。圖 2(a)–(c) 中的 x 軸和 y 軸是圖 2(d)–(f) 中具有最大絕對值的超參數。

 


圖 2:FLOPS 的利用率及其與超參數的相關性。(a)–(c) 表示參數化模型的 FLOPS 利用率。(d)–(f) 使用線性回歸權重量化了模型超參數對 FLOPS 利用率的影響。

 

 

圖 3:全連接網絡和卷積神經網絡在 TPU 上的 Roofline。矩陣相乘(MatMul)運算的負載是計算密集型的。即使是 Transformer 和 ResNet-50 這樣的計算密集型模型也具有 10% 以上的內存限制運算。(a) 和 (c) 展示了參數化模型和實際模型的 roofline。(b) 和 (d) 展示了運算的分解。

 

 

圖 4:多片系統中的通信開銷是不能忽略的,但是它會隨著 batch size 的增大而減小。

 


圖 5:FLOPS 利用率(頂部)和使用 float32 和 bfloat16 的實際模型在具有以及沒有數據準備情況下的喂料時間(設備等待數據的時間)(底部)。具有較大喂料時間百分比的模型(例如 RetinaNet 和 SqueezeNet)會受到數據喂入的限制。

 


圖 6:(a) 是 TPU v3 在運行端到端模型時與 v2 相比的加速比。(b) 和 (c) 是全連接和卷積神經網絡的加速比。TPU v3 更大的內存支持兩倍的 batch size,所以如果它們具有更大的 batch size,內存受限的運算會具獲得三倍加速,如果沒有更大的 batch size,則是 1.5 倍的加速。在 v3 上計算受限的運算擁有 2.3 倍的加速。紅色的線 (75 Ops/Byte) 是 TPU v2 的 roofline 的拐點。

 


圖 7:具有固定層(64)的全連接模型的 Examples/second(樣本/秒)。Examples/second 隨著節點的增多而減小,隨著 batch size 的增大而增大。白色方塊表示模型遇到了內存不足的問題。CPU 平臺運行最大的模型,因為它具有最大的內存。

 


圖 8:具有大 batch size 的小型全連接模型更偏好 TPU,具有小 batch size 的大型模型更加偏好 GPU,這意味著收縮陣列對大型矩陣更好,在 GPU 上對小型矩陣做變換更加靈活。

 


圖 9:相比于 CPU,具有大 batch size 的大型全連接模型更適合 GPU,因為 CPU 的架構能夠更好地利用額外的并行。

 


圖 10:(a)–(c):對大型卷積神經網絡而言,TPU 是比 GPU 更好的選擇,這意味著 TPU 是對卷積神經網絡做了高度優化的。(d)–(e):盡管 TPU 對 RNN 是更好的選擇,但是對于嵌入向量的計算,它并不像 GPU 一樣靈活。

 


圖 11:(頂部)在所有的負載上 TPU 相對 GPU 的加速比。需要注意的是,實際負載在 TPU 上會使用比 GPU 上更大的 batch size。ResNet-50 的英偉達 GPU 版本來自于文獻 [9]。(底部)所有平臺的 FLOPS 利用率對比。

 


圖 12:(a)TPU 性能隨著 TensorFlow 版本更新發生的變化。所有的 ParaDnn 模型都有提升:Transformer, RetinaNet, 和 ResNet-50 提升穩定。(b)CUDA 和 TF 的不同版本上 GPU 的加速比。CUDA 9.2 對卷積神經網絡的提升要比其他 ParaDnn 模型更多,對 ResNet-50 的提升要比其他實際模型更多。CUDA 10 沒有提升 RNN 和 SqueezeNet。

 
關注與非網微信 ( ee-focus )
限量版產業觀察、行業動態、技術大餐每日推薦
享受快時代的精品慢閱讀
 

 

繼續閱讀
ARM內存邊界對齊的結構體

默認情況下,在32位cpu里,gcc對于結構體的對齊方式是按照四個字節來對齊的。看以下結構體

凈利暴跌 50%,英偉達發生了什么?

英偉達今日公布了該公司的2020財年第二季度財報。報告顯示,英偉達第二季度營收為25.79億美元,與上年同期的31.23億美元相比下降17%;凈利潤為5.52億美元,與上年同期的11.01億美元相比下降50%。

作為物聯網新范式的智聯網,能否幫助延續幾千年的“養豬”行業?

AI與IoT相輔相成。IoT為AI提供深度學習所需的海量數據養料,而其場景化互聯更為AI的快速落地提供了基礎。AI則將連接后產生的海量數據經分析決策轉換為價值。

英偉達Q2財報超預期,股價大漲超5%
英偉達Q2財報超預期,股價大漲超5%

與非網8月16日訊,美國時間周四,英偉達發布了該公司在2019年第二季度的財報。財報顯示,英偉達該季度的營收為25.79億美元,與上一季度的22.20億美元相比增長16%,與上年同期的31.23億美元相比下降17%,超分析師預期的25.4億美元。

為何有些電腦沒有 HDMI 接口?跟顯卡有什么關系?

HDMI接口是一種全數字化影像和聲音發送接口,可以發送未壓縮的音頻及視頻信號。

更多資訊
曾錯過一次機遇的 AMD,這次拿什么來斗 Intel?

2003年,這家芯片制造商推出了“SledgeHammer”Opteron(皓龍),這是首款64位X86服務器處理器,與上一代32位處理器兼容,當時,規模更大的競爭對手英特爾仍在大力推廣Itanium作為下一代架構,這也是它唯一的64位選擇。在短短三年左右的時間里,AMD占據了服務器芯片市場20%以上的份額,并成為英特爾的主要競爭對手。

聯發科5G芯片領跑,已通過5G獨立組網連網通話測試

近日,聯發科攜手國際合作伙伴與核心網伙伴諾基亞、思科、基站供應商愛立信、國外運營商T-mobile成功完成5G獨立組網連網通話對接,此次共同合作測試,實現了全球第一個5G獨立組網的通話連網,這將讓5G商用部署具備更多彈性。

中國電科發布“海雀”認知處理器,有何神奇之處?
中國電科發布“海雀”認知處理器,有何神奇之處?

與非網8月16日訊,近一段時間中國芯硬來了一波小高潮,各種強勁的芯片產品紛紛亮相。今天,聚光燈下的明星芯片又多了一員,它就是“海雀”認知處理器。

關于存儲芯片的樂觀展望,不同廠商都給出了不同的答案

記憶會存儲過去已經發生的事情,但不能告訴你將來會發生什么。這似乎也適用于存儲芯片公司。

AI 芯片激烈競爭賽

人工智能(AI)主要包括三大要素,分別是數據、算法和算力。其中數據是基礎,正是因為在實際應用當中的數據量越來越大,使得傳統計算方式和硬件難以滿足要求,才催生了AI應用的落地。而算法是連接軟件、數據、應用和硬件的重要橋梁,非常關鍵。

久久这里只有是精品23