掌控人工智能的力量:使用萊迪思sensAI快速上手
人工智能(AI)如今無(wú)處不在。這項革命性科技正逐漸滲透到更多領(lǐng)域,影響范圍之廣將遠超出你的想象。不管從事什么業(yè)務(wù),每家公司似乎都或多或少與AI產(chǎn)生聯(lián)系。尤其是如今人們想方設法將AI運用到自動(dòng)駕駛汽車(chē)、物聯(lián)網(wǎng)(IoT)、網(wǎng)絡(luò )安全、醫療等諸多領(lǐng)域。企業(yè)領(lǐng)導者應當深刻了解如何將AI運用到他們的產(chǎn)品之中,如果率先采用AI獲得成功,遲遲未行動(dòng)的后來(lái)者將會(huì )陷入困境。
然而AI應用種類(lèi)各異,各有千秋。不同的應用領(lǐng)域要求的AI技術(shù)也不盡相同。目前最受關(guān)注的應用類(lèi)別當屬嵌入式視覺(jué)。這一領(lǐng)域的AI使用所謂的卷積神經(jīng)網(wǎng)絡(luò )(CNN),試圖模擬人眼的運作方式。在這 篇AI白皮書(shū)中,我們主要關(guān)注視覺(jué)應用,當然其中許多概念也適用于其他應用。
目錄
第一節| 網(wǎng)絡(luò )邊緣AI的要求3
第二節| 推理引擎的選擇5
第三節| 在萊迪思FPGA中構建推理引擎7
第四節| 在萊迪思FPGA上構建推理模型8
第五節| 兩個(gè)檢測實(shí)例10
第六節| 小 結13
網(wǎng)絡(luò )邊緣AI的要求
AI涉及創(chuàng )造一個(gè)工作流程的訓練模型。然后該模型在某個(gè)應用中對現實(shí)世界的情況進(jìn)行推理。因此,AI應用有兩個(gè)主要的生命階段:訓練和推理。
訓練是在開(kāi)發(fā)過(guò)程中完成的,通常在云端進(jìn)行。推理作為一項持續進(jìn)行的活動(dòng),則是通過(guò)部署的設備完 成。因為推理涉及的計算問(wèn)題會(huì )非常復雜,目前大部分都是在云端進(jìn)行。但是做決策的時(shí)間通常都十分有限。向云端傳輸數據然后等待云端做出決策非常耗時(shí)。等到做出決策,可能為時(shí)已晚。而在本地做決策則能節省那寶貴的幾秒鐘時(shí)間。
這種實(shí)時(shí)控制的需求適用于需要快速做出決策的諸多領(lǐng)域。例如人員偵測:
其他實(shí)時(shí)在線(xiàn)的應用包括:
在快速決策這種需求的推動(dòng)下,目前將推理過(guò)程從云端轉移到“網(wǎng)絡(luò )邊緣”的訴求異常強烈——即在設備上收集數據然后根據AI決策采取行動(dòng)。這將解決云端不可避免的延遲問(wèn)題。
本地推理還有兩個(gè)好處。第一個(gè)就是隱私安全。數據從云端來(lái)回傳輸,以及儲存在云端,容易被入侵和盜取。但如果數據從未到達設備以外的地方,出現問(wèn)題的幾率就小得多。
另一個(gè)好處與網(wǎng)絡(luò )帶寬有關(guān)。將視頻傳送到云端進(jìn)行實(shí)時(shí)處理會(huì )占用大量的帶寬。而在本地做決策則能省下這部分帶寬用于其他要求較高的任務(wù)。
此外:
o 這類(lèi)設備通常都是使用電池供電——或者,如果是電源直接供電,兩者都有散熱限制,從而給設備的持續使用造成限制。而與云端通信的設備需要管理自身的功耗的散熱問(wèn)題。
o AI模型演化速度極快。在訓練始末,模型的大小會(huì )有極大差異,并且在進(jìn)入開(kāi)發(fā)階段以前,可能無(wú)法很好地估算所需計算平臺的大小。此外,訓練過(guò)程發(fā)生的細微改變就會(huì )對整個(gè)模型造成重大影響,增加了變數。所有這些使得網(wǎng)絡(luò )邊緣設備硬件大小的估計變得尤為困難。
o 在為特定設備優(yōu)化模型的過(guò)程中,始終伴隨著(zhù)權衡。 這意味著(zhù)模型在不同的設備中可能以不同的方式運行。
o 最后,網(wǎng)絡(luò )邊緣中的設備通常非常小。這就限制了所有AI推理設備的大小。
由此我們總結出以下關(guān)于網(wǎng)絡(luò )邊緣推理的幾點(diǎn)重要要求:
用于網(wǎng)絡(luò )邊緣AI推理的引擎必須:
? 功耗低
? 非常靈活
? 拓展性強
? 尺寸小
萊迪思的sensAI能讓你開(kāi)發(fā)出完全具備以上四個(gè)特征的推理引擎。它包含了硬件平臺、軟IP、神經(jīng)網(wǎng)絡(luò )編譯器、開(kāi)發(fā)模塊和開(kāi)發(fā)資源,能夠助您迅速開(kāi)發(fā)理想中的設計。
推理引擎的選擇
將推理引擎構建到網(wǎng)絡(luò )邊緣設備中涉及兩個(gè)方面:開(kāi)發(fā)承載模型運行的硬件平臺以及開(kāi)發(fā)模型本身。
理論上來(lái)說(shuō),模型可以在許多不同的架構上運行。但若要在網(wǎng)絡(luò )邊緣,尤其是在實(shí)時(shí)在線(xiàn)的應用中運行模型,選擇就變少了,因為要考慮到之前提到的功耗、靈活性和擴展性等要求。
? MCU - 設計AI模型的最常見(jiàn)做法就是使用處理器,可能是GPU或者DSP,也有可能是微控制器。但是網(wǎng)絡(luò )邊緣設備上的處理器可能就連實(shí)現簡(jiǎn)單的模型也無(wú)法處理。這樣的設備可能只有低端的微控制器
(MCU)。而使用較大的處理器可能會(huì )違反設備的功耗和成本要求,因此對于此類(lèi)設備而言,AI似乎難以實(shí)現。
這正是低功耗FPGA發(fā)揮作用的地方。與增強處理器來(lái)處理算法的方式不同,萊迪思的ECP5或UltraPlus FPGA可以作為MCU的協(xié)處理器,處理MCU無(wú)法解決的復雜任務(wù)之余,將功耗保持在要求范圍內。由于這些萊迪思FPGA能夠實(shí)現DSP,它們可以提供低端MCU不具備的計算能力。
圖1:FPGA作為MCU的協(xié)處理器
? ASICS和ASSP - 對于更為成熟、大批量銷(xiāo)售的AI模型而言,采用ASIC或特定應用標準產(chǎn)品(ASSP)或許是可行之道。但是由于工作負載較大,它們在實(shí)時(shí)在線(xiàn)的應用中的功耗太大。
在此情況下,Lattice FPGA可以充當協(xié)處理器,處理包括喚醒關(guān)鍵字的喚醒活動(dòng)或粗略識別某些視頻圖像(如識別與人形相似的物體),然后才喚醒ASIC或ASSP,識別更多語(yǔ)音或者確定視頻中的目標確實(shí)是一個(gè)人(或甚至可以識別特定的人)。
FPGA處理實(shí)時(shí)在線(xiàn)的部分,這部分的功耗至關(guān)重要。然而并非所有的FPGA都能勝任這一角色,因為絕大多數FPGA功耗仍然太高,而萊迪思ECP5和UltraPlus FPGA則擁有必要的低功耗特性。
圖2 FPGA作為ASIC/ASSP的協(xié)處理器
? 單獨運行的FPGA AI引擎 - 最后,低功耗FPGA可以作為單獨運行的、完整的AI引擎。FPGA中的DSP在這里起了關(guān)鍵作用。即便網(wǎng)絡(luò )邊緣設備沒(méi)有其他的計算資源,也可以在不超出功耗、成本或電路板尺寸預算的情況下添加AI功能。此外它們還擁有支持快速演進(jìn)算法所需的靈活性和可擴展性。
圖3 單獨使用FPGA的整合解決方案
評論