FPGA助力工業(yè)AI應用
祝維豪?(《電子產(chǎn)品世界》編輯,北京?100036)
本文引用地址:http://m.butianyuan.cn/article/201911/407659.htm1 工業(yè)AI為FPGA和SoC帶來機會
1.1 工業(yè)AI的技術(shù)挑戰(zhàn)給工業(yè)帶來的變化
機器人、工業(yè)監(jiān)控等領(lǐng)域是工業(yè)AI的重要應用。其技術(shù)挑戰(zhàn)體現(xiàn)在很多方面。首先是AI技術(shù)本身,因為AI技術(shù)是基于算法之上的技術(shù)延伸。AI技術(shù)的算法迭代很快,不斷地演進,因此,在邊緣AI技術(shù)的應用過程中會產(chǎn)生更多需求,針對不同技術(shù)領(lǐng)域的不同需求,AI本身會進行不同方向的技術(shù)演進。如何通過升級硬件與軟件適應快速變化的AI算法,是目前所面臨的的一大技術(shù)挑戰(zhàn)。
還有是關(guān)于AI開發(fā)工具,因為算法的多變性與快速迭代,如何做到開發(fā)工具的普適性與提升開發(fā)工具的應用性,是目前AI開發(fā)工具所面臨的難題。
邊緣AI在工業(yè)的應用上,由于涉及到邊緣與云端的相互結(jié)合,那么必須考慮的問題便是網(wǎng)絡傳輸帶寬的問題。由于以往在工業(yè)領(lǐng)域,邊緣設備的數(shù)據(jù)量沒有那么大,現(xiàn)在由于視覺技術(shù)的引入,導致傳輸數(shù)據(jù)量暴漲,這樣一來,如何在保證工業(yè)實時性的同時提升網(wǎng)絡帶寬,實現(xiàn)與云端的實時互聯(lián),就成為嚴峻的挑戰(zhàn)。
在機器人領(lǐng)域,因為機器人技術(shù)本身涉及到視覺與控制的結(jié)合,包括視覺控制器與3D視覺傳感器的融合,智能避障以及機械臂抓取規(guī)劃等都是機器人領(lǐng)域AI技術(shù)的主要場景需求與技術(shù)挑戰(zhàn)。
再有是在工業(yè)領(lǐng)域,由于工業(yè)控制對于延時十分敏感,往往需要毫秒級的實時準確度,對于邊緣設備的傳輸效率要求很高。
另外在工業(yè)器件的安全性上,由于采用云端互聯(lián)的模式,那么就必然存在著被攻擊的危險,如何最大限度地保障工業(yè)設備本身的安全性與傳輸過程中的數(shù)據(jù)安全性,是目前所有廠商需要攻克的問題。
最后一個就是工業(yè)領(lǐng)域本身場景相對惡劣,且對設備器件的功耗要求非常高。由于我們不可能在嵌入式端使用CPU/GPU這類高功耗的器件,所以工業(yè)設備的能效比問題也是目前的一大技術(shù)挑戰(zhàn)。
1.2 賽靈思的解決方案
賽靈思(Xilinx)的SoC產(chǎn)品由于采用了異構(gòu)的方式,包含了硬件的單元,軟件上也可以依賴于這些硬核的單元進行升級。無論是在傳統(tǒng)意義上的邏輯側(cè),還是Arm的驅(qū)動與OS,都可以支持遠程升級。
賽靈思下一代的Versal? ACAP(自適應計算加速平臺)搭載了AI引擎,使整個平臺所面向的編程語言更加靈活,支持包括C語言在內(nèi)的多種編程語言。通過ACAP,在未來去做算法的迭代更新會更加便捷。
在軟件工具方面,賽靈思發(fā)布了Vitis統(tǒng)一軟件平臺,將Edge(邊緣)端和云端進行了整合。Vitis可以在眾多應用程序中啟用高度優(yōu)化的特定領(lǐng)域加速器,從Amazon AWS的云數(shù)據(jù)中心部署到執(zhí)行復雜任務的機器學習和智能邊緣設備,都可以使用Vitis。
萬物互聯(lián)時代對于數(shù)據(jù)傳輸有著更高的要求,在這個領(lǐng)域,賽靈思做了很多的參考案例,包括與AWS的IoT的合作實例。通過結(jié)合電機控制,將電機控制的數(shù)據(jù)與AWS的云進行互聯(lián),將云端的數(shù)據(jù)下發(fā),同時進行數(shù)據(jù)加速。在安全方面還做了與云端的互聯(lián)認證等。
2 FPGA用于AI的優(yōu)勢
1.1 工業(yè)AI的技術(shù)挑戰(zhàn)
Achronix目前關(guān)注的重點主要放在數(shù)據(jù)中心中的機器學習上。然而,隨著工業(yè)應用領(lǐng)域中人工智能(AI)的興起,處理將需要向邊緣遷移,以減少延遲并實現(xiàn)網(wǎng)絡流量最小化。機器學習(ML)處理的特征隨著處理向邊緣遷移而改變;通常情況下,計算更多地側(cè)重于推理,而不是訓練,盡管這并沒有將增強學習和邊緣訓練等新模式出現(xiàn)排除在外。功耗在邊緣受到更多限制,每瓦的性能通常是一種比原始性能更有用的衡量指標。
數(shù)字格式也能夠被量化以提高處理效率,其中浮點數(shù)將被優(yōu)化浮點數(shù)(例如bfloat16或塊浮點數(shù))或整數(shù)計算所取代。此外,數(shù)據(jù)中心里的訓練和推理可以依靠巨大批量處理來提高計算效率;對更少聚合流量和邊緣推理的更低延遲的需要可以縮小處理批量的規(guī)模,直到理想的一個大小。這種情況不太適用于某些類型的處理器結(jié)構(gòu),而更好的應對方案是采用優(yōu)化的處理單元陣列或可重新編程邏輯。此外,為具有大量權(quán)重應用的網(wǎng)絡提供支持這一需求驅(qū)動了對片內(nèi)/片外存儲器的層次結(jié)構(gòu)和對高速片外存儲器(GDDR6或HBM2)的需求。
邊緣處理的另一個特點是,因為接近大量的傳感器而推動了接口無處不在。不僅需要諸如CAN、PCIe、JESD204等多種接口,而且這些接口可以根據(jù)應用或產(chǎn)品的類別進行更改。此外,多個數(shù)據(jù)流需要被組合和操作,以便能夠去適應處理需求。這些數(shù)據(jù)包提取、傳感器融合和位操作任務非常適合FPGA可以按位和按字節(jié)處理的靈活路由架構(gòu)。此外,當需要一個新的傳感器接口或應用發(fā)生變化時,就可以編譯一個新的FPGA布局并將其下載到設備上以支持新需求,從而提供一個無縫的升級路徑。
2.2 Achronix的解決方案
盡管FPGA可以用于通用加速,但仍可以調(diào)整其架構(gòu)以最大限度地提高性能,同時降低成本和功耗;這也正是Achronix在其獨立Speedster7t FPGA器件以及Speedcore嵌入式FPGA中都在做的。Speedster7t可被用于多樣化的部署中來實現(xiàn)數(shù)據(jù)加速,包括Achronix最近宣布的與BittWare合作開發(fā)的PCIe加速卡。Speedcore嵌入式FPGA可以被集成在一個機器學習(ML)系統(tǒng)級芯片(SoC)中,并且通常在將數(shù)據(jù)饋送到專用的矩陣處理引擎之前就實現(xiàn)靈活的輸入輸出(I/O)、數(shù)據(jù)提取、傳感器融合和預處理任務。
Achronix在3個關(guān)鍵領(lǐng)域進行了創(chuàng)新,提高了機器學習的性能。
1)需要將大量數(shù)據(jù)傳送到芯片上:高性能接口。
2)需要在芯片內(nèi)移動數(shù)據(jù):高效的數(shù)據(jù)轉(zhuǎn)移。
3)需要以有限的成本和功耗去處理數(shù)據(jù):高效計算。
本文來源于科技期刊《電子產(chǎn)品世界》2019年第12期第13頁,歡迎您寫論文時引用,并注明出處。
評論