開發人員正在汽車、工業和消費市場的嵌入式應用中研究人工智能。其中許多在功耗和復雜性方面具有嚴格的閾值。
對于熟悉機器學習、深度學習和其他 AI 推動因素的工程師——或者就此而言,任何熟悉 Gartner 炒作周期的人來說——人工智能正處于與幻滅低谷的碰撞過程中(圖 1)。
圖 1. AI 正走向 Gartner 炒作周期的幻滅低谷。
在一項技術跌入低谷的過程中,有許多市場動態在起作用,包括聳人聽聞的營銷、令人興奮的媒體,甚至是忘記考慮商業案例的聰明設計師的過度設計概念。然而,從技術角度來看,加速人工智能失寵的因素是功耗和編程復雜性。
我之前寫過有關啟用 AI 的嵌入式系統中的處理器功耗的文章,從那時起,廣泛的現實世界人工智能用例變得更加清晰。如今,開發人員正在汽車、工業、商業和消費市場的嵌入式應用中研究人工智能,例如關鍵短語識別、面部和對象跟蹤、對象計數和交通標志檢測等等。其中許多功能不需要我當時介紹的處理器提供的每秒操作 (OPS) 性能,但在它們可以添加到整個系統設計中的功耗、尺寸和成本方面確實有嚴格的閾值。 特別關注功率,負責這些任務的計算解決方案通常需要適應 1 W(甚至低于 1 W)的封裝。這是一個重大的設計障礙,尤其是考慮到許多現成的 CPU、GPU、
降低 AI 邊緣支持的功耗
最初為一個目的而設計的技術也很適合其他目的,這是很常見的,用于深度學習工作負載的 FPGA 就是這種情況。例如, Lattice Semiconductor擁有將膠合邏輯和接口 FPGA 交付到低功耗邊緣系統的傳統,并意識到這些解決方案可以重新用于靈活的低于 1 W 的 AI 推理應用程序?,F在,這可以通過公司的sensAI 技術堆棧實現(圖 2)。
圖 2. Lattice Semiconductor sensAI 技術堆棧包括一套圍繞公司的 ICE40 UltraPlus 和 ECP5 FPGA 設計的硬件和軟件開發工具,可為邊緣機器學習應用提供低于 1 W 的功耗。
Lattice sensAI 堆?;贗CE40 UltraPlus FPGA和ECP5 FPGA,可分別創建二值化神經網絡 (BNN) 和卷積神經網絡 (CNN) 加速器(圖 3A 和 3B)。該堆棧還包括軟件開發工具、硬件開發平臺、參考設計和第三方設計中心的入口,以幫助加速大批量消費和工業機器學習系統的部署。
圖 3A。作為萊迪思半導體 sensAI 技術堆棧的一部分,ICE40 UltraPlus FPGA 經過優化,可用作二值化神經網絡 (BNN) 加速器。
圖 3B。作為萊迪思半導體 sensAI 技術堆棧的一部分,ECP5 FPGA 經過優化,可用作更強大的卷積神經網絡 (CNN) 加速器。
使用 sensAI 套件開發的基于 ECP5 的 CNN 加速器支持 1 位、8 位和 16 位分辨率,適用于更復雜的神經網絡,這些神經網絡需要每秒超過 1000 億次神經操作,且功耗低于 1 W。同時,依賴單比特量化且每秒需要少于 1000 億次神經操作的要求不高的 BNN 可以利用基于 ICE40 UltraPlus 的 sensAI 設計,功耗在 1 到 10 mW 之間(圖 4)。
圖 4. Lattice Semiconductor sensAI 平臺使用 ICE40 UltraPlus 和 ECP5 PFGA 以低于 1 W 的功率水平實現可擴展性能。
降低 FPGA/AI 開發人員的復雜性
sensAI 堆棧由Lattice Diamond和Lattice Radiant軟件開發工具套件支持,使 FPGA 設計工程師能夠快速開始使用 sensAI 堆棧。對于不熟悉 RTL 或 FPGA 編程的開發人員,sensAI 還包括一個神經網絡編譯器,該編譯器從 Caffe 或 TensorFlow 等深度學習開發框架中獲取輸出,并使用它來幫助為目標 FPGA 生成比特流。不需要先前的 RTL 經驗(圖 5A 和 5B)。
圖 5A 和 5B。Lattice Semiconductor 的 sensAI 技術堆棧中的神經網絡編譯器可幫助開發人員在沒有 RTL 經驗的情況下在 Lattice FPGA 上實現在 Caffe 或 TensorFlow 中開發的神經網絡。
sensAI 堆棧針對人臉檢測、關鍵短語識別、人臉跟蹤、對象計數和速度標志檢測等應用。然而,萊迪思認識到,在許多情況下,其 FPGA 解決方案將用于還包括更高性能處理器的系統中的預處理。
與競爭的高端架構相比,Xilinx 的UltraScale+系列等 FPGA SoC 器件因其可重配置性和低性能功耗比 (PPW) 在 AI 系統設計中廣受歡迎。盡管如此,對于不熟悉 FPGA 設計的開發人員來說,對這些設備進行編程仍然具有挑戰性,尤其是當必須將遺留代碼庫遷移到支持機器學習的 FPGA SoC 設計時。
為了縮短開發周期,Silexa最近在其 SLX 開發工具中集成了功能,可將 FPGA 的 C/C++ 代碼重構為高級綜合兼容(HLS 兼容)格式,并插入任何需要考慮硬件和軟件的 pragma對異構多核 SoC 目標的依賴。在使用 SDSoC 和 Vivado 等工具之前,自動遺留代碼分區、代碼指導和算法探索功能還有助于加快 UltraScale+ 系列等設備的代碼遷移和優化過程(圖 6)。
圖 6. Silexa 的 SLX 開發工具有助于將 C/C++ 代碼重構為高級綜合格式,并針對 Xilinx UltraScale+ SoC 等異構多核設備進行了優化。
Silexa 與理光和其他致力于工業和國防市場傳感器融合和深度學習解決方案的客戶一起開發了新的 SLX 功能。
嵌入式解決方案服務于人工智能行業
應該注意的是,在許多用例中,人工智能技術本質上都映射到物聯網架構。
如圖 7 所示,大型 AI 學習模型在數據中心(云)中開發,然后將這些模型濃縮成足夠小的引擎或算法,以便在邊緣設備上運行。邊緣設備使用這些精簡的學習算法來得出有關其周圍環境的結論(稱為推理),例如動物是貓、狗還是人,或者露點的升高是否表明風暴即將來臨。隨著時間的推移,這些推斷的結果可以聚合回數據中心,以不斷改進人工智能學習模型,從而產生更精確的學習算法等等。因此,向這個良性反饋循環提供 AI 推理的系統越多越好。
圖 7.人工智能和物聯網依賴技術合作伙伴生態系統,其中一個層面的挑戰可能會破壞整個堆棧。
為什么這很重要?因為它使 AI 的力量和編程成為每個人的問題。
審核編輯:郭婷
評論