在機器學習算法上,TPU比傳統的加速方案(谷歌之前使用GPU加速方案)在能耗效率上提升一個數量級,相比傳統解決方案領先7年(摩爾定律三代節點)。
例如在GPU中,通常支持IEEE754-2008標準浮點數操作,這一浮點數字寬為32位,其中尾數字寬為23+1(使用隱藏尾數技術)位。 如果數據通道中使用8位字寬的低精度尾數,則GPU中各個計算部件所需的晶體管和功耗均會大大減少。
例如,在GPU計算核心中,面積最大,功耗最高的計算部件是ALU,ALU中最重要的部件是浮點MA(乘加混合)單元,現有技術下這一單元的延遲與尾數的字寬log2N成大致正比,而面積/功耗/晶體管數量大體上與N2log2N成正比。 如果字寬由24比特減少到8比特,那么MA的面積可降至約1/14左右,約一個數量級。 由圖可知ALU占據了GPU芯片面積的很大比例,因此單單優化ALU即可獲得足夠提高。
除了降低字寬所帶來的關鍵組件優化,GPU原有組件中針對圖像處理的組件如光柵、材質貼圖單元,均可以根據人工智能的計算需求選擇優化或裁剪。 對普通GPU進行深度定制處理,削減在神經網絡算法不需要的數據位寬和功能即可達到谷歌所宣稱的“能耗效率上提升一個數量級”,因此業內有專家認為谷歌采用了此種思路。
2、從谷歌 TPU 設計思路看人工智能硬件發展趨勢
目前的GPU加速方案以及FPGA加速方案在人工智能計算領域都存明顯缺點:
在計算單元上,GPU的內置計算單元主要針對圖像處理設計,計算精度過高存在浪費; FPGA的LUT功能過于弱小,沒有針對低精度浮點計算優化;
在NOC架構上,FPGA和GPU原始設計匹配的目標均與神經網絡計算存在很大差異性,因此用于人工智能計算加速都存在一定缺憾。
以上表現在計算需求雷達圖上即為圖:GPU(藍線)和FPGA(紅線)均不能較好的覆蓋住人工智能的需求(綠線)。 除了進程交互問題外,實時性和計算延遲同樣是人工智能加速的一個重要問題。 在人工智能的一些應用場景,如無人駕駛汽車中,汽車的運行速度可能高達40m/s,在計算中額外0.1s的延遲意味著汽車多行駛4米,這就是生與死的差距。 GPU的延遲和實時性較差從長期來看會影響其應用在類似無人駕駛這樣在實時性和延遲要求較高的場景中。
3、GPU/FPGA 用于神經網絡計算的弱點:片上網絡
在人工智能硬件領域,FPGA加速同樣是一條有競爭力的技術路徑。 早在中國搜索引擎巨頭百度就嘗試與Altera合作探索使用FPGA加速神經網絡運算用于搜索結果的優化中,微軟也在bing搜索服務中做了相似的探索。 Auviz Systems公司在2015年發布了一份研究數據,在神經網絡計算中,高端FPGA可處理14個或更多圖像/秒/瓦特,而同期一個高端的GPU僅能處理4個圖像/秒/瓦特。
但目前學術界已有共識,不管是FPGA還是GPU,由于其最初設計匹配的計算模型與神經網絡計算模型存在不同,其并行計算核心之間的通信架構-NOC(Network on Chip,片上網絡)應用在神經網絡運算中均存在缺點。
由于FPGA/GPU針對的并行計算模型不同,其片上網絡的實現方式也就不同:
GPU最初針對圖像處理SIMT類任務優化,各個處理核心之間的通信較少且形式簡單,因此計算節點主要通過片上共享存儲通信,原理如圖: A/C計算節點分別向片上共享存儲的不同地址寫入數據,然后B/D通過讀數據的方式完成A->B/C->D的通信。 這種片上網絡每次通信涉及讀寫片上共享存儲各一次,不僅速度慢,當通信量更多(原本不會發生在圖形處理任務中)的時候存儲的讀寫端口還會因堵塞成為系統性能的關鍵瓶頸。
FPGA包含大量細粒度,可編程,但功能較弱的LUT(Look up table查找表)計算節點,各個LUT之間通過網格狀NOC連接,網格的節點具備Routing(路由)功能。 FPGA可以提供計算單元間直接通訊功能:A節點可通過路由網絡沿著紅色箭頭將數據傳輸至芯片上任意計算節點B,且傳輸路徑動態可編程。 因此網格NOC相比共享內存方案能提供大的多的片上通訊容量,相比之下也不易出現瓶頸節點堵塞問題。 Auviz Systems能夠得出FPGA在神經網絡處理中優于高端GPU的方案的結論,很大程度依靠FPGA的片上通信能力而不是羸弱的LUT計算能力。
神經網絡作為一種并行計算程序,適配的計算節點通訊硬件是提升性能的關鍵要素之一。 目前FPGA和GPU的片上網絡架構均不完全匹配神經網絡的實際需求,相比之下GPU的共享內存連接的匹配度更差一些。 學術界對于定制特殊的NOC去匹配神經網絡加速需求已有一定研究,但之前因神經網絡算法本身沒有商用化,因此定制NOC硬件這一思路也停留在實驗室內。 隨著人工智能實用化和產業化的發展,這些技術將對現有的GPU/FPGA方案形成威脅和替代。
02 GPU 未來較適應場景解析
GPU雖然不能處理所有大規模并行計算問題,但在其適應的特定計算領域,特別是圖形優化處理上依然具備絕對性能優勢。 GPU未來較為適合拓展應用場景應為VR/AR(虛擬現實/增強現實)、云計算+游戲結合、以及云計算服務器中為特定的大數據分析提供加速。 在這些領域的增長點有可能是獨立GPU突破現有增長遲緩障礙的新增長領域。
1、VR 應用:持續增長的優勢領域
在VR(Virtual Reality,虛擬現實)設備性能指標中,圖像顯示性能是其核心競爭力。 在VR中降低從用戶頭部動作到畫面改變的延遲至20毫秒以下是防止用戶眩暈的必要條件; 而達到這點除了需要軟件和OS優化以外,足夠的硬件圖像計算能力是基礎。 表1舉例了VR圖形顯示的要求以及大眾級顯卡能夠提供的圖形顯示水平:
正因目前大眾顯卡無法提供VR所需的圖形處理計算能力,現有的兩大主流頭顯Oculus Rift和HTC VIVE均要求配套的PC配置頂級顯卡,如Nvidia GTX970或AMDR9 290級別的顯卡。 從長期來看,VR/AR設備將拉動中高端GPU市場的持續增長。
VR以及AR(增強現實)更廣闊的應用在于獨立一體機上:獨立一體機具備移動能力,讓VR/AR超脫出了客廳應用這一范疇,與移動互聯網結合后成為每個人都需要消費電子產品。 但移動一體機對計算芯片的能耗,體積乃至散熱都有著嚴格的要求。 目前SoC(System on Chip, 片上系統)上集成GPU在移動一體機上的優勢是獨立GPU顯卡暫時無法動搖的。
2、云計算/大數據應用
亞馬遜風靡全球的計算平臺EC2中,Nvidia GPU已經被作為一個重要的并行計算組件提供給客戶,用作大規模并行浮點數計算。 用戶每使用一個實例可調用兩個Nvidia Tesla m2050 GPU。 在EC2中調用GPU的原理是AWS的管理程序Hypervisor被直接跳過,而DomU OS和應用可以直接通過IO與GPU通信,充分發揮GPU在浮點數的并行計算能力。
3、GPU,云和游戲服務結合
在現如今互聯網基礎設施已經完善的市場,把GPU和云計算以及游戲結合在一起是游戲產業下一個具有吸引力的發展方向。
對于游戲開發者,不需要擔心盜版問題; 對于游戲運營商,云服務可以獲得更精確的客戶資料,開展新式計費; 對于游戲玩家,無需購買昂貴高端游戲主機或PC,初始投資少; 對于游戲玩家,云服務游戲更具備移動性。
目前云計算+GPU+游戲這個模式限于現有網絡基礎設施限制,依然沒有大規模商用,但Nvidia依然對其抱有厚望并積極推動。 從這個側面也可以看出,Nvidia自己也知道GPU未來最主要的應用領域依然是游戲的圖像處理上。
GPU還有一塊市場是軍用GPU市場,這一市場與民用GPU市場有著很大不同。 民用GPU追求畫面性能的極致,以最好的畫面滿足消費者,特別是游戲玩家的需求; 而軍用GPU更多的要求在于高可靠性、高耐用性、抗高空輻射、能在野戰環境下安全使用。 需求的導向不同導致GPU從工藝到芯片設計理念都截然不同。
審核編輯:湯梓紅
-
谷歌
+關注
關注
27文章
6199瀏覽量
106033 -
gpu
+關注
關注
28文章
4779瀏覽量
129375 -
人工智能
+關注
關注
1796文章
47704瀏覽量
240364 -
機器學習
+關注
關注
66文章
8441瀏覽量
133097 -
TPU
+關注
關注
0文章
144瀏覽量
20786
原文標題:GPU面臨挑戰及應用場景解析
文章出處:【微信號:算力基建,微信公眾號:算力基建】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論