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