24小時(shí)聯(lián)系電話:18217114652、13661815404
中文
技術(shù)專題
針對(duì)嵌入式應(yīng)用優(yōu)化AI
基于AI的界面的需求-并且添加像face-id這樣的基于AI的界面來(lái)授權(quán)對(duì)機(jī)器的訪問(wèn)乍看起來(lái)似乎是一個(gè)巨大的飛躍,但這并沒(méi)有就像您想的那樣困難。有大量可用的AI平臺(tái),大量的培訓(xùn)選項(xiàng)甚至是開(kāi)源應(yīng)用程序,例如face-id example。使用可以在PC上運(yùn)行的原型,您可以快速啟動(dòng)并進(jìn)行測(cè)試。
約束條件
將訓(xùn)練有素的網(wǎng)絡(luò)遷移到嵌入式應(yīng)用程序似乎是另一個(gè)巨大的障礙。受PC或云訓(xùn)練的網(wǎng)絡(luò)在內(nèi)存使用或功耗方面沒(méi)有進(jìn)行太多優(yōu)化。他們可能會(huì)使用浮點(diǎn)數(shù)或雙字進(jìn)行網(wǎng)絡(luò)計(jì)算,并且在處理圖像上的滑動(dòng)窗口時(shí)會(huì)嚴(yán)重依賴片外內(nèi)存訪問(wèn)。對(duì)于在插入墻壁電源的高性能PC上運(yùn)行的原型而言,這不是要擔(dān)心的問(wèn)題,但是您需要在最終應(yīng)用程序中更加節(jié)儉,并且不影響性能。
優(yōu)化的要點(diǎn)
優(yōu)化的一個(gè)關(guān)鍵步驟稱為量化。將權(quán)重從浮點(diǎn)切換到固定點(diǎn)并減小固定點(diǎn)大?。ɡ?,從32位浮點(diǎn)更改為8位整數(shù))不僅會(huì)影響權(quán)重的大小,還會(huì)影響中間計(jì)算值。僅此一項(xiàng)就可以顯著減少內(nèi)存占用,在大多數(shù)情況下,對(duì)識(shí)別質(zhì)量的影響很小。
第二種操作是在最小的精度影響下利用權(quán)重的稀疏性。這種做法將利用權(quán)重接近零的優(yōu)勢(shì),并將其舍入為零,同時(shí)密切關(guān)注準(zhǔn)確性的影響。權(quán)重用于乘以部分和,當(dāng)因素之一為零時(shí),這是無(wú)意義的練習(xí),因此無(wú)需執(zhí)行該運(yùn)算。
在實(shí)際的實(shí)現(xiàn)中,圖像是增量處理的,因此當(dāng)計(jì)算窗口在圖像上移動(dòng)時(shí),權(quán)重必須更新。那會(huì)帶來(lái)很多更新和大量流量。通過(guò)將大部分權(quán)重強(qiáng)制為零,可以壓縮權(quán)重?cái)?shù)組,從而可以將所有或大部分?jǐn)?shù)組存儲(chǔ)在片上SRAM中,以根據(jù)需要進(jìn)行解壓縮。從而最大程度地減少了訪問(wèn)主存儲(chǔ)器的需求,從而提高了性能并降低了功耗。加載砝碼時(shí),它還附帶減少了片上流量。較少的流量爭(zhēng)用意味著較高的吞吐量。
應(yīng)該考慮另外一個(gè)因素。像大多數(shù)復(fù)雜的應(yīng)用程序一樣,神經(jīng)網(wǎng)絡(luò)依賴于復(fù)雜的庫(kù)。您需要使用一個(gè)設(shè)計(jì)用于微控制器環(huán)境的庫(kù),并將其編譯到您選擇的平臺(tái)。一個(gè)很好的起點(diǎn)可能是一個(gè)開(kāi)源庫(kù),例如TensorFlow Lite,但是為了充分利用微控制器,將需要專用的定制解決方案。
當(dāng)然,知道您必須做什么并不容易?,F(xiàn)在,您需要找到一個(gè)平臺(tái),以簡(jiǎn)化這些操作并提供硬件優(yōu)化的庫(kù)。
如何使它易于使用?
您需要的是一個(gè)流程,您可以在特定平臺(tái)(例如TensorFlow)上使用經(jīng)過(guò)培訓(xùn)的網(wǎng)絡(luò),并將其直接編譯到嵌入式解決方案中,而無(wú)需輸入一些基本要求。當(dāng)然,您還希望該選項(xiàng)能夠進(jìn)一步手動(dòng)優(yōu)化,也許在不同平面中設(shè)置不同的量化級(jí)別。也許嘗試權(quán)重閾值與片上存儲(chǔ)器大小的比較。并且您想要針對(duì)硬件進(jìn)行優(yōu)化的庫(kù)以及針對(duì)庫(kù)進(jìn)行優(yōu)化的硬件。
經(jīng)過(guò)驗(yàn)證的AI平臺(tái)(如CEVA的CDNN)旨在提供這種類型的流程。CDNN提供了用于量化和運(yùn)行時(shí)任務(wù)生成的離線處理器工具集,以及為CEVA DSP和客戶用戶的硬件加速器量身定制的運(yùn)行時(shí)庫(kù)。CEVA的解決方案支持所有流行的AI模型格式,包括TensorFlow Lite,ONNX,Caffe等。