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