摘要
低成本、高性能的網(wǎng)絡(luò)邊緣解決方案的市場(chǎng)競(jìng)爭(zhēng)日益激烈。領(lǐng)先的市場(chǎng)研究公司預(yù)測(cè),在未來(lái)六年內(nèi),網(wǎng)絡(luò)邊緣解決方案市場(chǎng)將迎來(lái)大爆發(fā)。IHS預(yù)計(jì)到2025年,將有超過(guò)400億臺(tái)設(shè)備在網(wǎng)絡(luò)邊緣運(yùn)行,而市場(chǎng)情報(bào)機(jī)構(gòu)Tractica預(yù)測(cè),屆時(shí)每年將出貨超過(guò)25億臺(tái)網(wǎng)絡(luò)邊緣設(shè)備。
隨著新一代網(wǎng)絡(luò)邊緣應(yīng)用的出現(xiàn),設(shè)計(jì)人員越來(lái)越傾向于開(kāi)發(fā)結(jié)合低功耗和小尺寸而不降低性能的解決方案。推動(dòng)這些新的AI解決方案的是越來(lái)越多的網(wǎng)絡(luò)邊緣應(yīng)用,例如家庭控制中智能門(mén)鈴和安全攝像頭的存在檢測(cè),零售應(yīng)用中用于庫(kù)存的對(duì)象計(jì)數(shù),以及工業(yè)應(yīng)用中的物體和存在檢測(cè)。一方面,市場(chǎng)要求設(shè)計(jì)人員開(kāi)發(fā)出性能比以往更高的解決方案。另一方面,延遲、帶寬、隱私、功耗和成本問(wèn)題限制了他們依賴云的計(jì)算資源來(lái)執(zhí)行分析。
同時(shí),性能、功耗和成本限制因應(yīng)用而異。隨著實(shí)時(shí)在線網(wǎng)絡(luò)邊緣應(yīng)用的數(shù)據(jù)需求不斷推動(dòng)對(duì)基于云的服務(wù)的需求,設(shè)計(jì)人員必須解決傳統(tǒng)的功耗、電路板面積和成本問(wèn)題。開(kāi)發(fā)人員如何解決系統(tǒng)對(duì)于日益嚴(yán)格的功耗(毫瓦級(jí))和小尺寸(5 mm2到100 mm2)要求。單論各種性能要求就已經(jīng)很難滿足。
利用FPGA的優(yōu)勢(shì)
萊迪思的FPGA具有獨(dú)特的優(yōu)勢(shì),可以滿足網(wǎng)絡(luò)邊緣設(shè)備快速變化的市場(chǎng)需求。設(shè)計(jì)人員可以在不依賴云端的情況下,快速為網(wǎng)絡(luò)邊緣設(shè)備提供更多計(jì)算資源的其中一個(gè)方法是使用FPGA中本身的并行處理能力來(lái)加速神經(jīng)網(wǎng)絡(luò)性能。此外,通過(guò)使用針對(duì)低功耗運(yùn)行而優(yōu)化的低密度、小尺寸封裝FPGA,設(shè)計(jì)人員可以滿足新的消費(fèi)和工業(yè)應(yīng)用對(duì)功耗和尺寸的嚴(yán)格限制。例如,萊迪思的iCE40 UltraPlus?和ECP5?產(chǎn)品系列支持網(wǎng)絡(luò)邊緣解決方案的開(kāi)發(fā),功耗低至1 mW到1 W,硬件平臺(tái)尺寸小至5.5 mm2到100 mm2。通過(guò)將超低功耗、高性能和高精度與全面的傳統(tǒng)接口支持相結(jié)合,這些FPGA為網(wǎng)絡(luò)邊緣設(shè)備開(kāi)發(fā)人員提供了滿足不斷變化的設(shè)計(jì)要求所需的靈活性。
圖1:萊迪思半導(dǎo)體的低功耗、小尺寸FPGA提供適當(dāng)?shù)男阅芎凸δ芙M合,支持網(wǎng)絡(luò)邊緣人工智能應(yīng)用
為了滿足這一需求并加速開(kāi)發(fā),萊迪思推出了業(yè)界第一款技術(shù)集合sensAI?,為設(shè)計(jì)人員提供了開(kāi)發(fā)智能家居、智能工廠、智能城市和智能汽車(chē)中低功耗、高性能網(wǎng)絡(luò)邊緣設(shè)備所需的所有工具。sensAI旨在滿足支持AI的網(wǎng)絡(luò)邊緣設(shè)備不斷增長(zhǎng)的需求,提供全面的硬件和軟件解決方案,用于在網(wǎng)絡(luò)邊緣運(yùn)行的智能設(shè)備中實(shí)現(xiàn)低功耗、實(shí)時(shí)在線的AI功能。它于2018年推出,旨在無(wú)縫創(chuàng)建新設(shè)計(jì)或更新現(xiàn)有設(shè)計(jì),其低功耗AI推理針對(duì)這些新應(yīng)用要求進(jìn)行了優(yōu)化。
這個(gè)綜合設(shè)計(jì)生態(tài)系統(tǒng)中有什么?首先,萊迪思的模塊化硬件平臺(tái),如帶有HM01B0 Shield開(kāi)發(fā)板的iCE40 UPduino 2.0和基于ECP5的嵌入式視覺(jué)開(kāi)發(fā)套件(EVDK),為應(yīng)用開(kāi)發(fā)提供了堅(jiān)實(shí)的基礎(chǔ)。UPduino可用于僅需幾毫瓦的AI設(shè)計(jì),而EVDK支持需要更高功耗但通常工作在1W以下的應(yīng)用。
軟IP可以很容易地實(shí)例化到FPGA中,以加速神經(jīng)網(wǎng)絡(luò)的開(kāi)發(fā)。因此,sensAI開(kāi)發(fā)包包括CNN加速器IP, 能讓設(shè)計(jì)人員在iCE40 UltraPlus FPGA中實(shí)現(xiàn)深度學(xué)習(xí)應(yīng)用。sensAI還提供完整的CNN可設(shè)置參數(shù)的加速器IP核,可以在萊迪思的ECP5 FPGA中實(shí)現(xiàn)。這些IP支持可變量化。這反過(guò)來(lái)又使設(shè)計(jì)人員能夠在數(shù)據(jù)準(zhǔn)確性和功耗之間進(jìn)行權(quán)衡。
Lattice的sensAI技術(shù)集合允許設(shè)計(jì)人員通過(guò)易于使用的工具流程探索設(shè)計(jì)選項(xiàng)和權(quán)衡。設(shè)計(jì)人員可以使用Caffe、TensorFlow和Keras等行業(yè)標(biāo)準(zhǔn)框架進(jìn)行網(wǎng)絡(luò)訓(xùn)練。開(kāi)發(fā)環(huán)境還提供神經(jīng)網(wǎng)絡(luò)編譯器,將訓(xùn)練的網(wǎng)絡(luò)模型映射為固定點(diǎn)表示,支持權(quán)重和激活的可變量化。設(shè)計(jì)人員可以使用編譯器來(lái)幫助分析、仿真和編譯不同類型的網(wǎng)絡(luò),以便在沒(méi)有RTL經(jīng)驗(yàn)的情況下在萊迪思的加速器IP核上實(shí)現(xiàn)。然后,設(shè)計(jì)人員可以使用傳統(tǒng)的FPGA設(shè)計(jì)工具,如Lattice Radiant和Diamond來(lái)實(shí)現(xiàn)整個(gè)FPGA設(shè)計(jì)。
為加快設(shè)計(jì)實(shí)現(xiàn),sensAI提供了越來(lái)越多的參考設(shè)計(jì)和演示。包括面部識(shí)別、手勢(shì)檢測(cè)、關(guān)鍵詞檢測(cè)、人員存在檢測(cè)、面部跟蹤、對(duì)象計(jì)數(shù)和速度標(biāo)志檢測(cè)。最后,設(shè)計(jì)團(tuán)隊(duì)通常需要一定的專業(yè)知識(shí)才能完成設(shè)計(jì)。為滿足這一需求,萊迪思與全球各地的眾多設(shè)計(jì)服務(wù)合作伙伴建立了合作關(guān)系,以便為AI / ML專業(yè)知識(shí)不足的客戶提供支持。
圖2:Lattice senseAI是一整套硬件和軟件解決方案,適用于網(wǎng)絡(luò)邊緣人工智能應(yīng)用的開(kāi)發(fā)
主要更新
為了滿足網(wǎng)絡(luò)邊緣AI快速增長(zhǎng)的性能要求,萊迪思在2019年發(fā)布sensAI更新,增強(qiáng)了其性能并優(yōu)化了設(shè)計(jì)流程。更新后的sensAI比上一版本的性能提升了10倍,這是由多個(gè)優(yōu)化促成的,包括通過(guò)更新CNN IP 和神經(jīng)網(wǎng)絡(luò)編譯器,新增8位激活量化、智能層合并以及雙DSP引擎等特性,優(yōu)化了存儲(chǔ)器的訪問(wèn)。
在最新版本中,由于更新了神經(jīng)網(wǎng)絡(luò)編譯器,支持8位輸入數(shù)據(jù),存儲(chǔ)器訪問(wèn)序列得到大幅優(yōu)化。因此不僅外部存儲(chǔ)器的訪問(wèn)減少了一半,還支持使用更高分辨率的圖像作為數(shù)據(jù)輸入。使用更高分辨率的圖像, 解決方案自然更為精確。
為進(jìn)一步加速性能,萊迪思優(yōu)化了sensAI神經(jīng)網(wǎng)絡(luò)中的卷積層,減少了卷積計(jì)算耗費(fèi)的時(shí)間。萊迪思將器件中的卷積引擎數(shù)量翻倍,減少了約50%的卷積時(shí)間。
萊迪思在不增加功耗的情況下提升了sensAI的性能,設(shè)計(jì)人員因此可以選擇ECP5 FPGA產(chǎn)品系列中門(mén)數(shù)較少的器件。經(jīng)優(yōu)化的演示示例可以幫助實(shí)現(xiàn)性能提升。例如,針對(duì)低功耗運(yùn)行進(jìn)行優(yōu)化、采用CMOS圖像傳感器的人員偵測(cè)演示,通過(guò)VGG8網(wǎng)絡(luò)提供64 x 64 x 3的分辨率。該系統(tǒng)以每秒5幀的速率運(yùn)行,使用iCE40 UltraPlus FPGA功耗僅為7 mW。第二個(gè)性能經(jīng)優(yōu)化的演示,針對(duì)人員計(jì)數(shù)應(yīng)用,同樣也使用CMOS圖像傳感器,通過(guò)VGG8網(wǎng)絡(luò)提供128 x 128 x 3的分辨率。該演示以每秒30幀的速率運(yùn)行,使用ECP5-85K FPGA功耗為850 mW。
圖3:這些參考設(shè)計(jì)展示了sensAI提供的功耗與性能可選方案
與此同時(shí),sensAI給用戶帶來(lái)無(wú)縫的設(shè)計(jì)體驗(yàn),它支持更多神經(jīng)網(wǎng)絡(luò)模型和機(jī)器學(xué)習(xí)框架,從而縮短設(shè) 計(jì)周期。全新可定制化的參考設(shè)計(jì)可簡(jiǎn)化對(duì)象計(jì)數(shù)和存在檢測(cè)等常見(jiàn)的網(wǎng)絡(luò)邊緣解決方案的開(kāi)發(fā),同時(shí)設(shè)計(jì)合作伙伴生態(tài)也在不斷拓展,為用戶提供重要的設(shè)計(jì)服務(wù)。有了這些,萊迪思能為開(kāi)發(fā)人員提供他們復(fù)制或調(diào)整其設(shè)計(jì)所需的全部關(guān)鍵工具。例如,下列框圖展示了萊迪思提供的一系列全面的組件,包括訓(xùn)練模型、訓(xùn)練數(shù)據(jù)集、訓(xùn)練腳本、經(jīng)過(guò)更新的神經(jīng)網(wǎng)絡(luò)IP和神經(jīng)網(wǎng)絡(luò)編譯器。
圖4: sensAI的設(shè)計(jì)流程包括了行業(yè)領(lǐng)先的機(jī)器學(xué)習(xí)框架、訓(xùn)練數(shù)據(jù)和腳本、神經(jīng)網(wǎng)絡(luò)IP等設(shè)計(jì)和訓(xùn)練網(wǎng)絡(luò)邊緣AI設(shè)備必需的資源
萊迪思還拓展了對(duì)機(jī)器學(xué)習(xí)框架的支持,致力于提供無(wú)縫的用戶體驗(yàn)。最初版本的sensAI支持Caffe和TensorFlow,最新版本新增支持Keras,這是用Python編寫(xiě)的開(kāi)源神經(jīng)網(wǎng)絡(luò),可在TensorFlow、Microsoft Cognition Toolkit或Theano上運(yùn)行。Keras旨在幫助工程師快速實(shí)現(xiàn)深度神經(jīng)網(wǎng)絡(luò),它可以提供用戶友好、模塊化和可拓展的環(huán)境,加速原型設(shè)計(jì)。Keras最初被當(dāng)做一種接口而非獨(dú)立的機(jī)器學(xué)習(xí)框架,它的高度抽象性能讓開(kāi)發(fā)人員加速開(kāi)發(fā)深度學(xué)習(xí)模型。
為進(jìn)一步簡(jiǎn)化使用,萊迪思更新了sensAI神經(jīng)網(wǎng)絡(luò)編譯器工具,它可以在機(jī)器學(xué)習(xí)模型轉(zhuǎn)換為固件文件時(shí)自動(dòng)選擇最精確的分?jǐn)?shù)位數(shù)。sensAI更新還新增了一個(gè)硬件調(diào)試工具,讓用戶可以在神經(jīng)網(wǎng)絡(luò)每個(gè)層進(jìn)行讀取和寫(xiě)入。進(jìn)行軟件仿真之后,工程師也需要知道他們的網(wǎng)絡(luò)在實(shí)際硬件上的表現(xiàn)。使用此工具,工程師可以在短短幾分鐘內(nèi)看到硬件運(yùn)行的結(jié)果。
此外,最新版本的sensAI得到了越來(lái)越多公司的支持,他們?yōu)槿R迪思提供專為低功耗、實(shí)時(shí)在線的網(wǎng)絡(luò)邊緣設(shè)備而優(yōu)化的設(shè)計(jì)服務(wù)和產(chǎn)品開(kāi)發(fā)技能。這些公司通過(guò)無(wú)縫更新現(xiàn)有設(shè)計(jì)或針對(duì)特定應(yīng)用開(kāi)發(fā)完整的解決方案來(lái)幫助客戶構(gòu)建網(wǎng)絡(luò)邊緣AI設(shè)備。
sensAI設(shè)計(jì)案例
萊迪思這一更高性能的全新解決方案可用于下列四種不同的加速器設(shè)計(jì)案例。在第一個(gè)設(shè)計(jì)案例中(圖5),設(shè)計(jì)工程師使用sensAI來(lái)構(gòu)建獨(dú)立運(yùn)行模式的解決方案。這種系統(tǒng)架構(gòu)能讓設(shè)計(jì)工程師在萊迪思iCE40 UltraPlus或ECP5 FPGA上開(kāi)發(fā)出實(shí)時(shí)在線的集成解決方案,具有延遲低、安全性高的特點(diǎn),其中FPGA資源可用于系統(tǒng)控制。典型的一種應(yīng)用就是使用獨(dú)立運(yùn)行的傳感器實(shí)現(xiàn)人員偵測(cè)和計(jì)數(shù)。
圖5:將sensAI作為獨(dú)立運(yùn)行的網(wǎng)絡(luò)邊緣AI處理解決方案
設(shè)計(jì)人員還使用sensAI開(kāi)發(fā)兩種不同類型的預(yù)處理解決方案。第一種情況下(圖6),設(shè)計(jì)人員采用了萊迪思sensAI以及一片低功耗的iCE40 UltraPlus FPGA對(duì)傳感器數(shù)據(jù)進(jìn)行預(yù)處理,從而最大程度地降低了向SoC或云端傳輸數(shù)據(jù)進(jìn)行分析的成本。例如,如果是用在智能門(mén)鈴上,sensAI會(huì)初步讀取來(lái)自圖像傳感器的數(shù)據(jù)。如果判斷為不是人,比如說(shuō)是一只貓,那么系統(tǒng)就不會(huì)喚醒SoC或連接到云端作進(jìn)一步處理。因此,這種方法可以最大程度降低數(shù)據(jù)傳輸成本和功耗。如果預(yù)處理系統(tǒng)判斷門(mén)口的對(duì)象是人,則喚醒SoC 作進(jìn)一步處理。這能極大減少系統(tǒng)需要處理的數(shù)據(jù)量,同時(shí)降低功耗要求,這對(duì)于實(shí)時(shí)在線的網(wǎng)絡(luò)邊緣應(yīng)用來(lái)說(shuō)至關(guān)重要。
圖6:在此案例中,sensAI會(huì)預(yù)處理傳感器數(shù)據(jù)來(lái)判斷該數(shù)據(jù)是否需要發(fā)送到SoC作進(jìn)一步處理
在第二個(gè)預(yù)處理應(yīng)用中,設(shè)計(jì)人員可以使用ECP5 FPGA實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)加速(圖7)。在此案例中,設(shè)計(jì)人員利用ECP5 IO的靈活性將各類現(xiàn)有的板載器件(如傳感器)連接到低端MCU,實(shí)現(xiàn)高度靈活的系統(tǒng)控制。
圖7:第二個(gè)系統(tǒng)架構(gòu)也采用了預(yù)處理,設(shè)計(jì)人員可以使用ECP5和sensAI預(yù)處理傳感器數(shù)據(jù),加強(qiáng)神經(jīng)網(wǎng)絡(luò)的綜合性能
設(shè)計(jì)人員還可以在后處理系統(tǒng)中使用sensAI加速器(圖8)。越來(lái)越多的設(shè)計(jì)案例表明,很多公司雖然已經(jīng)開(kāi)發(fā)出經(jīng)過(guò)驗(yàn)證、基于MCU的解決方案,但是他們希望在不更換組件或重新設(shè)計(jì)的情況下新增某種AI功能。但是在某些情況下,他們的MCU性能相對(duì)不足。典型的例子就是智能工業(yè)或智能家庭應(yīng)用,在進(jìn)行分析之前需要圖像濾波。設(shè)計(jì)人員可以在這里添加另一個(gè)MCU,然后經(jīng)歷耗時(shí)的設(shè)計(jì)驗(yàn)證過(guò)程,或者也可以在MCU和數(shù)據(jù)中心之間添加加速器進(jìn)行后處理,最大限度地減少發(fā)送到云端的數(shù)據(jù)量。這種方法對(duì)想要添加AI功能的物聯(lián)網(wǎng)設(shè)備開(kāi)發(fā)人員尤其有吸引力。
圖8:通過(guò)sensAI增強(qiáng)該基于MCU的設(shè)計(jì),讓現(xiàn)有的設(shè)計(jì)支持網(wǎng)絡(luò)邊緣AI功能
結(jié)論
顯然,未來(lái)幾年將是實(shí)時(shí)在線的網(wǎng)絡(luò)邊緣智能設(shè)備這一市場(chǎng)發(fā)展的關(guān)鍵時(shí)期。由于應(yīng)用變得越來(lái)越復(fù)
雜,設(shè)計(jì)人員將急需能夠以低功耗支持更高性能的工具。萊迪思最新版本的sensAI技術(shù)配合ECP5和iCE40 UltraPlus FPGA,將為設(shè)計(jì)人員提供硬件平臺(tái)、IP、軟件工具、參考設(shè)計(jì)和設(shè)計(jì)服務(wù),幫助他們戰(zhàn)勝競(jìng)爭(zhēng)對(duì)手,快速開(kāi)發(fā)出成功的解決方案。