大发888游戏平台下载-博客市网站-亚洲太阳开户送98元-正规皇冠投注网

科研動(dòng)態(tài)

一種在物聯(lián)網(wǎng)設(shè)備上進(jìn)行高效深度學(xué)習(xí)推理的方法

中文題目:一種在物聯(lián)網(wǎng)設(shè)備上進(jìn)行高效深度學(xué)習(xí)推理的方法

論文題目:Efficient Deep Learning Inference on IoT Devices

錄用期刊/會(huì)議:2025 European Conference on Computer Systems (CCF A Poster)

原文鏈接: https://2025.eurosys.org/accepted-posters.html#pagetop

錄用時(shí)間:2025年2月24日

作者列表

1 劉志卓 中國(guó)石油大學(xué)(北京)人工智能學(xué)院 先進(jìn)科學(xué)與工程計(jì)算專(zhuān)業(yè) 22

2 劉   民 中國(guó)石油大學(xué)(北京)人工智能學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè) 21

3 徐朝農(nóng) 中國(guó)石油大學(xué)(北京)人工智能學(xué)院 計(jì)算機(jī)系教師

5) 李   超 之江實(shí)驗(yàn)室

文章簡(jiǎn)介:

深度神經(jīng)網(wǎng)絡(luò)(DNNs)在多個(gè)領(lǐng)域取得了顯著成果。由于其較高的內(nèi)存和計(jì)算需求,DNN 通常部署在數(shù)據(jù)并行加速器上。近年來(lái),一些研究人員嘗試在資源受限的物聯(lián)網(wǎng)(IoT)設(shè)備上部署 DNNs。然而,IoT 設(shè)備通常具有較低的計(jì)算性能和有限的內(nèi)存容量,這導(dǎo)致了模型部署的高資源需求與 IoT 設(shè)備有限資源之間的矛盾。為了解決這一矛盾,量化被認(rèn)為是一種有效的方案。然而,現(xiàn)有的量化研究?jī)H在精度與推理延遲或內(nèi)存占用之間達(dá)到了平衡,導(dǎo)致生成的模型在IoT上的部署效率仍然較低。

另一方面,DNN 庫(kù)被廣泛應(yīng)用于 IoT 設(shè)備,以提升 DNN 推理的吞吐量和計(jì)算效率。CMix-NN和 CMSIS-NN 是專(zhuān)為 MCU 設(shè)計(jì)的低精度線(xiàn)性代數(shù)核,旨在部署量化神經(jīng)網(wǎng)絡(luò)。這些內(nèi)核能夠高效并行計(jì)算 8-bit 操作數(shù),但對(duì)低于 8-bit 的操作數(shù)支持不夠理想。TVM  采用bit-serial計(jì)算方法部分解決了低 8-bit 操作數(shù)的計(jì)算問(wèn)題,但無(wú)法擴(kuò)展至基于 ARM Cortex-M 的 MCU。因此,如何設(shè)計(jì)一種策略將量化模型部署在所有IoT設(shè)備上成為挑戰(zhàn)。

本文的主要內(nèi)容如下:

針對(duì)資源受限的物聯(lián)網(wǎng)設(shè)備上深度學(xué)習(xí)模型的高效部署問(wèn)題,本文提出了一種結(jié)合高效量化(RLQuant)與輕量級(jí)低精度推理引擎(LiteEngine)的框架MCUQ。首先,RLQuant通過(guò)雙層優(yōu)化策略搜索最優(yōu)量化方案,其中上層利用強(qiáng)化學(xué)習(xí)確定最佳比特寬度,下層使用SGD優(yōu)化量化步長(zhǎng)。隨后,LiteEngine采用通用操作數(shù)打包技術(shù),以降低內(nèi)存占用并加速推理。LiteEngine反饋推理延遲、內(nèi)存占用和精度信息,以?xún)?yōu)化RLQuant的量化策略。相比其它推理引擎,MCUQ可減少1.5-2.8倍的內(nèi)存占用,并加速推理1.6-3.0倍,同時(shí)保持精度幾乎不變。

摘要:

在基于微控制器單元(MCU)的資源受限物聯(lián)網(wǎng)(IoT)設(shè)備上部署深度學(xué)習(xí)模型極具吸引力,但由于計(jì)算能力和內(nèi)存資源的限制,面臨著重大挑戰(zhàn)。為了在 MCU 上高效部署深度學(xué)習(xí)模型,本文提出了一種新型框架 MCUQ,該框架結(jié)合了高效量化方法(RLQuant)和輕量級(jí)低精度推理引擎(LiteEngine)。RLQuant 通過(guò)求解雙層優(yōu)化問(wèn)題來(lái)尋找最優(yōu)量化策略,其中上層優(yōu)化問(wèn)題利用強(qiáng)化學(xué)習(xí)搜索最優(yōu)比特寬度,而下層優(yōu)化問(wèn)題使用隨機(jī)梯度下降(SGD)進(jìn)行量化步驟的優(yōu)化。在每次強(qiáng)化學(xué)習(xí)迭代后,LiteEngine 通過(guò)通用操作數(shù)打包技術(shù)執(zhí)行推理,從而降低內(nèi)存需求并加速模型推理。LiteEngine 與 RLQuant 緊密結(jié)合,通過(guò)反饋推理延遲、內(nèi)存使用和精度等信息,優(yōu)化 RLQuant 的量化策略。與 CMix-NN、CMSIS-NN 和 TinyEngine 相比,MCUQ 能夠減少 1.5-2.8 倍的內(nèi)存使用,并加速推理 1.6-3.0 倍。MCUQ 是首個(gè)在商用 MCU 上實(shí)現(xiàn)高效模型推理且?guī)缀鯚o(wú)精度損失的推理框架。

