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





