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