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