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