毫無疑問,如果評(píng)選2016年度科技界十大最耀眼熱詞,人工智能&深度學(xué)習(xí)必定會(huì)華麗麗地上榜。從年初阿爾法狗戰(zhàn)勝世界圍棋冠軍李世石,到年末世界互聯(lián)網(wǎng)大會(huì)上BAT大佬們的集體AI秀,每一個(gè)信號(hào)都在不斷提示著我們,人工智能時(shí)代來了,未來已來,且就在我們身邊。
1956年,約翰·麥卡錫等人出席的達(dá)特茅斯會(huì)議正式標(biāo)志著人工智能的誕生。經(jīng)過60年的發(fā)展,人工智能歷經(jīng)了三次浪潮,發(fā)展可謂起起落落。
第一次,達(dá)特茅斯會(huì)議確立了人工智能這一術(shù)語,第一款感知神經(jīng)網(wǎng)絡(luò)軟件和聊天軟件誕生,數(shù)學(xué)定理被證明,人類第一次進(jìn)入了人工智能的狂歡時(shí)期。然而,人們很快發(fā)現(xiàn),這些理論和模型只能解決一些非常簡單的問題,他們把問題想得過于簡單,人工智能隨即進(jìn)入低谷。
第二次,八十年代Hopfield神經(jīng)網(wǎng)絡(luò)和BT訓(xùn)練算法的提出,使得人工智能再次興起,出現(xiàn)了語音識(shí)別、語音翻譯模型也為第二次人工智能的熱潮點(diǎn)燃了希望之火。但這些設(shè)想遲遲未能進(jìn)入人們的生活之中,第二次浪潮也隨之破滅。
第三次,隨著2006年Hinton提出的深度學(xué)習(xí)技術(shù),以及2012年ImageNet競(jìng)賽在圖像識(shí)別領(lǐng)域帶來的突破,人工智能再次迎來了烈火烹油式的爆發(fā)。特別是到了2016年,大數(shù)據(jù)技術(shù)的日臻成熟以及高性能計(jì)算和算法的跨越式進(jìn)步,為人工智能的發(fā)展帶來了真正的動(dòng)力。
高性能計(jì)算加速深度學(xué)習(xí)落地,GPU與FPGA各有所長
而這一次人工智能熱潮的興起,與前兩次有著截然不同的本質(zhì)區(qū)別,其中高性能計(jì)算應(yīng)用加速能力的大幅提升功不可沒。在恒揚(yáng)數(shù)據(jù)應(yīng)用加速部門產(chǎn)品經(jīng)理張軍看來,深度學(xué)習(xí)模型是構(gòu)建在海量的數(shù)據(jù)和強(qiáng)有力超算能力基礎(chǔ)之上的,傳統(tǒng)計(jì)算架構(gòu)已經(jīng)無法支撐深度學(xué)習(xí)大規(guī)模并行計(jì)算需求,因此,通過底層應(yīng)用加速計(jì)算過程結(jié)合深度學(xué)習(xí)算法上的優(yōu)化,是推動(dòng)人工智能整個(gè)產(chǎn)業(yè)鏈發(fā)展的重要環(huán)節(jié)。
目前針對(duì)深度學(xué)習(xí)的分布式加速主要有三種方式:GPU、FPGA和NPU。GPU是最先被引入深度學(xué)習(xí)領(lǐng)域的,我們熟知的阿爾法狗就是由1920個(gè) CPU+280個(gè)GPU搭建的超算平臺(tái),作為最早看好深度學(xué)習(xí)應(yīng)用加速的公司,英偉達(dá)是該領(lǐng)域當(dāng)仁不讓的領(lǐng)導(dǎo)者,通過打造CUDA平臺(tái),GPU在SIMD 單指令多數(shù)據(jù)流架構(gòu)中的優(yōu)勢(shì)被全面激發(fā),結(jié)合高并行計(jì)算和高計(jì)算吞吐的特點(diǎn),GPU可以大規(guī)模適用于具備計(jì)算密集、高并行、SIMD應(yīng)用等特點(diǎn)的深度學(xué)習(xí)訓(xùn)練模型領(lǐng)域。目前,GPU已經(jīng)在深度學(xué)習(xí)訓(xùn)練模型領(lǐng)域開創(chuàng)性地創(chuàng)建了包含CNN、DNN、RNN、LSTM以及強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)等算法在內(nèi)的應(yīng)用加速平臺(tái)和完整的生態(tài)系統(tǒng)。
GPU雖火,但從技術(shù)上講,也有一定的局限性。
首先,運(yùn)行能效比不佳。相比較而言,運(yùn)行深度學(xué)習(xí)算法實(shí)現(xiàn)同樣的性能,GPU所需功耗遠(yuǎn)大于FPGA,通常情況下,GPU只能達(dá)到FPGA能效比的一半或更低。
其次,應(yīng)用過程中無法充分發(fā)揮并行計(jì)算優(yōu)勢(shì)。深度學(xué)習(xí)包含兩個(gè)計(jì)算環(huán)節(jié),即訓(xùn)練(Off-line)和推理(On-line)環(huán)節(jié)。GPU在深度學(xué)習(xí)算法模型訓(xùn)練上非常高效,但在推理時(shí)一次性只能對(duì)于一個(gè)輸入項(xiàng)進(jìn)行處理,并行計(jì)算的優(yōu)勢(shì)不能發(fā)揮出來。
第三,硬件結(jié)構(gòu)固定不具備可編程性。目前來看,深度學(xué)習(xí)算法還未完全成熟,算法還在迭代衍化過程中,若深度學(xué)習(xí)算法發(fā)生大的變化,GPU無法像FPGA一樣可以靈活的配置硬件結(jié)構(gòu),快速切入市場(chǎng)。 而以上這些不足,恰恰可以通過FPGA加速的方式來彌補(bǔ)。
可以說,GPU和FPGA在加速深度學(xué)習(xí)算法方面各有所長。 據(jù)張軍介紹,單純從性能角度來看,目前看FPGA的性能要弱于GPU,但FPGA在性能功耗比方面的表現(xiàn)卻非常驚艷,以恒揚(yáng)NSA系列深度學(xué)習(xí)加速卡來看,性能功耗比可以做到70GFlops/W,是英偉達(dá)M4的2倍多,是Intel眾核芯片的5倍,優(yōu)勢(shì)還是相當(dāng)明顯的。這一點(diǎn),對(duì)大型數(shù)據(jù)中心而言至關(guān)重要,可以節(jié)省大量服務(wù)器部署及機(jī)房建設(shè)、用電成本。
從計(jì)算優(yōu)勢(shì)來講,目前大家看到在深度學(xué)習(xí)模型訓(xùn)練領(lǐng)域基本使用的是SIMD架構(gòu),即只需一條指令可以平行處理大量數(shù)據(jù),這一點(diǎn)正好可以發(fā)揮GPU并行計(jì)算優(yōu)勢(shì),但是容易讓人忽略的是,在完成訓(xùn)練模型后,深度學(xué)習(xí)還需要進(jìn)行推理計(jì)算環(huán)節(jié),即MISD單一數(shù)據(jù)需要用多條指令平行處理,而這部分計(jì)算,正是 FPGA最為擅長的。
根據(jù)賽靈思全球戰(zhàn)略與市場(chǎng)營銷高級(jí)副總裁Steve Glasev介紹,他認(rèn)為FPGA未來在超級(jí)數(shù)據(jù)中心將成主流應(yīng)用,尤其是在深度學(xué)習(xí)方面,在這方面GPU強(qiáng)在訓(xùn)練,而FPGA強(qiáng)在推斷。一旦需要大規(guī)模部署訓(xùn)練模型,就必須大幅度提高效率,這需要新的推斷引擎來提升效率,比如3到4倍,同時(shí)還要最小限度損失精確性,這正是FPGA的強(qiáng)項(xiàng)。他預(yù)測(cè),未來至少95%的機(jī)器學(xué)習(xí)計(jì)算都是用于推斷,只有不到5%是用于模型訓(xùn)練,這是兩者的區(qū)別。
另外,不同架構(gòu)的FPGA由于底層DSP有所不同,因此在不同領(lǐng)域的利用率和計(jì)算效率也有所不同。
從靈活性來說,GPU一旦設(shè)計(jì)完成就無法根據(jù)應(yīng)用去調(diào)整硬件資源,但FPGA可以根據(jù)特定的應(yīng)用給硬件編程,能針對(duì)任何新型應(yīng)用和算法進(jìn)行硬件優(yōu)化。正是這種特有的可重配置和可重編程特性,F(xiàn)PGA能在一秒之內(nèi)快速切換成不同的設(shè)計(jì)方案,面對(duì)下一個(gè)工作負(fù)載進(jìn)行硬件優(yōu)化,成為超大規(guī)模數(shù)據(jù)中心應(yīng)用提供高度靈活、復(fù)雜多變的和高能效的最佳計(jì)算方案。
打造深度學(xué)習(xí)生態(tài)閉環(huán),為人工智能賦能
作為第二代分布式計(jì)算聯(lián)盟創(chuàng)始成員以及OpenPower組織聯(lián)盟成員,恒揚(yáng)數(shù)據(jù)與賽靈思、IBM在分布式計(jì)算領(lǐng)域有著深入密切合作。據(jù)恒揚(yáng)數(shù)據(jù)張軍介紹,2015年起,恒揚(yáng)就關(guān)注到在全球7大超級(jí)數(shù)據(jù)中心,特別是在機(jī)器學(xué)習(xí)、深度學(xué)習(xí)領(lǐng)域,F(xiàn)PGA會(huì)成為主流應(yīng)用之一,今年10月百度宣布設(shè)計(jì)出用以加速機(jī)器學(xué)習(xí)推斷的賽靈思 UltraScale FPGA池以及11月AWS大會(huì)上Amazon EC2 F1實(shí)例,更加堅(jiān)定了我們的想法。
比如Amazon EC2 F1實(shí)例,它是第一個(gè)用于FPGA應(yīng)用加速的可編程硬件云實(shí)例,用戶可以選擇最高集成8塊高性能16nm Xilinx UltraScale+ VU9P FPGA的方式,將FPGA架設(shè)在云端,類似于Vivado HLS/SDSoC remote server模式,用戶只需要購買云服務(wù),即可獲得相應(yīng)的開發(fā)工具,包括集成深度學(xué)習(xí)主流框架的應(yīng)用開發(fā)套件、應(yīng)用函數(shù)庫、配置管理工具等等,進(jìn)行開發(fā)、仿真、調(diào)試、編譯等工作,定制FPGA硬件加速,從而大幅降低開發(fā)難度,縮減開發(fā)時(shí)間,讓云服務(wù)用戶更加便捷地加速深度學(xué)習(xí)推斷、基因分析、金融分析、視頻處理、大數(shù)據(jù)、安全等工作負(fù)載。
目前,恒揚(yáng)非常看好類似的應(yīng)用,正在與國內(nèi)的幾大數(shù)據(jù)中心展開聯(lián)手合作,我們致力于與賽靈思聯(lián)手,與超大數(shù)據(jù)中心進(jìn)行深度合作,挖掘FPGA在深度學(xué)習(xí)中的潛能。
如果說與數(shù)據(jù)中心展開深入合作是恒揚(yáng)建立深度學(xué)習(xí)生態(tài)圈組合拳的第一記重拳,那么豐富自身算法庫,與行業(yè)應(yīng)用深入結(jié)合,形成完整的商業(yè)閉環(huán),則是恒揚(yáng)的第二記重拳。相比較而言,F(xiàn)PGA的開發(fā)難度是比較高的,它要求開發(fā)人員必需對(duì)底層硬件編程語言例如Verilog非常熟悉,即便是使用類C的 OpenCL進(jìn)行開發(fā),對(duì)軟件開發(fā)人員而言,還是具有一定難度,因此必須集成快速開發(fā)工具、算法庫、算法框架集成包及參考設(shè)計(jì)樣板,為應(yīng)用深度學(xué)習(xí)算法開發(fā)人員和平臺(tái)設(shè)計(jì)人員提供最快速、最便捷的開發(fā)和部署途徑。目前,恒揚(yáng)重點(diǎn)開發(fā)的算法庫包括CNN卷積神經(jīng)網(wǎng)絡(luò)、壓縮算法、視頻圖像縮放等,下一步恒揚(yáng)還將逐步完善對(duì)主流caffe、tensorflow算法框架的支持,將體系進(jìn)一步完善化。
在完善算法的同時(shí),將技術(shù)與行業(yè)緊密結(jié)合,打通商業(yè)閉環(huán)也是恒揚(yáng)重點(diǎn)布局的方向。FPGA的特性決定了它在某些特定行業(yè)應(yīng)用上具有得天獨(dú)厚的優(yōu)勢(shì),例如在醫(yī)療領(lǐng)域,醫(yī)學(xué)影像比普通圖像紋理更多,分辨率更高,相關(guān)性更大,存儲(chǔ)空間要求更大,必須嚴(yán)格確保臨床應(yīng)用的可靠性,其壓縮、分割等圖像預(yù)處理、圖像分析及圖像理解等要求更高。這些特點(diǎn)恰恰可以充分發(fā)揮FPGA的優(yōu)勢(shì),通過FPGA加速圖像壓縮進(jìn)程,刪除冗余,提高壓縮比、并確保圖像診斷的可靠性。類似的醫(yī)療領(lǐng)域應(yīng)用還有基因測(cè)序加速。
再比如在金融領(lǐng)域,由于采用流水線邏輯體系結(jié)構(gòu),數(shù)據(jù)流處理要求低延時(shí),高可靠,這在金融交易風(fēng)險(xiǎn)建模算法應(yīng)用中是極大的關(guān)鍵點(diǎn),F(xiàn)PGA正具備了此種優(yōu)勢(shì)。類似的行業(yè)和領(lǐng)域還有很多,比如視頻轉(zhuǎn)碼直播、內(nèi)容過濾、視頻安防等等。
除了在云端構(gòu)建恒揚(yáng)深度學(xué)習(xí)生態(tài)圈外,對(duì)于特定的不適合放在云端的終端應(yīng)用,如無人機(jī)、自動(dòng)駕駛、機(jī)器人,恒揚(yáng)也開始逐步探索,我們相信,在智能時(shí)代,F(xiàn)PGA會(huì)扮演越來越重要的角色,成為變革全球經(jīng)濟(jì)的重要技術(shù)手段,更多地改變我們的學(xué)習(xí)、工作和娛樂方式。
評(píng)論
查看更多