【導(dǎo)讀】神經(jīng)網(wǎng)絡(luò)、算法和傳感器等都還是處于不斷演化的過(guò)程,一款固定的、標(biāo)準(zhǔn)的設(shè)計(jì)平臺(tái)面對(duì)這些風(fēng)云變幻的演進(jìn)根本無(wú)力招架。此時(shí)此刻,F(xiàn)PGA技術(shù)成為數(shù)百家嵌入式視覺(jué)企業(yè)開(kāi)發(fā)的首選,其中用于機(jī)器學(xué)習(xí)領(lǐng)域的已經(jīng)超過(guò)40家。
越來(lái)越多的輔助駕駛、無(wú)人機(jī)、虛擬現(xiàn)實(shí)/增強(qiáng)現(xiàn)實(shí)、醫(yī)學(xué)診斷、工業(yè)視覺(jué)等應(yīng)用,為了追逐更高性能/差異化,紛紛對(duì)機(jī)器學(xué)習(xí)產(chǎn)生濃厚的興趣。
已有幾家初創(chuàng)企業(yè)在開(kāi)發(fā)專(zhuān)門(mén)的機(jī)器學(xué)習(xí)芯片,但上述這些應(yīng)用不僅僅要集成機(jī)器學(xué)習(xí),還有計(jì)算機(jī)視覺(jué),傳感器融合和連接。如果要開(kāi)發(fā)這么一整套獨(dú)特的性能組合,可能要花費(fèi)幾億美元才能推出第一款芯片,而且從各種規(guī)格的確定落實(shí)到推出樣片,可能需要三年以上。
更別提這三年過(guò)程當(dāng)中還有一個(gè)挑戰(zhàn):那就是神經(jīng)網(wǎng)絡(luò)、算法和傳感器等都還是處于不斷演化的過(guò)程,一款固定的、標(biāo)準(zhǔn)的設(shè)計(jì)平臺(tái)面對(duì)這些風(fēng)云變幻的演進(jìn)根本無(wú)力招架。此時(shí)此刻,F(xiàn)PGA技術(shù)成為數(shù)百家嵌入式視覺(jué)企業(yè)開(kāi)發(fā)的首選,其中用于機(jī)器學(xué)習(xí)領(lǐng)域的已經(jīng)超過(guò)40家。
那么問(wèn)題來(lái)了,面對(duì)市場(chǎng)上最熱門(mén)的人工智能CPU/GPU芯片,全可編程方案的優(yōu)缺點(diǎn)是什么?產(chǎn)量達(dá)到多少以后就不再合適?
秒殺對(duì)手的性能,是怎么算出來(lái)的?
賽靈思有一個(gè)公開(kāi)的性能對(duì)比:針對(duì) Zynq SoC 的 reVISION堆棧與 Nvidia Tegra X1 進(jìn)行基準(zhǔn)對(duì)比,得出下圖這個(gè)驚人的數(shù)據(jù): reVISION 堆棧在機(jī)器學(xué)習(xí)方面單位功耗圖像捕獲速度提升 6 倍,在計(jì)算機(jī)視覺(jué)處理的幀速率提升 42 倍,時(shí)延僅為 1/5(以毫秒為單位),這些對(duì)實(shí)時(shí)應(yīng)用而言都是至關(guān)重要的。
既然和競(jìng)爭(zhēng)對(duì)手做對(duì)比,一定是在相同價(jià)格的芯片之上做的一些性能對(duì)比。在接到EDN記者的疑問(wèn)后,賽靈思嵌入式視覺(jué)和SDSoC高級(jí)產(chǎn)品經(jīng)理Nick Ni用詳細(xì)數(shù)據(jù)解答了此疑問(wèn)。
6倍、42倍和1/5,這幾個(gè)數(shù)據(jù)都是基于同一基礎(chǔ)的。
“像機(jī)器學(xué)習(xí)的6倍的圖像/秒/瓦是用谷歌來(lái)做編程。比如Xilinx我們使用ZU9可以達(dá)到370,我們的功率達(dá)到7W,我們使用一樣的GoogleNet,我們可以看到Nvidia已經(jīng)在公開(kāi)他們最好的數(shù)據(jù),所以我們就用他們這些數(shù)字,所以就算出來(lái)6X。”Ni指出。
在42倍幀/秒/瓦,則是用最優(yōu)化的這些庫(kù)來(lái)做比較。
在競(jìng)爭(zhēng)分析中使用英特爾(Altera)的 Arria 10 器件與賽靈思的 Zynq UltraScale+ MPSoC 對(duì)比。在進(jìn)行嵌入式視覺(jué)應(yīng)用計(jì)算效率比較時(shí),選擇的器件有可比的 DSP 密度和器件功耗:
·Arria 10 SoC:SX220、SX270 和 SX480
·Zynq UltraScale+ MPSoC:ZU3、ZU7 和 ZU9 器件
重點(diǎn)比較能用于包括深度學(xué)習(xí)和計(jì)算機(jī)視覺(jué)在內(nèi)的眾多應(yīng)用的通用 MACC 性能。英特爾的 MACC 性能基于運(yùn)用預(yù)加法器的算子。但是這種實(shí)現(xiàn)方案產(chǎn)生的是乘積項(xiàng)的和,而非單獨(dú)的乘積項(xiàng)。因此英特爾的預(yù)加法器不適用高效深度學(xué)習(xí)或計(jì)算機(jī)視覺(jué)運(yùn)算。
在本計(jì)算效率分析中,每個(gè)器件的功耗使用賽靈思的2016.4 版 Power Estimator 工具和英特爾的 16.0.1 版 EPE Power Estimate 工具進(jìn)行估算,并根據(jù)下列假設(shè)得出:
1.90% DSP 占用率
2.英特爾器件 - 速度等級(jí)為:2L, 最大頻率下供電電壓為 0.9V
3.賽靈思器件 -速度等級(jí)為 1L, 最大頻率下供電電壓為 0.72V
4.時(shí)鐘速率為 DSP Fmax 時(shí)邏輯利用率為 70%
5.時(shí)鐘速率為 DSP 最大頻率的一半時(shí),Block RAM 利用率為 90%
6.DSP 翻轉(zhuǎn)率為 12.5%
7.功耗特征:“典型功耗”
下圖所示的即為深度學(xué)習(xí)和計(jì)算機(jī)視覺(jué)運(yùn)算的能效對(duì)比。與英特爾的 Arria 10 SoC 器件相比,賽靈思器件能讓深度學(xué)習(xí)和計(jì)算機(jī)視覺(jué)運(yùn)算的計(jì)算效率提高 3-7 倍。
響應(yīng)速度來(lái)源于架構(gòu)
響應(yīng)速度在汽車(chē)駕駛中直接影響著安全距離。
“1/5時(shí)延有不一樣的方法來(lái)算,我們的算法是直接用了深度學(xué)習(xí)/機(jī)器學(xué)習(xí),因?yàn)楹芏鄷r(shí)候如果知道深度學(xué)習(xí)的話(huà),可以用不一樣的方法來(lái)做,你輸入一個(gè)圖像進(jìn)去,反應(yīng)速度就是這個(gè)圖像什么時(shí)候能夠出來(lái),我們可以看到5倍的速率差異。”Ni表示。現(xiàn)在一些硬件的專(zhuān)業(yè)客戶(hù)如果他們花費(fèi)很多的精力或者是時(shí)間的投入,他們有可能可以實(shí)現(xiàn)只有1/12的時(shí)延。
響應(yīng)速度快,其實(shí)和賽靈思的架構(gòu)是息息相關(guān)的,如下圖所示。“典型的嵌入式的GPU和典型的SoC,他的傳感器的數(shù)據(jù)是需要外部存儲(chǔ),在處理過(guò)程中需要不斷的去訪(fǎng)問(wèn)外部存儲(chǔ)。但是Zynq能直接獲得數(shù)據(jù)流,直接經(jīng)過(guò)傳感器融合處理,再進(jìn)行決策,響應(yīng)時(shí)間大大縮短。”
如何滿(mǎn)足機(jī)器學(xué)習(xí)的這三點(diǎn)訴求?
我們從客戶(hù)那里看到三方面的需求,賽靈思公司戰(zhàn)略與市場(chǎng)營(yíng)銷(xiāo)部高級(jí)副總裁Steve Glaser表示,“第一,他們希望機(jī)器學(xué)習(xí)的智能性有所提高,同時(shí)他們也希望系統(tǒng)能夠?qū)崿F(xiàn)及時(shí)的快速響應(yīng)來(lái)應(yīng)對(duì)一切外部事件,比如行人從車(chē)前經(jīng)過(guò),比如神經(jīng)網(wǎng)絡(luò)或者相關(guān)技術(shù)的市場(chǎng)變化。”
賽靈思公司戰(zhàn)略與市場(chǎng)營(yíng)銷(xiāo)部高級(jí)副總裁Steve Glaser
其次,成本要低、功耗要低。他們希望能夠以非常高的效率使用非常先進(jìn)的算法。最后,他們需要靈活性——因?yàn)橐磺卸荚诓粩嗟淖兓荷窠?jīng)網(wǎng)絡(luò)和算法、傳感器的類(lèi)型配置和組合等。
“我們能夠幫助客戶(hù)來(lái)優(yōu)化他們的數(shù)據(jù)流,從傳感器到視覺(jué)處理,再到機(jī)器學(xué)習(xí)推斷,一直到控制系統(tǒng)。另外我們也通過(guò)先預(yù)置的硬件,再加上可以編程的軟件,為客戶(hù)提供前所未有的靈活性。”Glaser表示,這也就意味著,在不實(shí)質(zhì)性改變硬件、包括板和芯片的情況下,客戶(hù)就能夠升級(jí)優(yōu)化到最新的神經(jīng)網(wǎng)絡(luò)、算法以及傳感器的類(lèi)型配置。
reVISION堆棧包含一些基礎(chǔ)的平臺(tái),可以支持算法的開(kāi)發(fā),而且它帶有非常符合行業(yè)標(biāo)準(zhǔn)的庫(kù)和元素,針對(duì)于計(jì)算機(jī)、視覺(jué)以及機(jī)器學(xué)習(xí)都是非常重要的,這些框架包括在機(jī)器學(xué)習(xí)領(lǐng)域的Caffe,以及在計(jì)算機(jī)視覺(jué)領(lǐng)域就是OpenVX。
專(zhuān)門(mén)的開(kāi)發(fā)人才與生態(tài)環(huán)境
在GPU體系中,有一大群開(kāi)發(fā)者不斷提供優(yōu)秀的設(shè)計(jì),實(shí)現(xiàn)良性循環(huán),例如NVidia推出的運(yùn)算平臺(tái)CUDA,包含了CUDA指令集架構(gòu)(ISA)以及GPU內(nèi)部的并行計(jì)算引擎。
全可編程方案好是好,可是會(huì)的人少。
“reVISION可以簡(jiǎn)單地實(shí)現(xiàn)一個(gè)工程,直接把一個(gè)Caffe訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型部署到Zynq里。Zynq本身已經(jīng)包括了優(yōu)化的硬件,可以滿(mǎn)足神經(jīng)網(wǎng)絡(luò)的計(jì)算需求。如果需要定制自己的神經(jīng)網(wǎng)絡(luò),只要把Caffe模型輸入到Zynq即可馬上跑起來(lái)。從開(kāi)發(fā)角度講,Zynq特別像CUDA,可以直接釆用GPU或CPU訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)。”
現(xiàn)在reVISION堆棧有大量符合行業(yè)標(biāo)準(zhǔn)的庫(kù)和框架,開(kāi)發(fā)時(shí)間可以大大壓縮,專(zhuān)門(mén)針對(duì)那些并沒(méi)有硬件方面專(zhuān)業(yè)知識(shí)的嵌入式軟件或者系統(tǒng)級(jí)工程師。
傳統(tǒng)的模式中,賽靈思提供芯片以及開(kāi)發(fā)環(huán)境當(dāng)中20%的解決方案,剩下的80%要由客戶(hù)來(lái)完成。“有了這個(gè)reVISION堆棧以后,賽靈思能夠完成解決方案當(dāng)中80%的工作,剩下的客戶(hù)只要完成20%。”Glaser表示。
關(guān)鍵的一點(diǎn)不能漏:reVISION是免費(fèi)的,賽靈思說(shuō)自己只賺芯片錢(qián)。
成本,多大的量需要尋求替代性方案?
最后,人工智能的硬件生態(tài)目前還沒(méi)確定,從公司角度出發(fā),搶占市場(chǎng)先機(jī)和獲得成本優(yōu)勢(shì)同樣重要。
幾年前推出Zynq的時(shí)候,其低端的版本大批量應(yīng)用差不多是15美元以下,現(xiàn)在甚至有了更低端的單核版本,與高端產(chǎn)品4核及7核的異構(gòu)多處理器MPSoC并存,“現(xiàn)在我們有從10美元到幾十美元的組合。”Glaser指出。
雖然達(dá)不到幾千萬(wàn)或數(shù)億那么高的量,由于不再是FPGA了,而是混合的SoC,帶有可以編程的邏輯和IO,所以在量方面已經(jīng)建立了一個(gè)非常強(qiáng)大的成本優(yōu)化的產(chǎn)品組合,能夠提供非常好的量化的性?xún)r(jià)比。
“我們關(guān)注那些數(shù)量級(jí)在幾百萬(wàn)的應(yīng)用。一旦有一些應(yīng)用實(shí)現(xiàn)了商業(yè)化,達(dá)到了幾千萬(wàn)甚至是幾億的數(shù)量級(jí),就會(huì)有別的更低成本的方案進(jìn)來(lái)。”Glaser指出,賽靈思關(guān)注的只是幾百萬(wàn)的數(shù)量級(jí)追求差異化的應(yīng)用,而不是“夠用就好”的批量數(shù)千萬(wàn)的商業(yè)化應(yīng)用 。