設(shè)計(jì)與實(shí)現(xiàn):

本文提出了 MCUQ,它由 RLQuant 和 LiteEngine 共同設(shè)計(jì)。RLQuant 采用強(qiáng)化學(xué)習(xí)(RL)同時(shí)為網(wǎng)絡(luò)的每一層尋找最優(yōu)的比特寬度和量化步長(zhǎng),而 LiteEngine 作為 RL 的一部分,為智能體提供直接反饋,包括精度、推理延遲和內(nèi)存占用情況。LiteEngine 能夠充分利用 MCU 中有限的資源,避免內(nèi)存和計(jì)算資源的浪費(fèi),并為 RLQuant 的量化策略搜索提供更大的搜索空間。憑借更大的搜索空間,RLQuant 更有可能找到精度損失可以忽略不計(jì)的量化模型。


RLQuant 利用強(qiáng)化學(xué)習(xí)(RL)智能體來(lái)預(yù)測(cè)??,并使用梯度下降來(lái)學(xué)習(xí) ??。如圖所示,RLQuant 首先使用智能體預(yù)測(cè)模型 ??的 ???。接下來(lái),SGD 優(yōu)化器學(xué)習(xí)模型的最優(yōu)???。最后,LiteEngine 優(yōu)化的乘法相關(guān)計(jì)算和內(nèi)存調(diào)度,以測(cè)量最優(yōu)推理延遲和內(nèi)存使用情況。此外,在一個(gè) episode 的第 t 個(gè)時(shí)間步中,智能體根據(jù)當(dāng)前觀(guān)察狀態(tài)確定第 t 層的量化比特寬度,即激活值和權(quán)重的比特寬度。該觀(guān)察狀態(tài)包括當(dāng)前層的通道數(shù)、MACs(乘加運(yùn)算次數(shù))或卷積核大小等信息。

image.png

操作數(shù)打包的本質(zhì)在于,通過(guò)將多個(gè)低精度(低 8-bit)的操作數(shù)打包到一個(gè)更寬的寄存器中,并使用這兩個(gè)打包后的寄存器執(zhí)行常規(guī)乘法運(yùn)算,從而實(shí)現(xiàn)低精度點(diǎn)積計(jì)算。如圖a所示,常規(guī)乘法運(yùn)算一次只能處理一對(duì)操作數(shù)。而圖b展示了操作數(shù)打包技術(shù)的應(yīng)用,通過(guò)執(zhí)行一次 8-bit 乘法,可以同時(shí)計(jì)算兩對(duì) 2-bit 操作數(shù)的點(diǎn)積。其計(jì)算結(jié)果表示為:

然而,由于該結(jié)果超出了目標(biāo)寄存器的最大存儲(chǔ)值,高位項(xiàng) 7deb437a891192eab5d3250b9ee27e7.jpg 發(fā)生溢出,最終目標(biāo)寄存器僅存儲(chǔ)值:0bc357a7b43368515f3420f080370c6.jpg。從公式中非常容易地觀(guān)察到,24的系數(shù)0b19284394cad958d2ac31516fa7618.jpg是兩對(duì)低精度操作數(shù)點(diǎn)乘運(yùn)算結(jié)果。因此,可以通過(guò)一個(gè)高精度通用乘法指令實(shí)現(xiàn)多個(gè)低精度操作數(shù)的點(diǎn)乘運(yùn)算。接下來(lái),可以在目標(biāo)寄存器上實(shí)施低成本的掩碼和移位操作以獲得最終的點(diǎn)乘結(jié)果。本文將該打包技術(shù)推廣到不同的權(quán)重值位寬和激活值位寬策略,并推導(dǎo)出防止?jié)撛谝绯鏊铦M(mǎn)足的條件。

實(shí)驗(yàn)結(jié)果及分析:

本文對(duì)在四種不同的卷積神經(jīng)網(wǎng)絡(luò)上進(jìn)行了評(píng)估。下圖顯示,與 CMSIS-NN、CMix-NN 和 TinyEngine 相比,LiteEngine 實(shí)現(xiàn)了高達(dá)3倍的推理加速。這一顯著的加速主要?dú)w功于 LiteEngine 采用的通用操作數(shù)打包方法。此外,算法與系統(tǒng)的協(xié)同設(shè)計(jì)使得對(duì)執(zhí)行模型的控制更加精確,從而實(shí)現(xiàn)了針對(duì) RLQuant 量化模型的優(yōu)化內(nèi)存調(diào)度和代碼生成。

image.png 

LiteEngine 通過(guò)消除運(yùn)行時(shí)解釋延遲,并避免為存儲(chǔ)模型元數(shù)據(jù)分配額外內(nèi)存,使其能夠處理高精度模型。因此,LiteEngine 提高了內(nèi)存使用效率,相比 CMSIS-NN 其內(nèi)存占用減少了2.8倍。

結(jié)論:

我們提出 MCUQ 框架,結(jié)合 RLQuant 進(jìn)行高效量化和 LiteEngine 進(jìn)行優(yōu)化的低精度推理。RLQuant 與 LiteEngine 協(xié)同設(shè)計(jì),擴(kuò)展搜索空間,使模型能夠高效地部署到 MCU上。實(shí)驗(yàn)表明,該方法可減少高達(dá) 2.8 倍的內(nèi)存占用,并加速推理至 3.0 倍。

作者簡(jiǎn)介:

徐朝農(nóng),中國(guó)石油大學(xué)(北京)人工智能學(xué)院教師,主要研究領(lǐng)域?yàn)檫吘壷悄堋⑶度胧较到y(tǒng)、無(wú)線(xiàn)網(wǎng)絡(luò)。