深度學習“引擎”之爭:GPU加速還是專屬神經網絡芯片?


深度學習“引擎”之爭:GPU加速還是專屬神經網絡芯片?

深度學習(Deep Learning)在這兩年風靡全球,大數據和高性能計算平台的推動作用功不可沒,可謂深度學習的“燃料”和“引擎”,GPU則是引擎的引擎,基本所有的深度學習計算平台都采用GPU加速。同時,深度學習已成為GPU提供商NVIDIA的一個新的戰略方向,以及3月份的GTC 2015的絕對主角。

那么,GPU用於深度學習的最新進展如何?這些進展對深度學習框架有哪些影響?深度學習開發者應該如何發揮GPU的潛力?GPU與深度學習結合的前景以及未來技術趨勢到底是怎么樣的?在日前的NVIDIA深度學習中國戰略發布會上,NVIDIA全球副總裁、PSG兼雲計算業務中國區總經理Ashok Pandey帶領其深度學習相關管理團隊接受了記者的采訪,就NVIDIA的深度學習戰略、技術、生態、市場相關問題進行了詳細的解讀。

NVIDIA認為,目前是數據、模型和GPU在推動深度學習的蓬勃發展,深度學習用戶可以選擇不同的計算平台,但開發人員需要一個易於部署的平台和良好的生態環境,包括一些基於硬件優化的開源工具,而構建一個良好的深度學習計算生態,既是GPU現有的優勢,也是NVIDIA一貫的宗旨。

NVIDIA全球副總裁、PSG兼雲計算業務中國區總經理Ashok Pandey

為什么GPU與深度學習很合拍?

隨着數據量和計算力的提升,Hinton和LeCun耕耘多年的大型神經網絡終有用武之地,深度學習的性能和學習精度得到很大的提升,被廣泛運用到文本處理、語音和圖像識別上,不僅被Google、Facebook、百度、微軟等巨頭采用,也成為猿題庫、曠視科技這類初創公司的核心競爭力。

那么為什么是GPU呢?最重要的是GPU出色的浮點計算性能特別提高了深度學習兩大關鍵活動:分類和卷積的性能,同時又達到所需的精准度。NVIDIA表示,深度學習需要很高的內在並行度、大量的浮點計算能力以及矩陣預算,而GPU可以提供這些能力,並且在相同的精度下,相對傳統CPU的方式,擁有更快的處理速度、更少的服務器投入和更低的功耗。

采用GPU加速與只采用CPU訓練CNN的性能比較

以ImageNet競賽為例,基於GPU加速的深度學習算法,百度、微軟和Google的計算機視覺系統在ImageNet圖像分類和識別測試中分別達到了5.98% (2015年1月數據)4.94%(2015年2月數據)、4.8%(2015年2月數據)、的錯誤率,接近或超過了人類識別水平——跑分競賽雖然有針對已知數據集進行特定優化之嫌,但優化結果對工業界的實踐仍然具有參考價值。

“人工智能從過去基於模型的方法,變成現在基於數據、基於統計的方法,主要得益於GPU高度並行的結構、高效快速的連接能力。事實證明GPU很適合深度學習。”北京航空航天大學教授、國家“十二五 863計划高效能計算機及應用服務環境”重大項目總體組組長錢德沛說。

4款新方案

NVIDIA回顧了GTC上推出的四項有助於推動深度學習發展的新產品和方案:

1、GeForce GTX TITAN X,為訓練深度神經網絡而開發的GPU。

TITAN X采用 NVIDIA Maxwell GPU 架構,結合 3,072 個處理核心、單精度峰值性能為 7 teraflops,加上板載的 12GB 顯存,336.5GB/s 的帶寬,可處理用於訓練深度神經網絡的數百萬的數據。

NVIDIA介紹,TITAN X 在工業標准模型 AlexNet 上,花了不到三天的時間、使用 120萬個 ImageNet 圖像數據集去訓練模型,而使用16核心的 CPU 得花上四十多天。

