[ImageNet大賽深度學習的應用讓GPU崛起]
2012年ImageNet的大賽中,Alex使用Alex Net的深度學習演算法及GPU(Graphic Processing Unit,圖形運算單元)為主要運算單元,讓大家看到的GPU在深度學習的實力,NVIDIA開始全力衝刺GPU在人工智慧上的應用,揭開了GPU發展的榮景,而最近,NVIDIA的股價連跌,因為分析師說明年GPU的地位將被ASIC(Application Specific IC,專門應用的IC)取代。
圖片來源:https://learn.sparkfun.com/tutorials/integrated-circuits
[GPU、FPGA、ASIC在人工智慧運算的優劣處]
GPU一開始的設計是針對圖形處理的,一張圖上有很多點,每個點有自己的RGB(紅綠藍)值(有的還要要加上透明度alpha),所以GPU的設計就是針對很多點做簡單的同步平行矩陣運算,而深度學習也需要大量的平行矩陣運算,所以在2012年Alex Net贏得其他只能使用對單一點做深度運算的CPU(Central Processing Unit,中央運算單元)並不是意外,而GPU強大的平行矩陣運算能力,讓它成為人工智慧的的通用處理器。
Intel在三年前併入了FPGA(Field Programmable Gate Array, 現場可程式化邏輯閘陣列)廠商Altera,就是要獲得比GPU對人工智慧平行運算強化加速更好的能力。從名字就知道FPGA是可以把晶片程式化成特殊目的,當然包括可以針對特殊功能加速的設計,而且發現需要設計更動時,可以重新程式化來更動。
而被分析師認為可以取代GPU的ASIC,則是針對特殊設計最佳化的晶片,不過其一旦設計後生產出來,就無法更動,而且要非常大量才能符合整個設計生產成本。
針對人工智慧運算,已最佳化的結果而言,GPU彈性最大,FPGA次之,ASIC則無彈性,但就耗能,ASIC最小,FPGA次之,GPU則耗能最大,而同數量的運算單元的速度也是ASIC最快,FPGA次之,GPU最慢。
[Edge端人工智慧的需求與AI框架的成熟強化了ASIC的成長]
由此可知GPU的耗能大與運算效率差是目前影響GPU的最大原因,而Tesla也決定為此自己設計車用人工智慧晶片。而Apple的iPhone X使用自家設計的AI Edge運算的 ASIC晶片 A11 Bionic,將已經學習好的推論引擎運用在智慧型手機上,讓大家知道邊緣端使用ASIC的好處,特別是針對需要移動,低耗電量的設備。
自從Google就自家的TensorFlow設計了專用加速ASIC晶片TPU(TensorFlow Processing Unit),現在已經進階到第二代,而第二代的TPU在AlphaGo Zero的強大表現令大家吒舌,最近開始讓使用Google雲端的客戶使用這款TPU,並且發表Edge端的TPU,讓使用他家系統的設備可以獲得最好的人工智慧表現,而這也引發AWS、Microsoft都開始設計自家的人工智慧ASIC加速晶片。相信會是針對AWS跟Microsoft Azure自家的人工智慧模組作加速設計。
就如TPU是針對Google的TensorFlow的運算框架作加速設計,針對其他運算,像是Microsoft CNTK、AWS支持的MxNet、Caffe2、Pytorch…等等運算框架,接下來應該慢慢會有對應的加速ASIC佈局,這樣就會慢慢擠壓GPU的成長空間。
[在較小量的人工智慧晶片中 FPGA將有很好的發揮]
不過因為ASIC生產出來後就無法修改,FPGA的可修改特性,讓FPGA成為兩者中間的產品,特別在使用晶片量不大時,FPGA可以發揮他的長處,成為這種使用場景中最適用的人工智慧晶片。而在FPGA晶片上一但確定最終設計,就可以轉設計成ASIC,也是FPGA的另一個不錯需求點。
這個趨勢正在發生,雖然深度學習跟強化學習仍在進化,但隨著運算框架逐漸成熟,ASIC跟FPGA的成長也越來越大,這也難怪美國的分析師有這樣的判斷了。