gpu是一種專門在個人電腦、工作站、遊戲機和一些移動裝置上圖像運算工作的微處理器。在安防大資料及深度學習的大背景下,具有研發實力的廠商紛紛基于gpu進行視訊相關産品(前端智能及後端伺服器等)研發,之前被稱為視訊核彈的jetson tx1 gpu子產品,已經廣泛應用于人工智能市場(包括無人機、機器人等裝置)及安防監控市場(智能錄影機、人臉識别錄影機等),安防廠商海康、宇視、文安及格靈等公司,均已展示了相關的産品。
大資料時代gpu是視訊結構化核心處理子產品
gpu是為了能夠更快處理圖像而誕生
在九十年代,一批工程師意識到:在螢幕上進行多邊形圖像渲染,本質上是個能并行處理的任務--每個像素點的色彩可以獨立計算,不需要考慮其它像素點。于是gpu誕生,成為比cpu更高效的渲染工具。簡而言之,由于cpu在圖像渲染方面的能力不足,gpu被發明出來分擔這部分工作,此後就成了專門搞這方面的硬體。有了上千個更加簡單的核心,gpu能高效地處理讓cpu十分吃力的任務。隻要有合适的代碼配合,這些核心就能處理超大規模的數學運算,實作逼真的遊戲體驗。
gpu作為顯示卡的“大腦”決定了該顯示卡的檔次和大部分性能,同時gpu也是2d顯示卡和3d顯示卡的差別依據。2d顯示晶片在處理3d圖像與特效時主要依賴cpu的處理能力,稱為軟加速。3d顯示晶片是把三維圖像和特效處理功能集中在顯示晶片内,也就是所謂的“硬體加速”功能。顯示晶片一般是顯示卡上最大的晶片。時下市場上的顯示卡大多采用nvidia和amd-ati兩家公司的圖形處理晶片。nvidia公司在1999年釋出geforce256圖形處理晶片時首先提出gpu的概念。從此nv顯示卡的芯就用這個新名字gpu來稱呼。gpu使顯示卡削減了對cpu的依賴,并實行部分原本cpu的工作,更加是在3d圖形處理時。
gpu能将3d模型的資訊轉換為2d表示,同時添加不同的紋理和陰影效果,是以gpu在硬體裡也是比較特殊的存在。從3d模組化到最終顯示在螢幕上,gpu渲染場景使用的是流水線操作。早些時候流水線操作是固定不能作任何改動的,整個操作由讀取三角形的頂點資料開始,接着gpu處理完後進入幀緩沖區(framebuffer),準備發送給顯示器。gpu也能對場景進行某些特定效果的處理,不過這些都是由工程師設計固定好的,能提供的選項很少。
gpu設計之初非針對深度學習而是并行計算
gpu關鍵性能是并行計算。這意味着可以同時處理運算,而不是一步步進行。複雜問題可被分解為更簡單的問題,然後同時進行處理。并行計算适用于hpc和超算領域所涉及的許多問題類型,比如氣象、宇宙模型和dna序列。并不是隻有天體實體學家和氣象學家才能充分利用并行計算的優點。事實證明,許多企業應用能從并行計算獲得超出尋常比例的好處。這包括:資料庫查詢、密碼學領域的暴力搜尋、對比不同獨立場景的計算機模拟、機器學習/深度學習、地理可視化
在gpu設計之初,并非針對深度學習,而是圖形加速,在nvidia推出cuda架構之前,gpu并無太強對深度學習運算能力的支援。而如今,nvidia可以提供基于其gpu的從後端模型訓練到前端推理應用的全套深度學習解決方案,一般的開發人員都可以非常容易地上手使用gpu進行深度學習開發,或者高性能運算。而cuda架構的開發,耗費了nvidia巨大的人力物力。可以說,是cuda這個中間層(computingframework)的優化,才使得開發者真正愛上了gpu,nvidia勝在軟體。而cuda還不能稱之為算法,它隻是計算硬體與算法之間的橋梁。
目前來看,nvidia作為人工智能計算平台的上司者,但事實是,一開始并非nvidia選擇了人工智能,而是人工智能的研究者選擇了gpu,進而成就了nvidia。在2012年,alex利用深度學習+gpu的方案,一舉赢得imagenetlsvrc-2010圖像識别大賽,并奇迹般地将識别成功率從74%提升到85%。nvidia敏銳地覺察到了這一趨勢,并大力優化基于gpu的深度學習生态系統,并加速疊代開發,三年時間将gpu性能提升了65倍,進而奠定了目前的王者之位。
ai時代 gpu将是資料爆炸時代的核心處理子產品
對于人工智能計算架構來說,一般可以歸結為三類模式:cpu + gpu,cpu + fpga,cpu + asic(專用內建電路)。其中,應用于圖形、圖像處理領域的gpu 可以并行處理大量資料,非常适合深度學習的高并行、高本地化資料場景,是目前主流的人工智能計算架構。
如果把科技産業劃分為三個時代:pc 時代、移動網際網路時代和ai 時代。目前,我們處于移動網際網路時代的末期和下一個時代的早期,即以深度學習、無人駕駛為主的ai 時代。
本文轉自d1net(轉載)