中文題目:面向多核MCU的低延遲深度學習推理調度
論文題目:Low-Latency Deep Learning Inference Schedule on Multi-Core MCU
錄用期刊/會議:The International Joint Conference on Neural Networks (CCF C)
作者列表:
1)徐朝農 中國石油大學(北京)信息科學與工程學院/人工智能學院 計算機系教師
2)劉 民 中國石油大學(北京)信息科學與工程學院/人工智能學院 計算機科學與技術專業 碩21
3)孔維明 中國石油大學(北京)信息科學與工程學院/人工智能學院 計算機技術專業 碩21
4)李 超 之江實驗室
文章簡介:
隨著智能物聯網(AIoT)的持續發展,深度學習(DL)正逐漸成為其服務中不可或缺的一部分。深度學習使得智能處理和分析物聯網設備產生的大量數據成為可能,并且正成為這些系統的重要工具。AIoT的典型應用包括監測機械振動以預測機器故障、視覺任務中的人員檢測,以及實時語音識別等。傳統上,這些應用依賴于豐富的云端或霧端計算資源來滿足高響應性要求。然而,云端或霧端推理在延遲、能耗、隱私保護和通信接入等方面引入了高昂的開銷。隨著AIoT 服務的急劇增加,云端或霧端推理變得過于昂貴且不可行。幸運的是,低成本、低功耗且高性能的多核微控制器(MMCU)的出現,使得在設備上進行DL推理成為可能。通過充分利用硬件的資源來最小化推理延遲,深度學習推理框架可以滿足AIoT系統的高響應性要求。目前可用的推理框架,如 TFLM、CMSIS-NN、CMix-NN 和 CIMAX-Compiler,采用了核友好的優化措施,例如剪枝、量化和循環優化,以減少推理延遲。盡管這些方法極大地改進了神經網絡(NN)推理性能,但它們沒有為 NN 中的每個算子選擇合適的數據布局,也沒有充分利用 MMCU 的硬件資源。因此,本文旨在研究如何為部署在 MMCU 上的 NN 選擇合適的數據布局,并充分挖掘 MMCU 的硬件資源以加速 NN 的推理過程。
摘要:
隨著基于微控制器(MCU)的智能物聯網(AIoT)服務的興起,深度學習(DL)被廣泛應用以提升用戶體驗。這類由深度學習輔助的服務依賴于快速的神經網絡(NN)執行來實現高響應性,要求小型物聯網設備通過有效利用其底層硬件資源來最小化 NN 的執行延遲。然而,現有的推理框架無法為多核微控制器(MMCU)實現令人滿意的實時性能。我們指出可以通過兩種改進方法來加速NN推理:1) 為 NN 中的每個算子選擇合適的數據布局;2) 通過適當地將每個算子分配到多個核上來發揮 MMCU 的能力。
在本文中,我們提出了一種針對 MMCU 的低延遲深度學習推理的新思路,即聯合數據布局和算子內并行性(IOP)。我們基于自建的延遲預測器來建模這一問題,該預測器能預測每個NN 算子的執行延遲。此外,我們提出了一個時間復雜度為 的算法,以尋找最優的調度計劃,其中
和
分別代表算子可能的最大布局數和 IOP 策略數。實驗評估結果表明,我們的調度計劃能為 CMSIS-NN(一種先進的邊緣推理軟件棧)實現1.52倍至3.37倍的加速。此外,與最先進的 IOP 執行系統相比,我們的調度計劃大約實現了1.67倍的加速。
主要內容:
本研究的目的是充分利用MMCU的硬件資源加速計算圖的推理。由于張量數據布局和IOP策略極大地影響了每個算子的推理延遲,因此,我們將這個問題構建為一個聯合優化問題,將推理調度策略
作為控制變量。因此,該問題可建模為:
為求解該問題,本文提出節點消除和邊消除技術簡化原計算圖,如圖1所示。
節點消除:如果計算圖的節點
僅有一條入邊
和一條出邊
,且它們所對應張量的布局轉換開銷矩陣為
和
,那么節點消除技術可以從
中移除
、
和
并插入新邊
,其所對應張量的布局轉換開銷矩陣是:
邊消除:如果計算圖有兩條同源節點和目的節點的邊
和
,且它們所對應張量的布局轉換開銷為
和
,那么邊消除技術可以移除
和
并插入
,該新邊所對應的張量的布局轉換開銷矩陣為:
圖 1 節點消除和邊消除
通過節點和邊的消除,我們可以得到一個通常只包含兩個節點的簡化計算圖。因此,在常數時間復雜度內,我們可以得到簡化計算圖
的最優推理調度策略。隨后,我們通過反轉節點消除和邊消除的過程即可獲得被消除節點的最優推理調度策略。最終,我們可以得到原計算圖
的最優推理調度策略
。
此外,我們為常見的神經網絡算子(如,矩陣乘法、卷積和池化等)建立了即輕量又準確的時延模型,以量化NN的不同推理調度策略所對應的推理延遲。
單核MCU的標準卷積算子的推理時延可以通過公式(5)建模。
單核MCU的深度卷積算子的推理時延
可以通過公式(6)和公式(7)進行建模。
對于其它算子的單核MCU時延模型,如果算子基于GEMM實現,則該算子的時延模型與標準卷子算子的時延模型類似;如果算子直接基于BEU實現,則該算子的時延模型與深度卷積算子的時延模型類似?;谏鲜鰡魏薓CU的時延模型,我們可以通過公式(8)得到MMCU的算子時延模型。
基于上述算法和延遲預測模型,我們在CMSIS-NN上實現了一個算子內并行推理框架CoMCU。
實驗結果及分析:
圖 2不同NNs采用不同推理調度策略時在STM32H745平臺上的推理延遲
我們首先在同構雙核微控制器STM32H745上評估CoMCU的性能,如圖2所示。從圖中可以看出,相較于利用單核MCU進行模型推理的CMSIS-NN,CoMCU可以實現1.6倍的推理加速。此外,相較于現有的IOP系統,CoMCU也能夠實現1.7倍左右推理加速。
圖 3 不同NNs采用不同推理調度策略時在STM32WL55JC平臺上的推理延遲
其次,我們也在異構雙核微控制器STM32WL55JC上評估了CoMCU,如圖3所示。
圖 4 CoMCU與CoDL-like的IOP策略性能比較
圖 5 CoMCU布局優化策略與貪心式布局優化策略的性能比較
此外,我們分別評估了CoMCU的IOP優化和數據布局優化的性能,如圖4和圖5所示。從圖中可以看出,CoMCU的兩種優化技術能夠分別實現1.4倍和1.2倍左右的推理加速。
最后,我們評估了CoMCU的延遲預測模型的性能,如上圖所示。由于該延遲預測模型考慮了MMCU的平臺特性,因此能夠實現93%以上的準確率。
結論:
本文分析了數據布局和IOP對算子推理性能的影響,并將神經網絡中算子的數據布局優化和IOP優化視為一個聯合優化問題進行考慮。為了解決這一問題,我們將其建模為公式(1),并構建了一個準確率約94%的延遲預測器以定量評估不同數據布局和IOP策略下的NN推理延遲。此外,我們提供了一個基于該預測器的動態規劃算法以在公式(1)下找到最優的調度方案。我們基于此算法和最先進的邊緣推理框架CMSIS-NN實現了端到端的CoMCU框架,并對其進行了評估。實驗結果表明,與CMSIS-NN相比,CoMCU能夠實現1.52倍至 3.37倍的加速,并且與最先進的 IOP 執行系統相比,其性能達到了1.67倍加速。
通訊作者簡介:
徐朝農,博士,中國石油大學(北京)信息科學與工程學院/人工智能學院博士生導師,主要研究方向為無線通信、智慧物聯網、邊緣智能、嵌入式系統。