2、DIGITS DevBox,針對研究人員的桌邊型深度學習工具。

DIGITS DevBox采用四個 TITAN X GPU,從內存到 I/O的每個組件都進行了最佳化調試,預先安裝了開發深度神經網絡所需要使用到的各種軟件,包括:DIGITS 軟件包,三大流行深度學習架構Caffe、Theano和Torch,以及 NVIDIA 完整的 GPU 加速深度學習庫 cuDNN 2.0。和其他巨頭一樣,NVIDIA對開源的支持也是不遺余力。

NVIDIA表示,在關鍵深度學習測試中,DIGITS DevBox 可以提供 4 倍於單個 TITAN X 的性能。使用 DIGITS DevBox 來訓練 AlexNet 只要13個小時就能完成,而使用最好的單 GPU PC 的話則是兩天,單純使用 CPU 系統的話則要一個月以上的時間。

3、下一代GPU 架構Pascal,將使深度學習應用中的計算速度相比Maxwell加快十倍。

Pascal引入了大幅加快訓練速度的三項設計,包括:32GB 的顯存(是GeForce GTX TITAN X 的 2.7 倍),可進行混合精度的計算任務,能夠在 16 位浮點精度下擁有兩倍於 32 位浮點精度下的速率的計算速度;配備 3D 堆疊顯存,讓開發人員能建立更大的神經網絡,提升深度學習應用程序的速度性能多達5倍;另搭配 NVIDIA 的高速互連技術 NVLink 來連接兩個以上的 GPU,可將深度學習的速度提升達十倍。

NVIDIA表示,現在在深度學習領域一般都用單精度進行,未來的趨勢可能有人要用半精度,甚至1/4精度,所以NVIDIA需要根據用戶的需求調整GPU的架構,Pascal支持FP16和FP32,可以提升機器學習的性能。

4、DRIVE PX,用於自動駕駛汽車的深度學習平台。

基於NVIDIA Tegra X1,結合最新的PX平台,可以讓汽車在儀表顯示和自動駕駛方面得到質的飛躍。

值得關注的NVLink和DIGITS

談到下一代Pascal 架構的十倍性能,不得不說NVLink,它使得 GPU 與 GPU 之間、GPU 與 CPU 之間數據傳輸的速度,較現有的 PCI-Express 標准加快5到12倍,對於深度學習這些需要更高 GPU 間傳遞速度的應用程序來說是一大福音。開發者應當高興的是,NVLink基於點對點傳輸形式,編程模式與 PCI-Express 相同。

NVIDIA表示,NVLink 可將系統里的 GPU 數量增加一倍,以共同用於深度學習計算任務上;還能以新的方式連接 CPU 與 GPU,在服務器設計方面提供較 PCI-E 更出色的靈活性和省電表現。

其實不管要做數據並行還是模型並行,NVLink對深度學習開發人員都帶來更大的想象空間。國內語音識別領頭羊科大訊飛,基於多GPGPU和InfiniBand構建了一個環形的並行學習架構,用於DNN、RNN、CNN等模型訓練,效果不錯,但采用InfiniBand也讓其他從業者羡慕其“土豪”行徑,如果有了NVLink,顯然可以有別的好辦法。

當然,想用NVLink也意味着新的投資,而NVIDIA現有的產品線對深度學習的支持也不錯,用戶可以酌情選擇。更多的深度學習硬件選擇知識,可以參考Kaggle比賽選手Tim Dettmers撰寫的博文:《深度學習硬件指南完整版》。

另外一個是DIGITS,用於設計、訓練和驗證圖像分類深度神經網絡的多合一圖形系統。DIGITS 可在安裝、配置和訓練深度神經網絡過程中為用戶提供指導,具有便於從本地和網絡加載訓練數據集的用戶界面和工作流程管理能力,並提供實時監控和可視化功能,目前支持 GPU 加速版本 Caffe,詳見Parallel Forall 博客:《DIGITs: Deep Learning Training System》。

