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