????正如20年前多媒體應用及3D游戲蓬勃發(fā)展倒逼顯卡硬件升級一樣,互聯(lián)網(wǎng)大數(shù)據(jù)的興起對超算芯片提出了新的需求。
事實上,AI界的泰斗,加拿大多倫多大學的Hiton教授早在2006年就提出了深度學習的概念,淺層學習算法更是早在上世紀80年代就為學術(shù)界所廣泛認可。之所以最近幾年該領(lǐng)域應用才逐漸升溫,是因為AI的發(fā)展離不開兩方面的支持,大數(shù)據(jù)和計算資源。
一、從“深藍”到“AlphaGO”,人工智能走過二十年
距離1996年“深藍”大戰(zhàn)卡斯帕羅夫整整20年后,“AlphaGO”再次通過人機對戰(zhàn)的形式為人工智能的發(fā)展歷史添上了濃重一筆。站在今天,我們可以笑言那曾經(jīng)令人瞠目結(jié)舌的“深藍”實際上只是一個運行于超級計算機上的一個很棒的國際象棋程序,而為了支撐這個程序,IBM團隊打造了一臺重1.2噸、配備480顆國際象棋專用芯片的龐然大物。
不同于“深藍”依靠超強運算能力所采取的遍歷搜索策略,“AlphaGO”的設(shè)計中融入了近年來取得顯著進展的深度學習算法。深度學習之所以被稱為“深度”,是相對前向誤差反饋神經(jīng)網(wǎng)絡、支持向量機等淺層學習算法而言。后者的局限性在于有限樣本和計算單元情況下,對復雜函數(shù)的表示能力有限,且需要依靠人工經(jīng)驗抽取樣本特征。深度學習算法則通過構(gòu)建一種深層非線性網(wǎng)絡結(jié)構(gòu)來實現(xiàn)復雜函數(shù)逼近及自動特征提取,具有強大的從少數(shù)樣本集中挖掘數(shù)據(jù)統(tǒng)計規(guī)律的能力。
在基于深度學習方法的人臉識別領(lǐng)域,2014年,F(xiàn)acebook公司的DeepFace項目以及香港中文大學的DeepID項目在戶外人臉識別數(shù)據(jù)庫上的識別正確率分別達到97.45%和97.35%,幾乎可以比肩人類97.5%的識別率。此外,在圖像分類、自然語音識別等領(lǐng)域,深度學習也已證明了其無可比擬的優(yōu)勢,特別是在現(xiàn)存最復雜的完全信息博弈之一的圍棋上的成功,說明該算法還大有潛力可挖。
關(guān)于AlphaGO還有個不為人知的小插曲。在對戰(zhàn)李世石之前,AlphaGO曾于2016年1月以5:0的懸殊比分完勝歐洲圍棋冠軍樊麾二段。旁觀的李世石在比賽結(jié)束后表示有信心捍衛(wèi)人類在棋類運動上最后的榮譽。然而短短的一個月時間內(nèi),Google將AlphaGO的核心運算單元從CPUGPU換成了專門的深度學習芯片。于是,我們看到了“石佛”尷尬的笑容和發(fā)抖的手指。
二、脫離硬件支持,深度學習只能是“屠龍之技”
事實上,AI界的泰斗,加拿大多倫多大學的Hiton教授早在2006年就提出了深度學習的概念,淺層學習算法更是早在上世紀80年代就為學術(shù)界所廣泛認可。之所以最近幾年該領(lǐng)域應用才逐漸升溫,是因為AI的發(fā)展離不開兩方面的支持,大數(shù)據(jù)和計算資源。
深度學習模型需要通過大量的數(shù)據(jù)訓練才能獲得理想的效果。以語音識別問題為例,僅在其聲學建模部分,算法就面臨著十億到千億級別的訓練樣本。在這種情況下,只有表達能力強的數(shù)學模型才能夠充分發(fā)掘海量數(shù)據(jù)中蘊藏的豐富信息。相應地,海量數(shù)據(jù)的運算處理也必須有強大的計算資源作為支撐。
舉個毫不夸張的例子,今天的計算機一個中小型網(wǎng)絡的訓練需要一天時間,可能使用20年前的計算機需要近20年才能完成。因此,即便深度學習算法早20年誕生,沒有硬件匹配也只能是屠龍之技。而即便是今天,AI相關(guān)硬件的發(fā)展仍遠落后于軟件算法。一方面,AI界的算法大牛實在太多,甩開摩爾定律數(shù)十年來筆耕不輟地升級著軟件;另一方面,當前執(zhí)行深度學習算法的主流方式是采用GPU芯片,為深度學習算法專門定制的芯片還遠沒有形成規(guī)模。雖然從架構(gòu)上看,GPU相比CPU更有效率,但是離最優(yōu)還相距甚遠。而且GPU功耗驚人,很難委身于移動終端,更遑論物聯(lián)網(wǎng)應用。
三、云端“高吞吐”,本地“小快靈”
目前的AI應用主要分為用于服務器端和用于移動終端兩大類。服務器端的負責AI算法的芯片一方面要支持盡可能多的網(wǎng)絡結(jié)構(gòu)以保證算法的正確率和泛化能力;另一方面必須支持高精度浮點數(shù)運算,峰值性能至少要達到Tflops(每秒執(zhí)行10^12次浮點數(shù)運算)級別,所以功耗非常大(>200W);而且為了能夠提升性能必須支持陣列式結(jié)構(gòu)(即可以把多塊芯片組成一個計算陣列以加速運算)。由于服務器端的AI芯片必須兼顧通用性,因此性能優(yōu)化無法做到量體裁衣,只能做一些宏觀的優(yōu)化。
現(xiàn)有的主流服務器端的硬件加速器以圖形處理器和現(xiàn)場可編程邏輯門陣列為主。GPU具有強大的浮點運算能力,因此除圖像處理的本職工作外,被廣泛應用于科學計算、密碼破解、數(shù)值分析,海量數(shù)據(jù)處理等需要大規(guī)模并行計算的領(lǐng)域。與GPU相比,F(xiàn)PGA器件雖然在計算運行速度上與ASIC芯片有所差距,產(chǎn)品更新?lián)Q代的速度也要慢于GPU芯片;但是功耗僅僅是GPU的1/10,并且還可以通過重配置對目標應用進行最大限度的優(yōu)化。除了FPGA和GPU之外,也有不少公司在做服務器端的深度學習加速芯片,例如Google的TPU、Intel的
Nervana System以及Wave Computing等等。
移動端的AI芯片和服務器端的AI芯片在設(shè)計思路上有著本質(zhì)的區(qū)別。首先,移動端的AI芯片必須滿足低延遲要求。這里的延遲是指移動終端與云端或服務器端的通信延遲。以大家熟悉的siri應用為例,移動終端把語音數(shù)據(jù)上傳至云端,云端執(zhí)行算法并把結(jié)果送回移動端,這當然要求網(wǎng)絡延遲盡可能小以提升用戶體驗。而在駕駛輔助、安防監(jiān)控等對實時性要求極為嚴苛的應用場景下,低延遲的重要性更是無需贅言;其次,移動端AI芯片必須保證功耗控制在一定范圍內(nèi),換言之,必須保證很高的計算能效;最后,移動端AI應用對算法的性能要求不如服務器端苛刻,允許一些計算精度損失,因此可以使用一些定點數(shù)運算以及網(wǎng)絡壓縮的辦法來加速運算。而如果從另一個角度看,把所有數(shù)據(jù)傳回云端一方面有可能造成網(wǎng)絡的擁堵,另一方面存在數(shù)據(jù)安全問題,一旦數(shù)據(jù)在傳輸過程中被惡意劫持,后果將無法想象。因此,一個必然的趨勢是在移動端本地分擔部分快速反應的AI算法,從而盡量避免上述問題。
四、AI專用芯片,業(yè)界巨頭們的藍海
正如20年前多媒體應用及3D游戲蓬勃發(fā)展倒逼顯卡硬件升級一樣,互聯(lián)網(wǎng)大數(shù)據(jù)的興起對超算芯片提出了新的需求。如前所述,GPU和FPGA是目前軟件企業(yè)采取的主流方案。百度的機器學習硬件系統(tǒng)就是用FPGA搭建了一款AI專用芯片,并已大規(guī)模部署在語音識別、廣告點擊率預估模型等應用中;而語音識別領(lǐng)域的科大訊飛,則將幾乎所有深度學習訓練方面的運算都放在GPU加速卡上運行。不過業(yè)界也有消息,科大訊飛計劃在語音識別業(yè)務中啟用FPGA平臺。
作為GPU和FPGA領(lǐng)域的巨頭,Nvidia和Intel已相繼公布了開發(fā)AI專用芯片的計劃。2016年上半年,NVIDIA為深度神經(jīng)網(wǎng)絡推出了TeslaP100GPU,并基于此開發(fā)了深度學習超級計算機NVIDIADGX-1。與此同時,IBM已與NVIDIA推出了幾款專門針對人工智能領(lǐng)域的服務器產(chǎn)品。而收購了FPGA巨頭Altera公司的Intel也不甘落后,結(jié)合FPGA在大數(shù)據(jù)運算處理方面的優(yōu)勢,全力打造新的專注大數(shù)據(jù)高性能運算以及AI應用的至強融合系列處理器。
此外,Intel還于2016年8月宣布收購深度學習芯片初創(chuàng)公司Nervana,以增強Intel在AI方面的業(yè)務能力。目前,芯片層面最大的變數(shù)來自于Google的TPU芯片。這款芯片是Google專門為其深度神經(jīng)網(wǎng)絡的軟件驅(qū)動引擎TensorFlow量身打造的。谷歌表示,按照摩爾定律的發(fā)展軌跡,現(xiàn)在的TPU的計算能力相當于未來七年才能達到的計算水平。目前,TPU已經(jīng)服務于Google的AI系統(tǒng)Rank
Brain、街景Street View、Alpha GO等應用服務。
TPU的高效能來自于Google專門為AI應用做出的針對性優(yōu)化。在效能與功耗上TPU能夠更緊密地適配機器學習算法,這一點要遠勝于GPU及FPGA等通用芯片。從性能角度而言,目前針對某個算法優(yōu)化的專用AI芯片能比GPU在性能上提升多少還未有定論,這也要結(jié)合具體算法來看。如果GPU剛好卡到某個瓶頸,那么AI芯片在運算速度上提升幾十倍也是有可能的。AI算法始終保持著快速演進的趨勢,因此專用AI芯片的發(fā)展一定與軟件是并行互補的。
從成本角度來看,任何芯片一旦量產(chǎn),成本都會迅速下降。就服務器端的AI芯片而言,首先量肯定不如移動市場大;其次由于強調(diào)運算性能,導致其技術(shù)壁壘較高,新的競爭者難以快速切入。目前來看AI芯片基本沒有創(chuàng)業(yè)機會。流片在千萬美元級別,全世界的玩家屈指可數(shù)。而所有巨頭又都盯著AI這塊巨大的蛋糕,因此在該領(lǐng)域基本不可能有攪局者的出現(xiàn)。AI雖然是藍海,但只是大公司的藍海。
?