最近FPGA又頻頻被各AI領(lǐng)域的巨頭看好,比如微軟、百度、科大訊飛都對(duì)FPGA應(yīng)用前景有所期待。那么如果讓你選擇FPGA作為AI計(jì)算系統(tǒng)的主力軍,你會(huì)有什么樣的顧慮?
這幾天,已經(jīng)退役的AlphaGo又強(qiáng)行刷了一波頭條,不是又跟哪位世界高手對(duì)決,而是“新狗”通過無監(jiān)督式學(xué)習(xí),僅用3天時(shí)間就戰(zhàn)勝了李世石版的AlphaGo,然后用了21天時(shí)間戰(zhàn)勝了柯潔版本AlphaGo。AlphaGo讓我們真真切切地看到了AI計(jì)算的強(qiáng)大。
目前,在AI計(jì)算平臺(tái)使用最廣泛的兩種加速部件是GPU和FPGA。GPU可適用于具備計(jì)算密集、高并行、SIMD(SingleInstructionMultipleData,單指令多數(shù)據(jù)流)應(yīng)用等特點(diǎn)的深度學(xué)習(xí)訓(xùn)練模型領(lǐng)域,并且GPU創(chuàng)建了包含CNN、DNN、RNN、LSTM以及強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)等算法在內(nèi)的應(yīng)用加速平臺(tái)和生態(tài)系統(tǒng)。
但是,最近FPGA又頻頻被各AI領(lǐng)域的巨頭看好,比如微軟、百度、科大訊飛都對(duì)FPGA應(yīng)用前景有所期待。那么如果讓你選擇FPGA作為AI計(jì)算系統(tǒng)的主力軍,你會(huì)有什么樣的顧慮?
顧慮一:FPGA有啥優(yōu)勢?什么樣的場景更適合FPGA?
首先,深度學(xué)習(xí)包含兩個(gè)計(jì)算環(huán)節(jié),即訓(xùn)練和推理環(huán)節(jié)。GPU在深度學(xué)習(xí)算法模型訓(xùn)練上非常高效,但在推理時(shí)對(duì)于小批量數(shù)據(jù),并行計(jì)算的優(yōu)勢不能發(fā)揮出來。而FPGA同時(shí)擁有流水線并行和數(shù)據(jù)并行,因此處理任務(wù)時(shí)候延遲更低。例如處理一個(gè)數(shù)據(jù)包有10個(gè)步驟,F(xiàn)PGA可以搭建一個(gè)10級(jí)流水線,流水線的不同級(jí)在處理不同的數(shù)據(jù)包,每個(gè)數(shù)據(jù)包流經(jīng)10級(jí)之后處理完成。每處理完成一個(gè)數(shù)據(jù)包,就能馬上輸出。通常來說,F(xiàn)PGA加速只需要微秒級(jí)的PCIe延遲。當(dāng)Intel推出通過QPI快速通道互聯(lián)的Xeon+FPGA之后,CPU和FPGA之間的延遲甚至可以降到100納秒以下。
其次,F(xiàn)PGA是可編程芯片,算法燒錄更加靈活。目前來看,深度學(xué)習(xí)算法還未完全成熟,算法還在迭代衍化過程中,若深度學(xué)習(xí)算法發(fā)生大的變化,F(xiàn)PGA是軟件定義硬件,可以靈活切換算法,快速切入市場。
未來至少95%的機(jī)器學(xué)習(xí)計(jì)算都是用于推斷,只有不到5%是用于模型訓(xùn)練,而FPGA正是強(qiáng)在推斷。大幅提升推斷效率的同時(shí),還能最小限度損失精確性,這正是FPGA的強(qiáng)項(xiàng)。
顧慮二:FPGA的計(jì)算性能能不能滿足我的需求?
與CPU和GPU不同,F(xiàn)PGA是一種典型的非諾依曼架構(gòu),是硬件適配軟件的模式,它能夠根據(jù)系統(tǒng)資源和算法特征靈活的調(diào)整并行度,達(dá)到最優(yōu)的適配,因此能效比高于CPU和GPU。
以浪潮F10A為例,這是目前業(yè)界支持OpenCL的最高密度最高性能的FPGA加速設(shè)備,基于Altera的Arria10芯片,單芯片峰值運(yùn)算能力達(dá)到了1.5TFlops,功耗卻只需35W,每瓦特性能達(dá)到42GFlops。同時(shí),F(xiàn)10A設(shè)計(jì)為高密度的半高半長PCI-E插卡,同時(shí)具有靈活的板卡內(nèi)存配置,最大支持32G雙通道內(nèi)存,是業(yè)內(nèi)同等FPGA卡內(nèi)存容量的4-8倍。此外,F(xiàn)10A支持2個(gè)10Gb光口,可以實(shí)現(xiàn)數(shù)據(jù)直接從網(wǎng)絡(luò)到板卡處理,無需經(jīng)過CPU,大大減低了傳輸延時(shí)。
測試數(shù)據(jù)顯示,在語音識(shí)別應(yīng)用下,浪潮F10A較CPU性能加速2.87倍,而功耗相當(dāng)于CPU的15.7%,性能功耗比提升18倍。
顧慮三:FPGA的開發(fā)周期得1年以上吧,這不能滿足我的業(yè)務(wù)上線需求?
傳統(tǒng)的FPGA的開發(fā)類似于芯片的開發(fā),采用硬件描述語言(HDL)開發(fā),HDL開發(fā)帶來的問題就會(huì)像芯片設(shè)計(jì)一樣周期會(huì)比較長,從架構(gòu)設(shè)計(jì)、到仿真驗(yàn)證、再到最終完成,需要一年左右的開發(fā)時(shí)間。
但是互聯(lián)網(wǎng)的業(yè)務(wù)迭代速度極快,在幾個(gè)月時(shí)間內(nèi)就可能完成龐大用戶群的積累,因此業(yè)務(wù)對(duì)于數(shù)據(jù)中心的要求是“快”—計(jì)算力平臺(tái)的升級(jí)要盡量快地滿足業(yè)務(wù)的發(fā)展,因此FPGA的傳統(tǒng)開發(fā)模式動(dòng)輒以半年或年為單位的開發(fā)周期難以滿足需求。
為此浪潮嘗試通過OpenCL高級(jí)語言開發(fā)方式,它把底層的硬件如總線、IO接口、訪存控制器等和底層軟件如驅(qū)動(dòng)、函數(shù)調(diào)用等全部封裝,變成標(biāo)準(zhǔn)單元提供上層支持,用戶只需要關(guān)注算法本身,OpenCL開發(fā)的邏輯通過編譯工具直接映射到FPGA中,開發(fā)周期從至少1年縮短至4個(gè)月以內(nèi)。
顧慮四:對(duì)于O經(jīng)驗(yàn)的公司,怎樣快速上線FPGA應(yīng)用?
或許你還是有些顧慮,即時(shí)開發(fā)效率大幅提升、開發(fā)周期大大縮短,但是對(duì)于技術(shù)和團(tuán)隊(duì)儲(chǔ)備不足的中小型AI企業(yè)來說,F(xiàn)PGA仍是“高不可攀”的AI加速部件。如果,有一種方案能夠?qū)④浖?、算法和硬件板卡整合,以軟硬一體化的形式,提供FaaS(FPGAasaService)服務(wù)。你還有什么顧慮么?
目前,浪潮正在針對(duì)市場上需求最迫切的幾種應(yīng)用場景進(jìn)行算法的移植開發(fā),在圖像壓縮、文本數(shù)據(jù)壓縮及神經(jīng)網(wǎng)絡(luò)加速等應(yīng)用開發(fā)出業(yè)界領(lǐng)先的IP,省去客戶的算法開發(fā)周期,最小化FPGA落地門檻、最大化FPGA落地效率。
神經(jīng)網(wǎng)絡(luò)加速方案:基于浪潮F10A的AI線上推理加速方案,針對(duì)CNN卷積神經(jīng)網(wǎng)絡(luò)的相關(guān)算法進(jìn)行優(yōu)化和固化,可加速ResNet等神經(jīng)網(wǎng)絡(luò),能夠應(yīng)用于圖片分類、對(duì)象檢測和人臉識(shí)別等應(yīng)用場景。
實(shí)測數(shù)據(jù)顯示,在進(jìn)行ResNet殘差網(wǎng)絡(luò)的圖片識(shí)別分類任務(wù)時(shí),浪潮F10A加速方案圖片處理速度可達(dá)每秒742張,Top-5識(shí)別準(zhǔn)確率達(dá)到99.6%,相比同檔次GPU能效比提升3倍以上。而與通用CPU對(duì)比,在處理這種高并行、小計(jì)算量的任務(wù)時(shí),F(xiàn)10A的優(yōu)勢將更明顯。
WebP圖片轉(zhuǎn)碼壓縮加速方案:針對(duì)圖片數(shù)據(jù)的壓縮應(yīng)用,嵌入基于FPGA計(jì)算環(huán)境下的WebP編解碼優(yōu)化算法,通過充分利用硬件流水設(shè)計(jì)和任務(wù)級(jí)并行,大大提升WebP圖像壓縮編碼算法的處理性能,能夠?qū)崿F(xiàn)JPEG-WebP圖片格式的快速轉(zhuǎn)換,比傳統(tǒng)實(shí)現(xiàn)方式的整體處理效率平均高9.13倍左右,最高性能可比CPU提高14倍。
數(shù)據(jù)壓縮加速方案:為解決傳統(tǒng)壓縮架構(gòu)的弊端,浪潮GZip算法加速方案充分利用板卡硬件流水設(shè)計(jì)和任務(wù)級(jí)并行,大幅提升了壓縮任務(wù)的吞吐量并有效降低CPU的負(fù)載,壓縮率(壓縮率=1-壓縮后文件/壓縮前文件)最高可達(dá)94.8%,壓縮速度達(dá)到1.2GB/s,10倍于傳統(tǒng)方案的壓縮效率。
顧慮五:我是做云的,F(xiàn)PGA咋管理?支持虛擬機(jī)么?
FaaS不僅僅是指板卡與軟件算法的一體化服務(wù),同時(shí)還可以支持公有云及在線遠(yuǎn)程管理和更新。浪潮FPGA解決方案能夠支持動(dòng)態(tài)邏輯的在線可重構(gòu)、靜態(tài)邏輯的遠(yuǎn)程更新,并且通過優(yōu)化的監(jiān)控管理機(jī)制,提升板卡遠(yuǎn)程監(jiān)控管理的可靠性,通過它們可以實(shí)時(shí)的監(jiān)控FPGA芯片的溫度、板卡風(fēng)扇轉(zhuǎn)速、板卡內(nèi)存特性等從而調(diào)整FPGA的工作頻率。
同時(shí)浪潮FPGA也支持虛擬機(jī)的直接訪問,板卡本身也加入了很多RAS(可靠性、可用性、可擴(kuò)展性)特性,如高可靠內(nèi)存訪問等,支持并行(FPP)和串行(AS)雙加載模式,任何一種模式加載出現(xiàn)故障,都可以快速切換到另一種模式加載,保證了板卡大規(guī)模服務(wù)的可用性。
有了這些特性,就可以利用浪潮FPGA方案,快速搭建FPGA云所需要的基礎(chǔ)底層計(jì)算平臺(tái),不論是對(duì)外提供公有云服務(wù),還是對(duì)內(nèi)實(shí)現(xiàn)FPGA計(jì)算力快速分配都能夠既高效又可靠。
顧慮六:我可不想當(dāng)小白鼠,有誰用過了?
對(duì)于FPGA這種新興的AI計(jì)算設(shè)備,“觀望”往往是明智的選擇,畢竟不是每家公司都想要作為新技術(shù)的小白鼠,而當(dāng)有第一個(gè)吃螃蟹的人出現(xiàn)后,“跟進(jìn)”則成為“飛豬”的必然之路。
目前,浪潮FPGA已經(jīng)在百度、阿里巴巴、騰訊、網(wǎng)易、科大訊飛取得批量的落地應(yīng)用或深度測試,F(xiàn)PGA在人工智能線上推理的能效優(yōu)勢已經(jīng)得到大部分互聯(lián)網(wǎng)和AI公司的認(rèn)可。
那么,F(xiàn)PGA可以應(yīng)用在哪些領(lǐng)域?我們可以聽聽騰訊云FPGA團(tuán)隊(duì)負(fù)責(zé)人怎么說:
在機(jī)器學(xué)習(xí)領(lǐng)域、金融領(lǐng)域、大數(shù)據(jù)領(lǐng)域、基因檢測領(lǐng)域都存在比較大的數(shù)據(jù)量需要分析計(jì)算,這些是FPGA可以發(fā)揮高吞吐優(yōu)勢的領(lǐng)域。
網(wǎng)絡(luò)安全領(lǐng)域有更安全、更低延時(shí)的需求,這些場景也可以發(fā)揮FPGA低延時(shí)的優(yōu)勢。
超大規(guī)模圖像處理,這些圖片的處理都使用FPGA來進(jìn)行處理加速,都可以得到滿意的效果。
現(xiàn)在比較熱門的自然語言處理和語音識(shí)別這些也都是FPGA可以發(fā)揮優(yōu)勢的場景。
當(dāng)FPGA成為一種計(jì)算力服務(wù),有著高效的硬件、成熟的IP和云化管理,你還在顧慮什么?
浪潮擁有國內(nèi)領(lǐng)先的FPGA軟硬件開發(fā)團(tuán)隊(duì),浪潮正聯(lián)合Intel及BAT、科大訊飛、網(wǎng)易等AI領(lǐng)先企業(yè)深入研發(fā)基于FPGA的通用系統(tǒng)方案,包括深度學(xué)習(xí)、網(wǎng)絡(luò)加速、存儲(chǔ)優(yōu)化等,并將方案推廣到其它應(yīng)用領(lǐng)域和客戶。未來,CPU+FPGA或許將作為新的異構(gòu)加速模式,被越來越多的應(yīng)用領(lǐng)域采用。
評(píng)論
查看更多