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