<meter id="hh1nh"></meter>
<th id="hh1nh"><em id="hh1nh"><delect id="hh1nh"></delect></em></th>

        <form id="hh1nh"></form>

          <listing id="hh1nh"><nobr id="hh1nh"></nobr></listing>
          <nobr id="hh1nh"></nobr>

            <th id="hh1nh"><form id="hh1nh"><font id="hh1nh"></font></form></th>
            <rp id="hh1nh"><progress id="hh1nh"></progress></rp>
            您所在的位置:首頁 - 科學研究 - 科研動態

            科研動態

            一種在物聯網設備上進行高效深度學習推理的方法

            中文題目:一種在物聯網設備上進行高效深度學習推理的方法

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

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

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

            錄用時間:2025年2月24日

            作者列表

            1 劉志卓 中國石油大學(北京)人工智能學院 先進科學與工程計算專業 22

            2 劉   民 中國石油大學(北京)人工智能學院 計算機科學與技術專業 21

            3 徐朝農 中國石油大學(北京)人工智能學院 計算機系教師

            5) 李   超 之江實驗室

            文章簡介:

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

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

            本文的主要內容如下:

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

            摘要:

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

            設計與實現:

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


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

            image.png

            操作數打包的本質在于,通過將多個低精度(低 8-bit)的操作數打包到一個更寬的寄存器中,并使用這兩個打包后的寄存器執行常規乘法運算,從而實現低精度點積計算。如圖a所示,常規乘法運算一次只能處理一對操作數。而圖b展示了操作數打包技術的應用,通過執行一次 8-bit 乘法,可以同時計算兩對 2-bit 操作數的點積。其計算結果表示為:

            然而,由于該結果超出了目標寄存器的最大存儲值,高位項 7deb437a891192eab5d3250b9ee27e7.jpg 發生溢出,最終目標寄存器僅存儲值:0bc357a7b43368515f3420f080370c6.jpg。從公式中非常容易地觀察到,24的系數0b19284394cad958d2ac31516fa7618.jpg是兩對低精度操作數點乘運算結果。因此,可以通過一個高精度通用乘法指令實現多個低精度操作數的點乘運算。接下來,可以在目標寄存器上實施低成本的掩碼和移位操作以獲得最終的點乘結果。本文將該打包技術推廣到不同的權重值位寬和激活值位寬策略,并推導出防止潛在溢出所需滿足的條件。

            實驗結果及分析:

            本文對在四種不同的卷積神經網絡上進行了評估。下圖顯示,與 CMSIS-NN、CMix-NN 和 TinyEngine 相比,LiteEngine 實現了高達3倍的推理加速。這一顯著的加速主要歸功于 LiteEngine 采用的通用操作數打包方法。此外,算法與系統的協同設計使得對執行模型的控制更加精確,從而實現了針對 RLQuant 量化模型的優化內存調度和代碼生成。

            image.png 

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

            結論:

            我們提出 MCUQ 框架,結合 RLQuant 進行高效量化和 LiteEngine 進行優化的低精度推理。RLQuant 與 LiteEngine 協同設計,擴展搜索空間,使模型能夠高效地部署到 MCU上。實驗表明,該方法可減少高達 2.8 倍的內存占用,并加速推理至 3.0 倍。

            作者簡介:

            徐朝農,中國石油大學(北京)人工智能學院教師,主要研究領域為邊緣智能、嵌入式系統、無線網絡。


            99亚洲综合精品