王諾 李麗穎 錢棟煒 魏同權(quán)
摘要:人工智能(Artificial Intelligence,AI)的先進(jìn)技術(shù)已被廣泛應(yīng)用于實時地處理大量數(shù)據(jù),以期實現(xiàn)快速響應(yīng).但是,部署基于AI的各種應(yīng)用程序的常規(guī)方法帶來了巨大的計算和通信開銷.為了解決這一問題,提出了一種基于網(wǎng)絡(luò)壓縮與切割技術(shù)的深度模型邊云協(xié)同加速機(jī)制,該技術(shù)可以壓縮和劃分深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks,DNN)模型,以邊云協(xié)同的形式在實際應(yīng)用中實現(xiàn)人工智能模型的快速響應(yīng).首先壓縮神經(jīng)網(wǎng)絡(luò),以降低神經(jīng)網(wǎng)絡(luò)所需要的運行時延,并生成可用作候選分割點的新層,然后訓(xùn)練預(yù)測模型以找到最佳分割點,并將壓縮的神經(jīng)網(wǎng)絡(luò)模型分為兩部分.將所獲得的兩部分分別部署在設(shè)備和云端服務(wù)器中,這兩個部分可以協(xié)同地將總延遲降至最低.實驗結(jié)果表明,與4種基準(zhǔn)測試方法相比,本文所提出的方案可以將深度模型的總延遲至少降低70%.
關(guān)鍵詞:邊云協(xié)同;深度神經(jīng)網(wǎng)絡(luò)壓縮;深度神經(jīng)網(wǎng)絡(luò)切割
中圖分類號:TP393文獻(xiàn)標(biāo)志碼:ADOI:10.3969/j.issn.l000-5641.2021.06.012
Research on an Edge-Cloud collaborative acceleration mechanism of deep model based on network compression and partitioning
WANG Nuo,LI Liying,QIAN Dongwei,WEI Tongquan
(School of Computer Science and Technologye,East China Normal University. Shanghai 200062. China)
Abstract:The advanced capabilities of artificial intelligence (AI)have been widely used to process large volumes of data in real-time for achieving rapid response. In contrast,conventional methods for deploying various Al-based applications can result in substantial computational and communication overhead. To solve this problem,a deep model Edge-Cloud collaborative acceleration mechanism based on network compression and partitioning technology is proposed. This technology can compress and partition deep neural networks (DNN),and deploy artificial intelligence models in practical applications in the form of an Edge-Cloud collaboration for rapid response. As a first step,the proposed method compresses the neural network to reduce the execution latency required and generates a new layer that can be used as a candidate partition point. It then trains a series of prediction models to find the best partitioning point and partitions the compressed neural network model into two parts. The two parts obtained are deployed in the edge device and the cloud server,respectively,and these two parts can collaborate to minimize the overall latency. Experimental results show that,compared with four benchmarking methods,the proposed scheme can reduce the total delay of the depth model by more than 70%.
Keywords:Edge-Cloud collaboration;DNN compression;DNN partitioning
0引言
隨著云端服務(wù)器計算能力的不斷增強(qiáng)以及無線網(wǎng)絡(luò)的不斷發(fā)展,越來越多的基于人工智能(Artificial Intelligence,AI)的應(yīng)用在洶涌的工業(yè)4.0浪潮中得到了廣泛的部署[1].在這一浪潮中面臨的兩個關(guān)鍵挑戰(zhàn)是如何在資源受限的設(shè)備上部署深度神經(jīng)網(wǎng)絡(luò),以及如何在實際應(yīng)用程序中實時地應(yīng)用這些深度模型進(jìn)行推理.諸如卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)之類的深度AI模型雖然在許多任務(wù)中實現(xiàn)了顯著的準(zhǔn)確性提高,但它們始終是計算密集和存儲密集型的[2].例如,流行的CNN模型VGG-19[3]具有近1.4億個參數(shù),這會占用約500 MB的存儲空間,并且需要近310億個浮點運算(Floating-Point Operation per Second,F(xiàn)LOP)來對單個簡單的圖像進(jìn)行分類[2].這樣復(fù)雜的模型可能會輕易超過設(shè)備的計算和存儲限制,從而導(dǎo)致較長的響應(yīng)延遲[4].因此,針對深度模型壓縮和推理延遲的降低已經(jīng)引起了學(xué)術(shù)界和工業(yè)界的極大關(guān)注.
神經(jīng)網(wǎng)絡(luò)模型壓縮是一種有效的方法,壓縮神經(jīng)網(wǎng)絡(luò)可以降低在設(shè)備上部署的深度模型的計算強(qiáng)度和存儲需求[5].深度模型壓縮方法可分為三類:1)參數(shù)調(diào)整和共享;2)緊湊結(jié)構(gòu)設(shè)計;3)低秩分解[3].基于參數(shù)調(diào)整和共享的壓縮方法主要通過刪除深度模型中的冗余和非關(guān)鍵參數(shù),以減少運行深度模型的計算.緊湊結(jié)構(gòu)設(shè)計的方法將其注意力集中在參數(shù)有效的神經(jīng)網(wǎng)絡(luò)架構(gòu)的構(gòu)建上.基于低秩分解的方法使用張量分解來估計深度模型的信息參數(shù).上述壓縮方法可以降低計算復(fù)雜性,從而可以在資源受限的設(shè)備上部署深度神經(jīng)網(wǎng)絡(luò)模型.
深度AI模型在設(shè)備上的部署策略顯著影響這些模型的響應(yīng)延遲.在設(shè)備上部署神經(jīng)網(wǎng)絡(luò)模型的常規(guī)方法可以分為兩類:云端部署方法和設(shè)備端部署方法網(wǎng).對于云端部署方法,設(shè)備將原始數(shù)據(jù)發(fā)送到云,云端服務(wù)器執(zhí)行AI模型并將推理結(jié)果發(fā)送回設(shè)備端.這種方法需要將大量數(shù)據(jù)上傳到云中,因此通信開銷較大[7].僅在設(shè)備上本地執(zhí)行AI模型的設(shè)備端部署方法則可以大大減少通信延遲問題的出現(xiàn).但是,由于有限的計算資源,大多數(shù)設(shè)備仍無法執(zhí)行連續(xù)且準(zhǔn)確的推理[8].例如,在移動設(shè)備上連續(xù)運行人臉檢測會在45 min內(nèi)耗盡設(shè)備電池的電量[9].此外,絕大多數(shù)深度模型(如CNN)的存儲要求過高,這極大地限制了深度模型在移動設(shè)備上的部署[6].
縮短設(shè)備上深層模型推理時間的有效解決方案是協(xié)同智能,它可以通過使用終端設(shè)備與云之間的協(xié)作來最大限度地降低AI模型的總體響應(yīng)延遲[10-11].在協(xié)同智能中,用于推理的深度AI模型通常在選定的中間層被分為兩部分.所選層之前的神經(jīng)網(wǎng)絡(luò)層在設(shè)備上執(zhí)行,而其余層在云端服務(wù)器中執(zhí)行.本質(zhì)上,與傳統(tǒng)的僅使用云的方法相比,計算和原始數(shù)據(jù)生成源之間的物理接近性提供了多種好處,例如低通信延遲、低能效、高隱私保護(hù)和低帶寬消耗等.與傳統(tǒng)的設(shè)備端部署的方法相比,在云中執(zhí)行一些計算帶來了更高的準(zhǔn)確性和更短的計算等待時間[12].
研究表明,目前輕量級壓縮模型無法滿足相關(guān)應(yīng)用的嚴(yán)格精度和時序要求.此外,據(jù)我們所知,目前的協(xié)同智能方法都沒有考慮神經(jīng)網(wǎng)絡(luò)的壓縮,這仍然對在設(shè)備上部署AI模型提出了持續(xù)的挑戰(zhàn).
在本文中,我們同時對神經(jīng)網(wǎng)絡(luò)壓縮和協(xié)同智能進(jìn)行了研究,以降低在應(yīng)用中部署深度神經(jīng)網(wǎng)絡(luò)所需的計算延遲和通信延遲.所提出的方法克服了現(xiàn)有技術(shù)方法的缺點,已有的這些方法要么忽略了云的強(qiáng)大計算能力,要么由于將大量數(shù)據(jù)傳輸?shù)皆贫鴮?dǎo)致過長的傳輸延遲.本文的主要貢獻(xiàn)概述如下:
(1)針對應(yīng)用提出了神經(jīng)網(wǎng)絡(luò)加速技術(shù),該技術(shù)使用低秩分解技術(shù)壓縮深度神經(jīng)網(wǎng)絡(luò)模型,從而可以生成更少輸出的層;基于知識蒸餾(Knowledge Distillation,KD)的參數(shù)調(diào)整方案用于恢復(fù)壓縮所引起的精度損失并克服消失的梯度.
(2)提出了一種基于協(xié)同智能的神經(jīng)網(wǎng)絡(luò)切割方式,即將壓縮和調(diào)整后的CNN模型分為兩部分,分別部署在終端設(shè)備和云中,以實現(xiàn)整體最小延遲;通過訓(xùn)練二次回歸模型以找到壓縮模型的最佳劃分點.
(3)在VGG-19模型上的實驗結(jié)果表明,與基準(zhǔn)模型相比,所提出的二次回歸模型可以將實際測量的均方根誤差(Root Mean Squard Error,RMSE)至少降低90%,并且與4種基準(zhǔn)測試方法相比,所提出的方法可以降低總體延遲至少70%.
本文的其余部分:第1章簡要回顧有關(guān)神經(jīng)網(wǎng)絡(luò)壓縮和協(xié)同智能的相關(guān)工作;第2章介紹用于快速協(xié)同智能的壓縮和切割方法;第3章介紹實驗結(jié)果;第4章總結(jié)論文.
1相關(guān)研究
深度神經(jīng)網(wǎng)絡(luò)壓縮已經(jīng)投入了大量的研究工作.該領(lǐng)域的主要工作可以分為以下不同的類別:參數(shù)調(diào)整和共享,緊湊的結(jié)構(gòu)設(shè)計和低秩分解.參數(shù)調(diào)整和共享壓縮方法去除了CNN模型中多余和不重要的參數(shù),以減少所需的計算和存儲量[5].Luo等[4]設(shè)計了一個框架,通過過濾級修剪在訓(xùn)練和推理過程中同時加速和壓縮深層CNN模型.所提出的框架從理論上將過濾器的修剪確定為一個優(yōu)化問題,然后識別并丟棄對于壓縮CNN模型不是至關(guān)重要的過濾器.Ullrich等[12]采用經(jīng)驗貝葉斯來學(xué)習(xí)先驗算法,該先驗算法用于對深度模型中的權(quán)重參數(shù)進(jìn)行編碼,該方法可以在一個簡單的再訓(xùn)練過程中實現(xiàn)量化和修剪.Lin等[13]提出了一種無標(biāo)簽的生成對抗性學(xué)習(xí)方法,以修剪CNN模型中的諸如濾波器之類的異類冗余結(jié)構(gòu),從而將特定結(jié)構(gòu)的輸出縮放為零.但是,以上參數(shù)調(diào)整和共享壓縮方法需要專用的硬件設(shè)計來支持內(nèi)存與或操作組件中的稀疏性設(shè)置和位級操作,以最大限度地提高模型壓縮的效率[14].
第二種加速方案是稀疏推理結(jié)構(gòu)設(shè)計,通過該設(shè)計方案可以構(gòu)造參數(shù)量小的深度神經(jīng)網(wǎng)絡(luò)架構(gòu). 在文獻(xiàn)[15]中,作者設(shè)計了一個額外的循環(huán)稀疏連接層,以通過自下而上的方法訓(xùn)練模型來減少全連接層中的參數(shù)數(shù)量.Wang等[15]設(shè)計了一種無冗余的體系結(jié)構(gòu),該體系結(jié)構(gòu)可檢測并消除CNN中的重復(fù)計算和存儲模式,所提出的架構(gòu)利用了一個常規(guī)的參數(shù)分析器和一個數(shù)據(jù)流加速器來減少重復(fù)的操作和存儲空間.Iandola等[16]提出了SqueezeNet,這是一種神經(jīng)體系結(jié)構(gòu)類,其中包含參數(shù)有效的全卷積模塊,以減少深度模型中的參數(shù)數(shù)量.盡管這些緊湊的結(jié)構(gòu)似乎是有效的,但它們無法充分利用過濾器間的依賴性,從而為進(jìn)一步壓縮留有空間[3].
第三種流行的神經(jīng)網(wǎng)絡(luò)壓縮方法采用基于低秩分解的權(quán)重近似和信息理論原理來壓縮神經(jīng)網(wǎng)絡(luò)參數(shù).Sotoudeh等[17]在低秩逼近中增加了非均勻性,并設(shè)計了一個框架來加速AI模型中的推理. Lin等[18]提出了一種基于分解的壓縮方法,以消除卷積核和CNN模型的全連接權(quán)重參數(shù)矩陣之間的冗余,在不修改CNN結(jié)構(gòu)的情況下,以低秩近似的形式將噪聲注入權(quán)重.這使得注入的噪聲能夠進(jìn)行局部最小值搜索.
使用以上3種方法壓縮的CNN模型通常被部署在終端設(shè)備上或云中,這樣仍然會導(dǎo)致大量的計算或通信延遲.為了緩解這種情況,研究者提出了一種協(xié)同智能的概念來部署深度模型,從而實現(xiàn)低推理延遲.Kang等[10]研究了僅云處理的現(xiàn)狀方法,并設(shè)計了一個調(diào)度程序以神經(jīng)網(wǎng)絡(luò)層的粒度去劃分深度AI模型.提出的策略利用云和終端設(shè)備聯(lián)合處理來實現(xiàn)低延遲、低能耗和高數(shù)據(jù)中心吞吐量. 在文獻(xiàn)[19]中,作者提出了一種切割劃分的設(shè)計準(zhǔn)則,該準(zhǔn)則在云端分配并執(zhí)行神經(jīng)網(wǎng)絡(luò)中的卷積層,而在最終設(shè)備處分配了其余的全連接層.他們提出了一種具有特征編碼的切割推理方法,其中設(shè)備將推理處理到網(wǎng)絡(luò)的中間層,并將輸出特征傳輸?shù)皆浦幸赃M(jìn)行網(wǎng)絡(luò)其余部分的推理.Eshratifar等[1]通過引入一個負(fù)責(zé)減少需要上傳到云的特征數(shù)據(jù)大小的單元,提出了一種協(xié)同智能架構(gòu),將該設(shè)計的單元放置在深度CNN模型的選定直接層之后,提出了一種基于容器化切割的運行時自適應(yīng)CNN加速框架,該框架根據(jù)計算資源的可用性和網(wǎng)絡(luò)條件動態(tài)選擇最佳切割點進(jìn)行切割.
上述利用本地終端設(shè)備的鄰近性和強(qiáng)大的云計算能力的協(xié)作方法可以顯著降低深度模型的推理延遲.但是,這些研究沒有考慮深度模型壓縮對推理延遲的影響.在本文中,我們對應(yīng)用程序中的響應(yīng)延遲進(jìn)行了深度模型壓縮和協(xié)同智能的聯(lián)合研究.
2壓縮劃分神經(jīng)網(wǎng)絡(luò)實現(xiàn)快速協(xié)同智能
2.1介紹
如圖1所示,所提出的深度神經(jīng)網(wǎng)絡(luò)邊云協(xié)同加速機(jī)制由兩個關(guān)鍵組件組成:模型壓縮和模型切割.在模型壓縮過程中,計算密集型卷積層通過使用基于過濾分解的技術(shù)進(jìn)行壓縮,而通過使用基于奇異值分解(Singular Value Decomposition,SVD)的方法來壓縮存儲密集的全連接層.然后,使用基于知識蒸餾(KD)的方案對壓縮的神經(jīng)網(wǎng)絡(luò)模型的參數(shù)進(jìn)行微調(diào),以恢復(fù)壓縮造成的精度損失并克服梯度消失問題.
在對神經(jīng)網(wǎng)絡(luò)模型進(jìn)行壓縮之后,神經(jīng)網(wǎng)絡(luò)切割將壓縮的模型分為兩部分,分別部署在終端設(shè)備和云中.該切割方案通過訓(xùn)練的二次回歸模型找到使總延遲最小的最佳劃分點.分割點實際上是模型壓縮過程中的一個新生成的層.
總體而言,所提出的方案首先在設(shè)備上執(zhí)行壓縮的模型,直到選定的特定層,然后將該層的輸出傳輸?shù)皆浦?,?zhí)行云中的其余層.通過這種方式,使得包括設(shè)備處理延遲、數(shù)據(jù)通信延遲和云處理延遲在內(nèi)的總體延遲得以最小化.
2.2節(jié)首先介紹了用于卷積層和全連接層的模型壓縮方法,接著是基于KD的參數(shù)調(diào)整方法. 2.3節(jié)介紹了一種基于預(yù)測的模型劃分方法,該方法通過使用訓(xùn)練的預(yù)測模型來分割壓縮后的神經(jīng)網(wǎng)絡(luò)模型.
2.2基于低秩分解的模型壓縮
所提出的基于低秩分解的模型壓縮方案首先壓縮卷積層和完全連接層,然后使用基于KD的參數(shù)技術(shù)來調(diào)整壓縮后的模型參數(shù).
卷積層壓縮:一個典型的卷積層通過使用N個濾波器將輸入張量I轉(zhuǎn)換為輸出張量O,其中輸入張量大小,濾波器大小和輸出大小分別為H×W×C,d×d×C×N和H′×W′×N.如圖2所示,該變換可描述為[20]
其中,*代表卷積操作,F(xiàn)(1≤n≤N)表示第n個3-D濾波器,包含C個2-D濾波器.第c個二維濾波器由表示.I是第c個二維輸入張量,O則表示第n個輸出張量.
通過文獻(xiàn)[20]中的基于濾波分解的方法來壓縮卷積層.首先式(1)中給出的卷積過程分為兩個卷積,以使中間特征圖的大小顯著減小.第一卷積層具有大小為d×1×C的R濾波器,用表示,如圖3所示.該卷積層產(chǎn)生中間特征圖.第二卷積層包含大小為1×d×R的N個濾波器,用表示,并生成輸出特征圖.
然后,壓縮方案使用兩個新的卷積層γ和Γ逼近式(1)中給出的卷積過程.將γ和Γ分別代入式(1),得到的近似值為O:
其中,*代表卷積操作,R是給定的超參數(shù),用于控制新過濾器的等級.通過解決以下優(yōu)化問題,可以獲得兩個新濾波器Γ和γ的參數(shù):
其中,表示Frobenius范數(shù),它定義為矩陣中元素的絕對平方和的平方根.
在不失一般性的前提下,假設(shè)輸入張量寬度(代表遠(yuǎn)大于)且R=N=C.壓縮方案的加速比S由式(4)計算:
全連接層壓縮:CNN模型中的全連接層執(zhí)行逐矩陣乘法[21],即輸入矩陣乘以權(quán)重矩陣來產(chǎn)生輸出矩陣:
Z=WX.(5)
所提出的基于奇異值分解(SVD)的方法使用此特性來減少全連接層所需要的存儲空間.該方法實質(zhì)上通過使用低秩矩陣來近似權(quán)重矩陣W,以減少每個完全連接層中的參數(shù)數(shù)量.以這種方式,全連接層被壓縮,公式為(式(6)中r是一個給定的整數(shù))
通過使用奇異值分解[22]分兩步來解決此優(yōu)化問題.在第一步中,權(quán)重矩陣W根據(jù)以下公式得出:
W=U∑V.(7)
其中,是單一矩陣,V是矩陣的轉(zhuǎn)置,∑是h×d矩陣,對角元素均為正.這些對角元素定義為矩陣W的奇異值.請注意,矩陣的共軛轉(zhuǎn)置實際上是其逆.即對單位矩陣E,有UU=E且VV=E.在第二步中,低階矩陣通過下式計算:
其中,和是兩個子矩陣,分別包含U和V中的r個奇異向量.中的對角元素實際上是∑中r(1≤r≤R)的最大奇異值.
可以看出,基于SVD的壓縮方法將完全連接層中的參數(shù)數(shù)量從hd減少到r(h+d).相應(yīng)的壓縮比C可通過以下公式計算:
基于知識蒸餾(KD)的參數(shù)調(diào)整:將以上壓縮方法直接應(yīng)用于深度模型會導(dǎo)致每一層的近似誤差增大,這可能會導(dǎo)致壓縮后的損失進(jìn)一步累積和傳播[23-24].在這項工作中,采用KD來緩解這一問題. KD旨在訓(xùn)練一個小型網(wǎng)絡(luò)(也稱為學(xué)生網(wǎng)絡(luò)),以模仿一個預(yù)先訓(xùn)練的較大網(wǎng)絡(luò)(也稱為教師網(wǎng)絡(luò)). 該學(xué)生網(wǎng)絡(luò)傾向于捕獲全局和本地知識.全局知識包含來自訓(xùn)練數(shù)據(jù)的真實標(biāo)簽所提供的信息,以及教師網(wǎng)絡(luò)最終輸出的信息.從教師網(wǎng)絡(luò)的每一層的輸出中學(xué)習(xí)本地知識,以克服梯度消失問題.我們重建了一個整體損失函數(shù),該函數(shù)考慮了全局和局部重建誤差,以降低整體近似誤差.
首先,基于KD的方法將學(xué)生網(wǎng)絡(luò)s和教師網(wǎng)絡(luò)t的softmax輸出分別定義為q=f(h(I;W))和q=f(g(I;W)),f代表softmax函數(shù).h和g是分別將輸入圖像I映射到學(xué)生和教師網(wǎng)絡(luò)的輸出的兩個功能.W和W分別代表學(xué)生和教師網(wǎng)絡(luò)中的超參數(shù).期望學(xué)生網(wǎng)絡(luò)輸出q的概率分布不僅接近教師網(wǎng)絡(luò)(q)的概率分布,而且接近真實標(biāo)簽l.為此,參數(shù)τ用于軟化來自教師網(wǎng)絡(luò)輸出的信息,因為軟化的信息在訓(xùn)練中提供了更多信息.相同的溫度參數(shù)也被應(yīng)用于學(xué)生網(wǎng)絡(luò)的輸出,以生成軟化的目標(biāo)概率分布.兩個網(wǎng)絡(luò)的軟化目標(biāo)概率分布可通過式(10)得出:
因此,考慮了教師網(wǎng)絡(luò)的真實標(biāo)簽和輸出的全局損失函數(shù)被定義為
式(11)中的第一項是從教師網(wǎng)絡(luò)的軟化輸出中學(xué)習(xí)學(xué)生網(wǎng)絡(luò),第二項是指導(dǎo)學(xué)生網(wǎng)絡(luò)從真實標(biāo)簽中學(xué)習(xí).H是指基于交叉熵的損失函數(shù),λ是用于平衡和H(l,q)的交叉熵的參數(shù).
為了進(jìn)一步提高壓縮模型的精度并克服消失梯度,還考慮了學(xué)生網(wǎng)絡(luò)每一層與教師網(wǎng)絡(luò)每一層之間的損失.對于學(xué)生網(wǎng)絡(luò)中的第i層,本地?fù)p失函數(shù)定義為
其中,和分別是學(xué)生和教師網(wǎng)絡(luò)的第i層的輸出張量.和分別代表學(xué)生和教師網(wǎng)絡(luò)中第i層的超參數(shù).
考慮到上述本地和全局損失,我們通過將總體損失函數(shù)最小化來訓(xùn)練學(xué)生網(wǎng)絡(luò):
其中,M表示學(xué)生或者教師網(wǎng)絡(luò)中的層數(shù).λ(1≤i≤L)是一組懲罰參數(shù),用于平衡第i層的全局損失和局部損失.
2.3基于預(yù)測的CNN劃分
對CNN模型進(jìn)行切割是一種有效的解決方案,可進(jìn)一步降低執(zhí)行壓縮深度模型的總體延遲.不同的神經(jīng)網(wǎng)絡(luò)具有不同的最佳切割方案[11].如果切割模型在深層模型的前端執(zhí)行(即在云中部署了更多層),則需要將大量數(shù)據(jù)上傳到云中.在這種情況下,數(shù)據(jù)通信等待時間主導(dǎo)了總體等待時間[11].如果在模型的后面執(zhí)行切割,則可以減少數(shù)據(jù)通信開銷.但是,由于在設(shè)備上執(zhí)行了更多的層,因此增大了處理延遲.因此,找到一個最佳的分割點以最小化總延遲至關(guān)重要.本文所提出的訓(xùn)練回歸模型以劃分使用2.2節(jié)中的壓縮方法獲得的深度模型.壓縮將生成輸出較小的新層,非常適合用作協(xié)同智能的切割點.下面,我們首先介紹基于二次對數(shù)的預(yù)測模型,然后介紹基于該預(yù)測的切割.
基于二次對數(shù)的預(yù)測模型:為壓縮的模型中的每種類型的層建立基于二次對數(shù)的預(yù)測模型,以基于其可配置參數(shù)估計層的處理延遲.本文所提出的方案從兩個方面改進(jìn)了文獻(xiàn)[11]中的預(yù)測模型:1)本文所提出的方案中使用更細(xì)粒度的可配置參數(shù)來描述深度神經(jīng)網(wǎng)絡(luò)模型中的層,以提高相應(yīng)預(yù)測模型的準(zhǔn)確性;2)本文所提出的方案中采用新的回歸函數(shù)提升模型對非線性關(guān)系的擬合能力.
對于第一個方面,文獻(xiàn)[11]中的預(yù)測模型采用可配置的參數(shù)(通道數(shù))×(特征圖數(shù))×(特征圖大?。┖停V波器大小/步幅)×(濾波器數(shù))來描述卷積層,其中(濾波器大小/步幅)×(濾波器數(shù)量)表示輸入特征圖每個像素的計算量.但是,使用上述粗粒度可配置參數(shù)來描述卷積層配置與其處理延遲之間的關(guān)系還不夠準(zhǔn)確.為了提高預(yù)測模型的準(zhǔn)確性,我們使用特征圖的數(shù)量,輸入特征圖的大小以及參數(shù)(濾鏡寬度/寬度跨度)×(濾鏡高度/高度跨度)×(濾鏡數(shù)量)來模擬模型的卷積層.對于池化層,將使用輸入特征圖的大小以及輸出特征圖的數(shù)量來建立相應(yīng)的預(yù)測模型.選擇輸入神經(jīng)元的數(shù)量和輸出神經(jīng)元的數(shù)量來對完全連接的層,softmax層和argmax層進(jìn)行建模.對于激活層和歸一化層,選擇神經(jīng)元數(shù)量作為可配置參數(shù).本文所建議的預(yù)測模型的有效性在3.3節(jié)中進(jìn)行了說明.
關(guān)于第二方面,文獻(xiàn)[11]中的預(yù)測模型采用對數(shù)和的線性函數(shù)作為其回歸函數(shù).但是,使用此回歸函數(shù)的預(yù)測模型擬合非線性關(guān)系的效果不佳.本文所提出的方案使用二次對數(shù)之和作為回歸函數(shù),從而使預(yù)測模型擬合線性和非線性關(guān)系.
基于預(yù)測的劃分:算法1中顯示了用于協(xié)同智能的所提出的總體算法流程.該算法采用預(yù)訓(xùn)練的深度神經(jīng)網(wǎng)絡(luò)模型,主成分分析(Principal Component Analysis,PCA)比率,溫度參數(shù)τ,當(dāng)前無線網(wǎng)絡(luò)帶寬B作為輸入,并輸出加速后的深度模型.其中PCA比率表示壓縮水平,較高的PCA比率表示較低的壓縮水平.較低的PCA比率表示較高的壓縮水平,這可能導(dǎo)致更大的精度損失.
本文所提出的方案的工作方式如下,它首先使用基于過濾分解的壓縮方法(第1行)在預(yù)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型中壓縮卷積層.然后,該算法使用基于SVD的壓縮方法(第2行)壓縮神經(jīng)網(wǎng)絡(luò)模型中的全連接層.為了減少由于壓縮的神經(jīng)網(wǎng)絡(luò)模型而導(dǎo)致的累積和傳播錯誤,同時克服消失的梯度,通過基于KD的方法(第3行)調(diào)整壓縮的神經(jīng)網(wǎng)絡(luò)模型中的參數(shù).之后,使用細(xì)粒度的可配置參數(shù)和改進(jìn)的回歸函數(shù)(第4行)訓(xùn)練了一組預(yù)測模型.令M為壓縮的神經(jīng)網(wǎng)絡(luò)模型中的層數(shù).對于深度模型中的每個L(1≤i≤M)層,通過使用第5到第7行中的相應(yīng)預(yù)測模型來估計L的處理延遲.在第8行中,該算法通過以下方式獲得了最優(yōu)的分割點P:
其中,是在設(shè)備上執(zhí)行壓縮的CNN模型直到L層的等待時間.表示執(zhí)行云中其余層(從L后面的層到最終層)的延遲.表示無線數(shù)據(jù)通信延遲,它取決于上載數(shù)據(jù)的大小和無線網(wǎng)絡(luò)帶寬.注意,和是通過使用相應(yīng)的預(yù)測模型獲得的,通過式(15)計算獲得:
其中,D是L層輸出的大小,即要上傳的數(shù)據(jù)的大小.B表示無線網(wǎng)絡(luò)帶寬.然后,在第9行中根據(jù)所獲得的最佳劃分點P對壓縮的模型進(jìn)行劃分.最后,返回已劃分的神經(jīng)網(wǎng)絡(luò)模型以進(jìn)行協(xié)作推理(第10行).
3評價
在本章中,我們進(jìn)行了一系列實驗,以驗證所提出方案的有效性.首先使用在2.2節(jié)中介紹的基于低秩分解的方法對預(yù)訓(xùn)練的VGG-19模型進(jìn)行壓縮和調(diào)整[4].然后,通過將它們與文獻(xiàn)[11]中介紹的預(yù)測模型進(jìn)行比較,來驗證2.3節(jié)中所給出的預(yù)測模型的性能.最后,根據(jù)所提出的預(yù)測模型對壓縮的CNN模型進(jìn)行切割,以最大限度降低總延遲.需要注意的是,不失一般性地,本文所提出的基于網(wǎng)絡(luò)壓縮與切割的深度模型邊云協(xié)同加速機(jī)制可以被應(yīng)用于很多常見的深度神經(jīng)網(wǎng)絡(luò)模型,例如AlexNet、LeNet、VGG-16等.
3.1實驗設(shè)置
采用了在ImageNet數(shù)據(jù)庫上預(yù)訓(xùn)練的VGG-19模型[4].預(yù)先訓(xùn)練的VGG-19模型取自Caffe模型,并使用Caffe在VGG-19模型上進(jìn)行了壓縮.實驗是在NVIDIA Jetson TK1(作為設(shè)備端)和NVIDIA Tesla(作為云端)上進(jìn)行的.NVIDIA Jetson TK1配備了NVIDIA Kepler GPU,NVIDIA 4-Plusl ARM Cortex-A15 CPU,192 CUDA內(nèi)核,2 GB×16 DDR4內(nèi)存和64位16 GB 4.51 eMMC內(nèi)存. NVIDIA Tesla配備了PlOO GPU和16GB DDR4內(nèi)存.
為了調(diào)整壓縮的VGG-19模型,本文所提出的方案使用隨機(jī)梯度下降(Stochastic Gradient Desent,SGD)求解器來降低式(13)中的總損耗函數(shù)計算值.求解器的學(xué)習(xí)率被設(shè)置為0.001.溫度參數(shù)τ,超參數(shù)λ和λ(1≤i≤M)分別設(shè)置為1、0.003和0.0005[20].
3.2CNN壓縮結(jié)果
本文所提出的方案的壓縮性能是通過使用加速比和壓縮比來衡量的,這可以分別由式(4)和式(9)得出.表1顯示了不同PCA比的壓縮結(jié)果.請注意,在VGG-19中,當(dāng)PCA比設(shè)置為低于0.7時,模型的精度非常低.因此,表1中不包括將PCA比設(shè)置為0.7以下時的壓縮結(jié)果.從表1可以看出,當(dāng)PCA比率設(shè)置為0.7時,所提出的方案可以獲得最佳的壓縮結(jié)果.因此,在以下實驗中,我們將PCA比設(shè)置為0.7以壓縮VGG-19.
3.3預(yù)測模型結(jié)果
圖4在卷積層和全連接層的預(yù)測模型的準(zhǔn)確性方面比較了本文所提出的方案和基準(zhǔn)測試方法[11].請注意,該圖的縱軸為對數(shù)刻度,橫軸為真實延遲.圖4中的紅線表示估計的延遲等于真實延遲.即預(yù)測模型準(zhǔn)確地估計了實際的延遲.藍(lán)點離紅線越近,預(yù)測模型的估計性能越好.可以看出,與基準(zhǔn)預(yù)測模型相比,我們的預(yù)測模型可以更準(zhǔn)確地估計卷積層和完全連接層的延遲.原因是本文所提出的方案采用了細(xì)粒度特征來對延遲進(jìn)行建模.另外,我們將二次對數(shù)之和作為回歸函數(shù).這些改進(jìn)提高了本文所提出的預(yù)測模型的準(zhǔn)確性,以及預(yù)測模型擬合非線性關(guān)系的能力.
我們還為壓縮的VGG-19模型中的其他層(例如argmax和softmax層)建立了預(yù)測模型.由于頁數(shù)的限制,圖4僅顯示了卷積層和完全連接層的預(yù)測結(jié)果.實驗結(jié)果表明,與文獻(xiàn)[11]中的基準(zhǔn)預(yù)測模型相比,本文所提出的預(yù)測模型可以將延遲的均方根誤差(RMSE)至少降低90%.
本文所提出的方案通過使用我們的預(yù)測模型準(zhǔn)確估計壓縮的VGG-19中每一層的處理延遲.然后,在2.3節(jié)中采用基于預(yù)測的CNN切割,以探索最佳切割點,該切割將包括設(shè)備處理延遲,數(shù)據(jù)通信延遲和云處理延遲在內(nèi)的總體延遲降至最低.
圖5顯示了壓縮的VGG-19模型的預(yù)測總體延遲的半對數(shù)圖.每個條形圖表示在每層之后劃分VGG-19時的總體延遲.圖5中的第1個數(shù)據(jù)條表示在云中部署壓縮的VGG-19模型的延遲.在這種情況下,設(shè)備會將原始數(shù)據(jù)上傳到云,然后云執(zhí)行推理.第65個數(shù)據(jù)條是在設(shè)備上處理整個壓縮的VGG-19模型的延遲.黑色五角星表示切割壓縮后的VGG-19的最佳分割點.所選最佳切割點之前的層部署在設(shè)備上,而其余層部署在云中.可以看出,可以在黑色五角星所對應(yīng)的深度模型的層次處對VGG-19模型進(jìn)行劃分,實現(xiàn)最低的延遲.
表2列出了5種方法的總體延遲,根據(jù)VGG-19是否被壓縮分為兩種模式.在僅云(Cloud Only,CO)方法中,設(shè)備將原始數(shù)據(jù)發(fā)送到云,然后云運行VGG-19進(jìn)行推理并將結(jié)果發(fā)送回去.在僅設(shè)備(Device Only,DO)方法中,設(shè)備執(zhí)行整個推斷.從表2中可以看出,與未壓縮模式下的DO方法相比,壓縮模式下的DO方法可以實現(xiàn)更低的延遲.原因是壓縮方法降低了神經(jīng)網(wǎng)絡(luò)模型的計算復(fù)雜度,從而降低了DO方法的總體延遲.由于云的強(qiáng)計算能力,通信時延主導(dǎo)了CO方法的總延遲,并且2種CO方法的總等待時間很接近.實驗結(jié)果還表明,與4種基準(zhǔn)測試方法相比,本文所提出的方案可以將總體延遲至少降低70%.表2為具體的實驗結(jié)果.
4貢獻(xiàn)
本文提出了一種基于網(wǎng)絡(luò)壓縮與切割的深度神經(jīng)網(wǎng)絡(luò)模型邊云協(xié)同加速機(jī)制,該機(jī)制通過壓縮和切割深層神經(jīng)網(wǎng)絡(luò)模型以在應(yīng)用中實現(xiàn)快速協(xié)同智能.具體來說,我們所提出的深度神經(jīng)網(wǎng)絡(luò)邊云協(xié)同加速機(jī)制首先利用基于低秩分解和SVD的技術(shù)來分別壓縮卷積層和完全連接層,從而顯著降低深度模型的復(fù)雜性和對存儲空間的要求.為了降低壓縮引起的累積誤差和消失梯度,采用基于知識蒸餾(KD)的方案對壓縮后的模型參數(shù)進(jìn)行微調(diào).然后將壓縮的神經(jīng)網(wǎng)絡(luò)模型分為兩部分,分別部署在終端設(shè)備和云中.采用二次回歸函數(shù)對壓縮后的神經(jīng)網(wǎng)絡(luò)層的延遲進(jìn)行建模,在此基礎(chǔ)上找到最佳分割點.在VGG-19深層模型上的實驗結(jié)果表明,與基準(zhǔn)測試方法相比,本文所提出的方案可以將總延遲至少降低70%.
[參考文獻(xiàn)]
[1]ESHRATIFAR A E,ESMAILI A,PEDRAM M. Towards collaborative intelligence friendly architectures for deep learning [C]// The20th International Symposium on Quality Electronic Design (ISQED). 2019:14-19.
[2]DUBEY A,CHATTERJEE M,AHUJA N. Coreset-based neural network compression [C]// European Conference on Computer Vision. 2018:454-470.
[3]SIMONYAN K,ZISSERMAN A. Very deep convolutional networks for large-scale image recognition [EB/OL]. (2015-04-10)[2021-01- 04].https://arxiv.org/pdf/1409.1556.pdf.
[4]LUO J H,WU J,LIN W. ThiNet:A filter level pruning method for deep neural network compression [C]// 2017 IEEE International Conference on Computer Vision. IEEE,2017:5068-5076.
[5]FU S,LI Z,LIU K,et al. Model compression for loT applications in industry 4.0 via multi-scale knowledge transfer [J]. IEEE Transactions on Industrial Informatics,2020(9):6013-6022.
[6]SODHRO A H,PIRBHULAL S,ALBUQUERQUE V. Artificial intelligence-driven mechanism for edge computing-based industrial applications [J]. IEEE Transactions on Industrial Informatics,2019(7):4235-4243.
[7]LüL,BEZDEK J C,HE X L,et al. Fog-embedded deep learning for the internet of things [J]. IEEE Transactions on Industrial Informatics,2019(7):4206-4215.
[8]WANG T,LUO H,JIA W,et al. MTES:An intelligent trust evaluation scheme in sensor-cloud-enabled industrial internet of things [J]. IEEE Transactions on Industrial Informatics,2020,16(3):2054-2062.
[9]LIKAMWA R,WANG Z,CARROLL A,et al. Draining our glass:An energy and heat characterization of google glass [C]// Proceedings of 5th Asia-Pacific Workshop on Systems. 2014. DOI:10.1145/2637166.2637230.
[10]KANG Y,HAUSWALD J,CAO G,et al. Neurosurgeon:Collaborative intelligence between the cloud and mobile edge [J]. ACM SIGPLAN Notices,2017,52(1):615-629.
[11]ZHOU Z,CHEN X,LI E,et al. Edge intelligence:Paving the last mile of artificial intelligence with edge computing [J]. Proceedings of the IEEE,2019,107(8):1738-1762.
[12]ULLRICH K,MEEDS EWELLING M. Soft weight-sharing for neural network compression [EB/OL]. (2017-05-09)[2020-03-01]. https://arxiv.org/pdf/1702.04008.pdf.
[13]LIN S,JI R,YAN C,et al. Towards optimal structured CNN pruning via generative adversarial learning [C]// Conference on Computer Vision and Pattern Recognition. 2019:2790-2799.
[14]HOSSEINI M. On the complexity reduction of dense layers from 0(N)to O(NlogN)with cyclic sparsely connected layers [D]. Baltimore County,Maryland:University of Maryland,2019.
[15]WANG Y,LIANG S W,LI H W,et al. A none-sparse inference accelerator that distills and reuses the computation redundancy in CNNs [C]// Proceedings of the 56th Annual Design Automation Conference. 2019. DOI:10.1145/3316781.3317749.
[16]IANDOLA F N,HAN S,MOSKEWICZ M W,et al. SqueezeNet:AlexNet-level accuracy with 50x fewer parameters and <0.5 MB model size [EB/OL]. (2016-11-04)[2020-03-15]. https://arxiv.org/abs/1602.07360.
[17]SOTOUDEH M,BAGHSORKHI S S. C3-Flow:Compute compression co-design flow for deep neural networks [C]// Proceedings of the 56th Annual Design Automation Conference. 2019:Article No.86.
[18]LIN S,JI R,CHEN C,et al. Holistic CNN compression via low-rank decomposition with knowledge transfer [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2019,41(12):2889-2905.
[19]KO J H,NA T,AMIR M F,et al. Edge-Host partitioning of deep neural networks with feature space encoding for resource-constrained Internet-of-Things platforms [C]// 2018 15th IEEE International Conference on Advanced Video and Signal Based Surveillance. IEEE,2018. DOI:10.1109/AVSS.2018.8639121.
[20]LI P,CHEN Z,YANG L,et al,Deep convolutional computation model for feature learning on big data in internet of things [J]. IEEE Transactions on Industrial Informatics,2018,14(2):790-798.
[21]CHEN Z,GRYLLIAS K,LI W. Intelligent fault diagnosis for rotary machinery using transferable convolutional neural network [J]. IEEE Transactions on Industrial Informatics,2020,16(1):339-349.
[22]ZHOU J H,PANG C K,LEWIS F L,et al. Intelligent diagnosis and prognosis of tool wear using dominant feature identification [J]. IEEE Transactions on Industrial Informatics,2009,5(4):454-464.
[23]HINTON GVINYALS O,DEAN J. Distilling the knowledge in a neural network [EB/OL]. (2015-03-09)[2020-01-10]. https://arxiv.org/abs/1503.02531.
[24]ZHANG Y,HONG G S,YE D,et al. Powder-bed fusion process monitoring by machine vision with hybrid convolutional neural networks [J]. IEEE Transactions on Industrial Informatics,2020,16(9):5769-5779.
(責(zé)任編輯:陳麗貞)