DIGITS之所以首先選擇支持Caffe,NVIDIA表示,是因為他們的客戶調研結果顯示這一框架目前最受歡迎(包括國內的BAT等和國外的一些用戶),同理,cuDNN運算庫也是最先集成到Caffe開源工具中。NVIDIA承諾,即使不能覆蓋所有的工具,DIGITS后續也會對主流的開源工具提供支持,主要是前述的Theano和Torch。NVIDIA全球在DIGITS、cuDNN團隊都分別投入30多人到開源工作之中,這些開發人員也在社區中與深度學習開發者保持密切的溝通。

中國生態

在NVIDIA看來,國內的深度學習研究水平與國外機構基本相當,從高校科研的角度來說,香港中文大學、中科院自動化所都獲得ImageNet不錯的名次,從工業界來說,BAT、樂視、科大訊飛等都在深度學習領域擁有很多年輕的工程師和不錯的研究成果。NVIDIA希望加強中國生態環境的建設,推動深度學習的應用,主要方式仍然包括開源社區的投入、高校科研合作、服務器廠商的合作以及企業用戶的合作。

2015年1月,NVIDIA與愛奇藝簽署了深度合作框架協議,雙方將在視頻深度學習(deep video)和媒體雲計算領域緊密合作,利用最先進的GPU和深度學習架構,搭建愛奇藝視頻創作、分享、服務平台。NVIDIA表示,未來還將繼續與重點客戶合作建立聯合實驗室。

采用GPU加速的深度學習的企業

GPU還是專用芯片?

盡管深度學習和人工智能在宣傳上炙手可熱,但無論從仿生的視角抑或統計學的角度,深度學習的工業應用都還是初階,深度學習的理論基礎也尚未建立和完善,在一些從業人員看來,依靠堆積計算力和數據集獲得結果的方式顯得過於暴力——要讓機器更好地理解人的意圖,就需要更多的數據和更強的計算平台,而且往往還是有監督學習——當然,現階段我們還沒有數據不足的憂慮。未來是否在理論完善之后不再依賴數據、不再依賴於給數據打標簽(無監督學習)、不再需要向計算力要性能和精度?

退一步說,即便計算力仍是必需的引擎,那么是否一定就是基於GPU?我們知道,CPU和FPGA已經顯示出深度學習負載上的能力,而IBM主導的SyNAPSE巨型神經網絡芯片(類人腦芯片),在70毫瓦的功率上提供100萬個“神經元”內核、2.56億個“突觸”內核以及4096個“神經突觸”內核,甚至允許神經網絡和機器學習負載超越了馮·諾依曼架構,二者的能耗和性能,都足以成為GPU潛在的挑戰者。例如,科大訊飛為打造“訊飛超腦”,除了GPU,還考慮借助深度定制的人工神經網絡專屬芯片來打造更大規模的超算平台集群。

不過,在二者尚未產品化的今天,NVIDIA並不擔憂GPU會在深度學習領域失寵。首先,NVIDIA認為,GPU作為底層平台,起到的是加速的作用,幫助深度學習的研發人員更快地訓練出更大的模型,不會受到深度學習模型實現方式的影響。其次,NVIDIA表示,用戶可以根據需求選擇不同的平台,但深度學習研發人員需要在算法、統計方面精益求精,都需要一個生態環境的支持,GPU已經構建了CUDA、cuDNN及DIGITS等工具,支持各種主流開源框架,提供友好的界面和可視化的方式,並得到了合作伙伴的支持,例如浪潮開發了一個支持多GPU的Caffe,曙光也研發了基於PCI總線的多GPU的技術,對熟悉串行程序設計的開發者更加友好。相比之下,FPGA可編程芯片或者是人工神經網絡專屬芯片對於植入服務器以及編程環境、編程能力要求更高,還缺乏通用的潛力,不適合普及。

 

作者:周建丁

文章出處:http://www.csdn.net/article/2015-05-06/2824630


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM