在我之前的博客中,我談到了對(duì)基于 AI 的界面的需求如何變得幾乎不可避免——并且添加一個(gè)基于 AI 的界面(如 face-id)來(lái)授權(quán)對(duì)機(jī)器的訪問(wèn),乍一看似乎是一個(gè)巨大的飛躍,但實(shí)際上并非如此有你想象的那么困難。有大量可用的 AI 平臺(tái)、大量培訓(xùn)選項(xiàng)甚至開源應(yīng)用程序,例如face-id 示例。您可以使用可以在 PC 上運(yùn)行的原型快速啟動(dòng)和測(cè)試。
約束
將訓(xùn)練有素的網(wǎng)絡(luò)遷移到您的嵌入式應(yīng)用程序似乎是另一個(gè)巨大的障礙。PC 或云訓(xùn)練的網(wǎng)絡(luò)并沒(méi)有針對(duì)內(nè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)行的原型來(lái)說(shuō),這不是問(wèn)題,但您需要在最終應(yīng)用程序中更加節(jié)儉,同時(shí)不影響性能。
優(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ì)量幾乎沒(méi)有明顯影響。
第二個(gè)操作是利用權(quán)重的稀疏性,對(duì)準(zhǔn)確性的影響最小。這種做法將利用接近零的權(quán)重,并將它們四舍五入為零,同時(shí)密切跟蹤準(zhǔn)確性影響。權(quán)重用于乘以部分和,當(dāng)其中一個(gè)因素為零時(shí),這是沒(méi)有意義的練習(xí),因此無(wú)需執(zhí)行操作。
在實(shí)際實(shí)現(xiàn)中,圖像是增量處理的,因此當(dāng)計(jì)算窗口在圖像上移動(dòng)時(shí)必須更新權(quán)重。這可以帶來(lái)很多更新和大量流量。通過(guò)強(qiáng)制大部分權(quán)重為零,可以壓縮權(quán)重?cái)?shù)組,從而可以將所有或大部分?jǐn)?shù)組存儲(chǔ)在片上 SRAM 中,以便按需解壓縮。這反過(guò)來(lái)又最大限度地減少了訪問(wèn)主存儲(chǔ)器的需要,從而提高了性能并降低了功耗。它還偶然減少了加載重量時(shí)的片上流量。更少的流量爭(zhēng)用意味著更高的吞吐量。
還應(yīng)考慮一個(gè)因素。像大多數(shù)復(fù)雜的應(yīng)用程序一樣,神經(jīng)網(wǎng)絡(luò)依賴于復(fù)雜的庫(kù)。您需要使用專為在微控制器環(huán)境中使用而設(shè)計(jì)的庫(kù),并將編譯器用于您選擇的平臺(tái)。一個(gè)好的起點(diǎn)可能是開源庫(kù),例如TensorFlow Lite,但要充分利用微控制器,就需要專門定制的解決方案。
當(dāng)然,知道你必須做什么并不容易。您現(xiàn)在需要找到一個(gè)能夠簡(jiǎn)化這些操作并提供硬件優(yōu)化庫(kù)的平臺(tái)。
我如何使它成為一個(gè)易于使用的流程?
您想要的是一個(gè)流程,您可以在其中使用您在特定平臺(tái)(例如 TensorFlow)上訓(xùn)練的網(wǎng)絡(luò),并將其直接編譯到您的嵌入式解決方案中——除了撥打一些基本要求外,無(wú)需干預(yù)。當(dāng)然,您還希望該選項(xiàng)能夠進(jìn)一步手動(dòng)優(yōu)化,可能在不同的平面上設(shè)置不同的量化級(jí)別。也許可以嘗試權(quán)重閾值與片上內(nèi)存大小。您需要針對(duì)硬件優(yōu)化的庫(kù)和針對(duì)庫(kù)優(yōu)化的硬件。
CEVA 的CDNN等經(jīng)過(guò)驗(yàn)證的 AI 平臺(tái)旨在提供這種類型的流程。CDNN 為量化和運(yùn)行時(shí)任務(wù)生成提供離線處理器工具集,以及為 CEVA DSP 和客戶用戶硬件加速器定制的運(yùn)行時(shí)庫(kù)。CEVA 的解決方案支持所有流行的 AI 模型格式,包括 TensorFlow Lite、ONNX、Caffe 等。
審核編輯 黃昊宇
-
嵌入式
+關(guān)注
關(guān)注
5046文章
18832瀏覽量
298808 -
AI
+關(guān)注
關(guān)注
87文章
28924瀏覽量
266298
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論