學術報告 NVIDIA何琨:NVIDIA 深度學習加速工具
不到現場,照樣看最乾貨的學術報告
!嗨,大家好。這裡是學術報告專欄,讀芯術小編不定期挑選並親自跑會,為大家奉獻科技領域最優秀的學術報告,為同學們記錄報告乾貨,並想方設法搞到一手的PPT和現場視頻——足夠乾貨,足夠新鮮!話不多說,快快看過來,希望這些優秀的青年學者、專家傑青的學術報告 ,能讓您在業餘時間的知識閱讀更有價值。
2018年8月4月,由北京理工大學大數據創新學習中心與中國科學院人工智慧聯盟標準組聯合主辦的「2018深度強化學習:理論與應用」學術研討會,學界與業界頂級專家濟濟一堂,共同分享深度強化學習領域的研究成果。
NVIDIA產品經理何琨老師以NVIDIA 深度學習加速工具為主題做了報告,以下分享內容根據嘉賓口頭分享整理。
NVIDIA 深度學習加速工具
何琨 NVIDIA產品經理隨著深度神經網路領域的發展,NVIDIA提供了加速計算過程的工具,這裡分享給大家。
本圖涵蓋了深度學習領域應用絕大部分的內容,包括計算機視覺、語音、自然語言處理等領域,這些領域下面都有豐富的框架,我們在這種框架當中來做產品的研發以及模型的訓練,我將先為大家提供一些加速學習庫,這些庫包括NVIDIADIGITS、cuDNN、TensorRT、Deep Stream等。
NVIDIA DIGITS(互動式深度學習GPU訓練系統)在做深度學習研究的時候會有很多的訓練以及對我們的模型進行管理,需要遠程連接的伺服器,正常的情況下我們需要敲代碼或者遠程連接到伺服器,有了NVIDIADIGITS以後我們就可以遠程控制計算機或者伺服器,進行遠程操作和可視化的界面。我們僅需要手機和電腦的瀏覽器就可以完成上述的工作。
本圖中列出了一些常用的框架,可以利用在框架當中設計的網路在線監控網路的運行情況。例如:網路參數是否輸出正常,對於異常參數可以立即終止,減少時間浪費。
更重要的是NVIDIADIGITS提供了大的模型庫,可以在這個基礎上訓練自己的模型,而不是從頭開始訓練自己需要的模型,可以為演算法或者模型打下更高的基礎。
NVIDIADIGITS是基於PexOne寫成的開源的框架,我們除了可以用它做網路監控之外,還可以用來做目標檢測、圖像分割、人臉識別、自然語言處理等研究。
cuDNN在同一個GPU、同一個框架、同一個網路和數據集的時候,cuDNN訓練的速度和執行的速度更快。因為在cnDNN的底層就已經將很多的板塊和功能進行了集成。例如:在進行卷積網路神經計算時,需要去學習很多的底層知識,如果想要把這個操作優化得更好的話則需要花更多的力氣學習,而cuDNN已經把內容都集成好了,需要做的就是調用某個API的簡單操作。
現在已經cuDNN發展到了7.0版本,可以利用Volta架構的新功能和性能,與Pascal GPU相比,可將培訓性能提高3倍,現在支持多種網路層,包括pooling,LRN, LCN, batch normalization, dropout, CTC, ReLU, Sigmoid, softmax and Tanh。另外,NVIDIA使用FP32,FP16(Tensor Cores)數據類型進行前向和後向傳遞,使用UINT8(Volta及更高版本)進行正向傳遞,在使用的時候加速的效果是非常顯著的。
TensorRTNVIDIATensorRT是一種高性能深度學習推理優化器和運行時加速庫,可為深度學習推理應用程序提供低延遲和高吞吐量。使用TensorRT,您可以優化神經網路模型,以高精度校準低精度,最後將模型部署到超大規模數據中心,嵌入式或汽車產品平台。cuDNN是在訓練模型的時候應用較多,TensonRT在做產品的時候應用較多。訓練一個網路模型我們可以在DataCentre裡面做,訓練的過程是採用在線迭代的方法,一步一步更新網路模型的參數,過程當中可以調整我們的網路模型或者各種各樣的參數。這些模型運用到產品端的時候,我們的產品端並沒有那麼多的計算能力,並沒有那麼大的記憶或者帶寬的處理功能,由於各種各樣的計算條件的限制不能達到訓練的能力,這個時候就要用到TensonRT這樣的工具。比如無人自動駕駛、無人機在飛行或者是智能攝像頭監控的時候應用TensonRT可以加速前端的推理過程。
TensonRT已經更新到了4.0版本。對於MLP和RNN的新層,與CPU相比,吞吐量提高了45倍。在TensorRT中使用ONNX解析器導入的ONNX模型,V100與CPU的推理性能提高50倍;TensonRT支持NVIDIA DRIVE Xavier - AI Computer forAutonomous Vehicles;使用API在Volta Tensor Core上運行,FP16自定義層的推理加速達到3倍以上。
TensonRT在底層做的就是一個解析器,了解每個參數的用途,然後再做推理,如何執行每一層,包括底層內核的調度和各個層的優化之間都是TensonRT應該做好的。例如,連接在一起的卷積層,正常情況下是順序執行,數據流先進入卷機層裡面,然後把數據流從CPU端複製到GPU端,計算之後再返回CPU端,一共有六次的訪存操作,應用TensonRT把三個層結合在一起變成DCR的結構,同時把數據流輸入到卷機層以後全部放到GPU進行計算,中間兩個層會自動優化,就是第一次和最後一次,這樣省了四次的數據訪存空間。
隨著神經網路的應用越來越廣泛和深入,對於數據訪存的要求將會越來越高,應用TensonRT會節省更多的時間。
DeepStreamNVIDIA DeepStream SDK是為大規模創建和部署基於AI的視頻分析應用程序解決方案而設計的,它提供完整的框架和所有基本構建模塊。
Deep Stream是為處理視頻流設計的工具,視頻的編解碼的過程和結果結合在一起,可以完成一整套的視頻處理解決方案,包括圖像的檢測、識別和TrackIn的跟蹤任務。Deep Stream現已提供了自製的介面,可以直接把視頻流到信息提取出來的內容進行轉化。
精彩的學術報告背後,是一群優秀的學術人才。都說搞學術的人需要「超凡脫俗」,需要耐得住清貧寂寞,其實……芯君想說:完全不需要這樣啊!比如,馬上申請2018百度獎學金——是的,百度為每位具有AI才能的「潛力股」學術精英們提供了廣闊的平台資源和發展空間,為其提供20萬研究資金支持,幫助優秀學子全身心投入科研工作,心無旁騖地進行科學探索。
還等什麼,你——未來的學術之星,趕快申請報名吧!
留言 點贊 發個朋友圈我們一起探討AI落地的最後一公里
※今日芯聲:一件能「看」到內髒的T恤!你敢穿嗎?
※石溪大學:DLATK:差別語言分析工具箱
TAG:讀芯術 |