王諾 李麗穎 錢棟煒 魏同權(quán)
摘要:人工智能(Artificial Intelligence,AI)的先進(jìn)技術(shù)已被廣泛應(yīng)用于實(shí)時(shí)地處理大量數(shù)據(jù),以期實(shí)現(xiàn)快速響應(yīng).但是,部署基于AI的各種應(yīng)用程序的常規(guī)方法帶來(lái)了巨大的計(jì)算和通信開(kāi)銷.為了解決這一問(wèn)題,提出了一種基于網(wǎng)絡(luò)壓縮與切割技術(shù)的深度模型邊云協(xié)同加速機(jī)制,該技術(shù)可以壓縮和劃分深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks,DNN)模型,以邊云協(xié)同的形式在實(shí)際應(yīng)用中實(shí)現(xiàn)人工智能模型的快速響應(yīng).首先壓縮神經(jīng)網(wǎng)絡(luò),以降低神經(jīng)網(wǎng)絡(luò)所需要的運(yùn)行時(shí)延,并生成可用作候選分割點(diǎn)的新層,然后訓(xùn)練預(yù)測(cè)模型以找到最佳分割點(diǎn),并將壓縮的神經(jīng)網(wǎng)絡(luò)模型分為兩部分.將所獲得的兩部分分別部署在設(shè)備和云端服務(wù)器中,這兩個(gè)部分可以協(xié)同地將總延遲降至最低.實(shí)驗(yàn)結(jié)果表明,與4種基準(zhǔn)測(cè)試方法相比,本文所提出的方案可以將深度模型的總延遲至少降低70%.
關(guān)鍵詞:邊云協(xié)同;深度神經(jīng)網(wǎng)絡(luò)壓縮;深度神經(jīng)網(wǎng)絡(luò)切割
中圖分類號(hào):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ù)器計(jì)算能力的不斷增強(qiáng)以及無(wú)線網(wǎng)絡(luò)的不斷發(fā)展,越來(lái)越多的基于人工智能(Artificial Intelligence,AI)的應(yīng)用在洶涌的工業(yè)4.0浪潮中得到了廣泛的部署[1].在這一浪潮中面臨的兩個(gè)關(guān)鍵挑戰(zhàn)是如何在資源受限的設(shè)備上部署深度神經(jīng)網(wǎng)絡(luò),以及如何在實(shí)際應(yīng)用程序中實(shí)時(shí)地應(yīng)用這些深度模型進(jìn)行推理.諸如卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)之類的深度AI模型雖然在許多任務(wù)中實(shí)現(xiàn)了顯著的準(zhǔn)確性提高,但它們始終是計(jì)算密集和存儲(chǔ)密集型的[2].例如,流行的CNN模型VGG-19[3]具有近1.4億個(gè)參數(shù),這會(huì)占用約500 MB的存儲(chǔ)空間,并且需要近310億個(gè)浮點(diǎn)運(yùn)算(Floating-Point Operation per Second,F(xiàn)LOP)來(lái)對(duì)單個(gè)簡(jiǎn)單的圖像進(jìn)行分類[2].這樣復(fù)雜的模型可能會(huì)輕易超過(guò)設(shè)備的計(jì)算和存儲(chǔ)限制,從而導(dǎo)致較長(zhǎng)的響應(yīng)延遲[4].因此,針對(duì)深度模型壓縮和推理延遲的降低已經(jīng)引起了學(xué)術(shù)界和工業(yè)界的極大關(guān)注.
神經(jīng)網(wǎng)絡(luò)模型壓縮是一種有效的方法,壓縮神經(jīng)網(wǎng)絡(luò)可以降低在設(shè)備上部署的深度模型的計(jì)算強(qiáng)度和存儲(chǔ)需求[5].深度模型壓縮方法可分為三類:1)參數(shù)調(diào)整和共享;2)緊湊結(jié)構(gòu)設(shè)計(jì);3)低秩分解[3].基于參數(shù)調(diào)整和共享的壓縮方法主要通過(guò)刪除深度模型中的冗余和非關(guān)鍵參數(shù),以減少運(yùn)行深度模型的計(jì)算.緊湊結(jié)構(gòu)設(shè)計(jì)的方法將其注意力集中在參數(shù)有效的神經(jīng)網(wǎng)絡(luò)架構(gòu)的構(gòu)建上.基于低秩分解的方法使用張量分解來(lái)估計(jì)深度模型的信息參數(shù).上述壓縮方法可以降低計(jì)算復(fù)雜性,從而可以在資源受限的設(shè)備上部署深度神經(jīng)網(wǎng)絡(luò)模型.
深度AI模型在設(shè)備上的部署策略顯著影響這些模型的響應(yīng)延遲.在設(shè)備上部署神經(jīng)網(wǎng)絡(luò)模型的常規(guī)方法可以分為兩類:云端部署方法和設(shè)備端部署方法網(wǎng).對(duì)于云端部署方法,設(shè)備將原始數(shù)據(jù)發(fā)送到云,云端服務(wù)器執(zhí)行AI模型并將推理結(jié)果發(fā)送回設(shè)備端.這種方法需要將大量數(shù)據(jù)上傳到云中,因此通信開(kāi)銷較大[7].僅在設(shè)備上本地執(zhí)行AI模型的設(shè)備端部署方法則可以大大減少通信延遲問(wèn)題的出現(xiàn).但是,由于有限的計(jì)算資源,大多數(shù)設(shè)備仍無(wú)法執(zhí)行連續(xù)且準(zhǔn)確的推理[8].例如,在移動(dòng)設(shè)備上連續(xù)運(yùn)行人臉檢測(cè)會(huì)在45 min內(nèi)耗盡設(shè)備電池的電量[9].此外,絕大多數(shù)深度模型(如CNN)的存儲(chǔ)要求過(guò)高,這極大地限制了深度模型在移動(dòng)設(shè)備上的部署[6].
縮短設(shè)備上深層模型推理時(shí)間的有效解決方案是協(xié)同智能,它可以通過(guò)使用終端設(shè)備與云之間的協(xié)作來(lái)最大限度地降低AI模型的總體響應(yīng)延遲[10-11].在協(xié)同智能中,用于推理的深度AI模型通常在選定的中間層被分為兩部分.所選層之前的神經(jīng)網(wǎng)絡(luò)層在設(shè)備上執(zhí)行,而其余層在云端服務(wù)器中執(zhí)行.本質(zhì)上,與傳統(tǒng)的僅使用云的方法相比,計(jì)算和原始數(shù)據(jù)生成源之間的物理接近性提供了多種好處,例如低通信延遲、低能效、高隱私保護(hù)和低帶寬消耗等.與傳統(tǒng)的設(shè)備端部署的方法相比,在云中執(zhí)行一些計(jì)算帶來(lái)了更高的準(zhǔn)確性和更短的計(jì)算等待時(shí)間[12].
研究表明,目前輕量級(jí)壓縮模型無(wú)法滿足相關(guān)應(yīng)用的嚴(yán)格精度和時(shí)序要求.此外,據(jù)我們所知,目前的協(xié)同智能方法都沒(méi)有考慮神經(jīng)網(wǎng)絡(luò)的壓縮,這仍然對(duì)在設(shè)備上部署AI模型提出了持續(xù)的挑戰(zhàn).
在本文中,我們同時(shí)對(duì)神經(jīng)網(wǎng)絡(luò)壓縮和協(xié)同智能進(jìn)行了研究,以降低在應(yīng)用中部署深度神經(jīng)網(wǎng)絡(luò)所需的計(jì)算延遲和通信延遲.所提出的方法克服了現(xiàn)有技術(shù)方法的缺點(diǎn),已有的這些方法要么忽略了云的強(qiáng)大計(jì)算能力,要么由于將大量數(shù)據(jù)傳輸?shù)皆贫鴮?dǎo)致過(guò)長(zhǎng)的傳輸延遲.本文的主要貢獻(xiàn)概述如下:
(1)針對(duì)應(yīng)用提出了神經(jīng)網(wǎng)絡(luò)加速技術(shù),該技術(shù)使用低秩分解技術(shù)壓縮深度神經(jīng)網(wǎng)絡(luò)模型,從而可以生成更少輸出的層;基于知識(shí)蒸餾(Knowledge Distillation,KD)的參數(shù)調(diào)整方案用于恢復(fù)壓縮所引起的精度損失并克服消失的梯度.
(2)提出了一種基于協(xié)同智能的神經(jīng)網(wǎng)絡(luò)切割方式,即將壓縮和調(diào)整后的CNN模型分為兩部分,分別部署在終端設(shè)備和云中,以實(shí)現(xiàn)整體最小延遲;通過(guò)訓(xùn)練二次回歸模型以找到壓縮模型的最佳劃分點(diǎn).
(3)在VGG-19模型上的實(shí)驗(yàn)結(jié)果表明,與基準(zhǔn)模型相比,所提出的二次回歸模型可以將實(shí)際測(cè)量的均方根誤差(Root Mean Squard Error,RMSE)至少降低90%,并且與4種基準(zhǔn)測(cè)試方法相比,所提出的方法可以降低總體延遲至少70%.
本文的其余部分:第1章簡(jiǎn)要回顧有關(guān)神經(jīng)網(wǎng)絡(luò)壓縮和協(xié)同智能的相關(guān)工作;第2章介紹用于快速協(xié)同智能的壓縮和切割方法;第3章介紹實(shí)驗(yàn)結(jié)果;第4章總結(jié)論文.
1相關(guān)研究
深度神經(jīng)網(wǎng)絡(luò)壓縮已經(jīng)投入了大量的研究工作.該領(lǐng)域的主要工作可以分為以下不同的類別:參數(shù)調(diào)整和共享,緊湊的結(jié)構(gòu)設(shè)計(jì)和低秩分解.參數(shù)調(diào)整和共享壓縮方法去除了CNN模型中多余和不重要的參數(shù),以減少所需的計(jì)算和存儲(chǔ)量[5].Luo等[4]設(shè)計(jì)了一個(gè)框架,通過(guò)過(guò)濾級(jí)修剪在訓(xùn)練和推理過(guò)程中同時(shí)加速和壓縮深層CNN模型.所提出的框架從理論上將過(guò)濾器的修剪確定為一個(gè)優(yōu)化問(wèn)題,然后識(shí)別并丟棄對(duì)于壓縮CNN模型不是至關(guān)重要的過(guò)濾器.Ullrich等[12]采用經(jīng)驗(yàn)貝葉斯來(lái)學(xué)習(xí)先驗(yàn)算法,該先驗(yàn)算法用于對(duì)深度模型中的權(quán)重參數(shù)進(jìn)行編碼,該方法可以在一個(gè)簡(jiǎn)單的再訓(xùn)練過(guò)程中實(shí)現(xiàn)量化和修剪.Lin等[13]提出了一種無(wú)標(biāo)簽的生成對(duì)抗性學(xué)習(xí)方法,以修剪CNN模型中的諸如濾波器之類的異類冗余結(jié)構(gòu),從而將特定結(jié)構(gòu)的輸出縮放為零.但是,以上參數(shù)調(diào)整和共享壓縮方法需要專用的硬件設(shè)計(jì)來(lái)支持內(nèi)存與或操作組件中的稀疏性設(shè)置和位級(jí)操作,以最大限度地提高模型壓縮的效率[14].
第二種加速方案是稀疏推理結(jié)構(gòu)設(shè)計(jì),通過(guò)該設(shè)計(jì)方案可以構(gòu)造參數(shù)量小的深度神經(jīng)網(wǎng)絡(luò)架構(gòu). 在文獻(xiàn)[15]中,作者設(shè)計(jì)了一個(gè)額外的循環(huán)稀疏連接層,以通過(guò)自下而上的方法訓(xùn)練模型來(lái)減少全連接層中的參數(shù)數(shù)量.Wang等[15]設(shè)計(jì)了一種無(wú)冗余的體系結(jié)構(gòu),該體系結(jié)構(gòu)可檢測(cè)并消除CNN中的重復(fù)計(jì)算和存儲(chǔ)模式,所提出的架構(gòu)利用了一個(gè)常規(guī)的參數(shù)分析器和一個(gè)數(shù)據(jù)流加速器來(lái)減少重復(fù)的操作和存儲(chǔ)空間.Iandola等[16]提出了SqueezeNet,這是一種神經(jīng)體系結(jié)構(gòu)類,其中包含參數(shù)有效的全卷積模塊,以減少深度模型中的參數(shù)數(shù)量.盡管這些緊湊的結(jié)構(gòu)似乎是有效的,但它們無(wú)法充分利用過(guò)濾器間的依賴性,從而為進(jìn)一步壓縮留有空間[3].
第三種流行的神經(jīng)網(wǎng)絡(luò)壓縮方法采用基于低秩分解的權(quán)重近似和信息理論原理來(lái)壓縮神經(jīng)網(wǎng)絡(luò)參數(shù).Sotoudeh等[17]在低秩逼近中增加了非均勻性,并設(shè)計(jì)了一個(gè)框架來(lái)加速AI模型中的推理. Lin等[18]提出了一種基于分解的壓縮方法,以消除卷積核和CNN模型的全連接權(quán)重參數(shù)矩陣之間的冗余,在不修改CNN結(jié)構(gòu)的情況下,以低秩近似的形式將噪聲注入權(quán)重.這使得注入的噪聲能夠進(jìn)行局部最小值搜索.
使用以上3種方法壓縮的CNN模型通常被部署在終端設(shè)備上或云中,這樣仍然會(huì)導(dǎo)致大量的計(jì)算或通信延遲.為了緩解這種情況,研究者提出了一種協(xié)同智能的概念來(lái)部署深度模型,從而實(shí)現(xiàn)低推理延遲.Kang等[10]研究了僅云處理的現(xiàn)狀方法,并設(shè)計(jì)了一個(gè)調(diào)度程序以神經(jīng)網(wǎng)絡(luò)層的粒度去劃分深度AI模型.提出的策略利用云和終端設(shè)備聯(lián)合處理來(lái)實(shí)現(xiàn)低延遲、低能耗和高數(shù)據(jù)中心吞吐量. 在文獻(xiàn)[19]中,作者提出了一種切割劃分的設(shè)計(jì)準(zhǔn)則,該準(zhǔn)則在云端分配并執(zhí)行神經(jīng)網(wǎng)絡(luò)中的卷積層,而在最終設(shè)備處分配了其余的全連接層.他們提出了一種具有特征編碼的切割推理方法,其中設(shè)備將推理處理到網(wǎng)絡(luò)的中間層,并將輸出特征傳輸?shù)皆浦幸赃M(jìn)行網(wǎng)絡(luò)其余部分的推理.Eshratifar等[1]通過(guò)引入一個(gè)負(fù)責(zé)減少需要上傳到云的特征數(shù)據(jù)大小的單元,提出了一種協(xié)同智能架構(gòu),將該設(shè)計(jì)的單元放置在深度CNN模型的選定直接層之后,提出了一種基于容器化切割的運(yùn)行時(shí)自適應(yīng)CNN加速框架,該框架根據(jù)計(jì)算資源的可用性和網(wǎng)絡(luò)條件動(dòng)態(tài)選擇最佳切割點(diǎn)進(jìn)行切割.
上述利用本地終端設(shè)備的鄰近性和強(qiáng)大的云計(jì)算能力的協(xié)作方法可以顯著降低深度模型的推理延遲.但是,這些研究沒(méi)有考慮深度模型壓縮對(duì)推理延遲的影響.在本文中,我們對(duì)應(yīng)用程序中的響應(yīng)延遲進(jìn)行了深度模型壓縮和協(xié)同智能的聯(lián)合研究.
2壓縮劃分神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)快速協(xié)同智能
2.1介紹
如圖1所示,所提出的深度神經(jīng)網(wǎng)絡(luò)邊云協(xié)同加速機(jī)制由兩個(gè)關(guān)鍵組件組成:模型壓縮和模型切割.在模型壓縮過(guò)程中,計(jì)算密集型卷積層通過(guò)使用基于過(guò)濾分解的技術(shù)進(jìn)行壓縮,而通過(guò)使用基于奇異值分解(Singular Value Decomposition,SVD)的方法來(lái)壓縮存儲(chǔ)密集的全連接層.然后,使用基于知識(shí)蒸餾(KD)的方案對(duì)壓縮的神經(jīng)網(wǎng)絡(luò)模型的參數(shù)進(jìn)行微調(diào),以恢復(fù)壓縮造成的精度損失并克服梯度消失問(wèn)題.
在對(duì)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行壓縮之后,神經(jīng)網(wǎng)絡(luò)切割將壓縮的模型分為兩部分,分別部署在終端設(shè)備和云中.該切割方案通過(guò)訓(xùn)練的二次回歸模型找到使總延遲最小的最佳劃分點(diǎn).分割點(diǎn)實(shí)際上是模型壓縮過(guò)程中的一個(gè)新生成的層.
總體而言,所提出的方案首先在設(shè)備上執(zhí)行壓縮的模型,直到選定的特定層,然后將該層的輸出傳輸?shù)皆浦?,?zhí)行云中的其余層.通過(guò)這種方式,使得包括設(shè)備處理延遲、數(shù)據(jù)通信延遲和云處理延遲在內(nèi)的總體延遲得以最小化.
2.2節(jié)首先介紹了用于卷積層和全連接層的模型壓縮方法,接著是基于KD的參數(shù)調(diào)整方法. 2.3節(jié)介紹了一種基于預(yù)測(cè)的模型劃分方法,該方法通過(guò)使用訓(xùn)練的預(yù)測(cè)模型來(lái)分割壓縮后的神經(jīng)網(wǎng)絡(luò)模型.
2.2基于低秩分解的模型壓縮
所提出的基于低秩分解的模型壓縮方案首先壓縮卷積層和完全連接層,然后使用基于KD的參數(shù)技術(shù)來(lái)調(diào)整壓縮后的模型參數(shù).
卷積層壓縮:一個(gè)典型的卷積層通過(guò)使用N個(gè)濾波器將輸入張量I轉(zhuǎn)換為輸出張量O,其中輸入張量大小,濾波器大小和輸出大小分別為H×W×C,d×d×C×N和H′×W′×N.如圖2所示,該變換可描述為[20]
其中,*代表卷積操作,F(xiàn)(1≤n≤N)表示第n個(gè)3-D濾波器,包含C個(gè)2-D濾波器.第c個(gè)二維濾波器由表示.I是第c個(gè)二維輸入張量,O則表示第n個(gè)輸出張量.
通過(guò)文獻(xiàn)[20]中的基于濾波分解的方法來(lái)壓縮卷積層.首先式(1)中給出的卷積過(guò)程分為兩個(gè)卷積,以使中間特征圖的大小顯著減小.第一卷積層具有大小為d×1×C的R濾波器,用表示,如圖3所示.該卷積層產(chǎn)生中間特征圖.第二卷積層包含大小為1×d×R的N個(gè)濾波器,用表示,并生成輸出特征圖.
然后,壓縮方案使用兩個(gè)新的卷積層γ和Γ逼近式(1)中給出的卷積過(guò)程.將γ和Γ分別代入式(1),得到的近似值為O:
其中,*代表卷積操作,R是給定的超參數(shù),用于控制新過(guò)濾器的等級(jí).通過(guò)解決以下優(yōu)化問(wèn)題,可以獲得兩個(gè)新濾波器Γ和γ的參數(shù):
其中,表示Frobenius范數(shù),它定義為矩陣中元素的絕對(duì)平方和的平方根.
在不失一般性的前提下,假設(shè)輸入張量寬度(代表遠(yuǎn)大于)且R=N=C.壓縮方案的加速比S由式(4)計(jì)算:
全連接層壓縮:CNN模型中的全連接層執(zhí)行逐矩陣乘法[21],即輸入矩陣乘以權(quán)重矩陣來(lái)產(chǎn)生輸出矩陣:
Z=WX.(5)
所提出的基于奇異值分解(SVD)的方法使用此特性來(lái)減少全連接層所需要的存儲(chǔ)空間.該方法實(shí)質(zhì)上通過(guò)使用低秩矩陣來(lái)近似權(quán)重矩陣W,以減少每個(gè)完全連接層中的參數(shù)數(shù)量.以這種方式,全連接層被壓縮,公式為(式(6)中r是一個(gè)給定的整數(shù))
通過(guò)使用奇異值分解[22]分兩步來(lái)解決此優(yōu)化問(wèn)題.在第一步中,權(quán)重矩陣W根據(jù)以下公式得出:
W=U∑V.(7)
其中,是單一矩陣,V是矩陣的轉(zhuǎn)置,∑是h×d矩陣,對(duì)角元素均為正.這些對(duì)角元素定義為矩陣W的奇異值.請(qǐng)注意,矩陣的共軛轉(zhuǎn)置實(shí)際上是其逆.即對(duì)單位矩陣E,有UU=E且VV=E.在第二步中,低階矩陣通過(guò)下式計(jì)算:
其中,和是兩個(gè)子矩陣,分別包含U和V中的r個(gè)奇異向量.中的對(duì)角元素實(shí)際上是∑中r(1≤r≤R)的最大奇異值.
可以看出,基于SVD的壓縮方法將完全連接層中的參數(shù)數(shù)量從hd減少到r(h+d).相應(yīng)的壓縮比C可通過(guò)以下公式計(jì)算:
基于知識(shí)蒸餾(KD)的參數(shù)調(diào)整:將以上壓縮方法直接應(yīng)用于深度模型會(huì)導(dǎo)致每一層的近似誤差增大,這可能會(huì)導(dǎo)致壓縮后的損失進(jìn)一步累積和傳播[23-24].在這項(xiàng)工作中,采用KD來(lái)緩解這一問(wèn)題. KD旨在訓(xùn)練一個(gè)小型網(wǎng)絡(luò)(也稱為學(xué)生網(wǎng)絡(luò)),以模仿一個(gè)預(yù)先訓(xùn)練的較大網(wǎng)絡(luò)(也稱為教師網(wǎng)絡(luò)). 該學(xué)生網(wǎng)絡(luò)傾向于捕獲全局和本地知識(shí).全局知識(shí)包含來(lái)自訓(xùn)練數(shù)據(jù)的真實(shí)標(biāo)簽所提供的信息,以及教師網(wǎng)絡(luò)最終輸出的信息.從教師網(wǎng)絡(luò)的每一層的輸出中學(xué)習(xí)本地知識(shí),以克服梯度消失問(wèn)題.我們重建了一個(gè)整體損失函數(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ò)的輸出的兩個(gè)功能.W和W分別代表學(xué)生和教師網(wǎng)絡(luò)中的超參數(shù).期望學(xué)生網(wǎng)絡(luò)輸出q的概率分布不僅接近教師網(wǎng)絡(luò)(q)的概率分布,而且接近真實(shí)標(biāo)簽l.為此,參數(shù)τ用于軟化來(lái)自教師網(wǎng)絡(luò)輸出的信息,因?yàn)檐浕男畔⒃谟?xùn)練中提供了更多信息.相同的溫度參數(shù)也被應(yīng)用于學(xué)生網(wǎng)絡(luò)的輸出,以生成軟化的目標(biāo)概率分布.兩個(gè)網(wǎng)絡(luò)的軟化目標(biāo)概率分布可通過(guò)式(10)得出:
因此,考慮了教師網(wǎng)絡(luò)的真實(shí)標(biāo)簽和輸出的全局損失函數(shù)被定義為
式(11)中的第一項(xiàng)是從教師網(wǎng)絡(luò)的軟化輸出中學(xué)習(xí)學(xué)生網(wǎng)絡(luò),第二項(xiàng)是指導(dǎo)學(xué)生網(wǎng)絡(luò)從真實(shí)標(biāo)簽中學(xué)習(xí).H是指基于交叉熵的損失函數(shù),λ是用于平衡和H(l,q)的交叉熵的參數(shù).
為了進(jìn)一步提高壓縮模型的精度并克服消失梯度,還考慮了學(xué)生網(wǎng)絡(luò)每一層與教師網(wǎng)絡(luò)每一層之間的損失.對(duì)于學(xué)生網(wǎng)絡(luò)中的第i層,本地?fù)p失函數(shù)定義為
其中,和分別是學(xué)生和教師網(wǎng)絡(luò)的第i層的輸出張量.和分別代表學(xué)生和教師網(wǎng)絡(luò)中第i層的超參數(shù).
考慮到上述本地和全局損失,我們通過(guò)將總體損失函數(shù)最小化來(lái)訓(xùn)練學(xué)生網(wǎng)絡(luò):
其中,M表示學(xué)生或者教師網(wǎng)絡(luò)中的層數(shù).λ(1≤i≤L)是一組懲罰參數(shù),用于平衡第i層的全局損失和局部損失.
2.3基于預(yù)測(cè)的CNN劃分
對(duì)CNN模型進(jìn)行切割是一種有效的解決方案,可進(jìn)一步降低執(zhí)行壓縮深度模型的總體延遲.不同的神經(jīng)網(wǎng)絡(luò)具有不同的最佳切割方案[11].如果切割模型在深層模型的前端執(zhí)行(即在云中部署了更多層),則需要將大量數(shù)據(jù)上傳到云中.在這種情況下,數(shù)據(jù)通信等待時(shí)間主導(dǎo)了總體等待時(shí)間[11].如果在模型的后面執(zhí)行切割,則可以減少數(shù)據(jù)通信開(kāi)銷.但是,由于在設(shè)備上執(zhí)行了更多的層,因此增大了處理延遲.因此,找到一個(gè)最佳的分割點(diǎn)以最小化總延遲至關(guān)重要.本文所提出的訓(xùn)練回歸模型以劃分使用2.2節(jié)中的壓縮方法獲得的深度模型.壓縮將生成輸出較小的新層,非常適合用作協(xié)同智能的切割點(diǎn).下面,我們首先介紹基于二次對(duì)數(shù)的預(yù)測(cè)模型,然后介紹基于該預(yù)測(cè)的切割.
基于二次對(duì)數(shù)的預(yù)測(cè)模型:為壓縮的模型中的每種類型的層建立基于二次對(duì)數(shù)的預(yù)測(cè)模型,以基于其可配置參數(shù)估計(jì)層的處理延遲.本文所提出的方案從兩個(gè)方面改進(jìn)了文獻(xiàn)[11]中的預(yù)測(cè)模型:1)本文所提出的方案中使用更細(xì)粒度的可配置參數(shù)來(lái)描述深度神經(jīng)網(wǎng)絡(luò)模型中的層,以提高相應(yīng)預(yù)測(cè)模型的準(zhǔn)確性;2)本文所提出的方案中采用新的回歸函數(shù)提升模型對(duì)非線性關(guān)系的擬合能力.
對(duì)于第一個(gè)方面,文獻(xiàn)[11]中的預(yù)測(cè)模型采用可配置的參數(shù)(通道數(shù))×(特征圖數(shù))×(特征圖大?。┖停V波器大小/步幅)×(濾波器數(shù))來(lái)描述卷積層,其中(濾波器大小/步幅)×(濾波器數(shù)量)表示輸入特征圖每個(gè)像素的計(jì)算量.但是,使用上述粗粒度可配置參數(shù)來(lái)描述卷積層配置與其處理延遲之間的關(guān)系還不夠準(zhǔn)確.為了提高預(yù)測(cè)模型的準(zhǔn)確性,我們使用特征圖的數(shù)量,輸入特征圖的大小以及參數(shù)(濾鏡寬度/寬度跨度)×(濾鏡高度/高度跨度)×(濾鏡數(shù)量)來(lái)模擬模型的卷積層.對(duì)于池化層,將使用輸入特征圖的大小以及輸出特征圖的數(shù)量來(lái)建立相應(yīng)的預(yù)測(cè)模型.選擇輸入神經(jīng)元的數(shù)量和輸出神經(jīng)元的數(shù)量來(lái)對(duì)完全連接的層,softmax層和argmax層進(jìn)行建模.對(duì)于激活層和歸一化層,選擇神經(jīng)元數(shù)量作為可配置參數(shù).本文所建議的預(yù)測(cè)模型的有效性在3.3節(jié)中進(jìn)行了說(shuō)明.
關(guān)于第二方面,文獻(xiàn)[11]中的預(yù)測(cè)模型采用對(duì)數(shù)和的線性函數(shù)作為其回歸函數(shù).但是,使用此回歸函數(shù)的預(yù)測(cè)模型擬合非線性關(guān)系的效果不佳.本文所提出的方案使用二次對(duì)數(shù)之和作為回歸函數(shù),從而使預(yù)測(cè)模型擬合線性和非線性關(guān)系.
基于預(yù)測(cè)的劃分:算法1中顯示了用于協(xié)同智能的所提出的總體算法流程.該算法采用預(yù)訓(xùn)練的深度神經(jīng)網(wǎng)絡(luò)模型,主成分分析(Principal Component Analysis,PCA)比率,溫度參數(shù)τ,當(dāng)前無(wú)線網(wǎng)絡(luò)帶寬B作為輸入,并輸出加速后的深度模型.其中PCA比率表示壓縮水平,較高的PCA比率表示較低的壓縮水平.較低的PCA比率表示較高的壓縮水平,這可能導(dǎo)致更大的精度損失.
本文所提出的方案的工作方式如下,它首先使用基于過(guò)濾分解的壓縮方法(第1行)在預(yù)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型中壓縮卷積層.然后,該算法使用基于SVD的壓縮方法(第2行)壓縮神經(jīng)網(wǎng)絡(luò)模型中的全連接層.為了減少由于壓縮的神經(jīng)網(wǎng)絡(luò)模型而導(dǎo)致的累積和傳播錯(cuò)誤,同時(shí)克服消失的梯度,通過(guò)基于KD的方法(第3行)調(diào)整壓縮的神經(jīng)網(wǎng)絡(luò)模型中的參數(shù).之后,使用細(xì)粒度的可配置參數(shù)和改進(jìn)的回歸函數(shù)(第4行)訓(xùn)練了一組預(yù)測(cè)模型.令M為壓縮的神經(jīng)網(wǎng)絡(luò)模型中的層數(shù).對(duì)于深度模型中的每個(gè)L(1≤i≤M)層,通過(guò)使用第5到第7行中的相應(yīng)預(yù)測(cè)模型來(lái)估計(jì)L的處理延遲.在第8行中,該算法通過(guò)以下方式獲得了最優(yōu)的分割點(diǎn)P:
其中,是在設(shè)備上執(zhí)行壓縮的CNN模型直到L層的等待時(shí)間.表示執(zhí)行云中其余層(從L后面的層到最終層)的延遲.表示無(wú)線數(shù)據(jù)通信延遲,它取決于上載數(shù)據(jù)的大小和無(wú)線網(wǎng)絡(luò)帶寬.注意,和是通過(guò)使用相應(yīng)的預(yù)測(cè)模型獲得的,通過(guò)式(15)計(jì)算獲得:
其中,D是L層輸出的大小,即要上傳的數(shù)據(jù)的大小.B表示無(wú)線網(wǎng)絡(luò)帶寬.然后,在第9行中根據(jù)所獲得的最佳劃分點(diǎn)P對(duì)壓縮的模型進(jìn)行劃分.最后,返回已劃分的神經(jīng)網(wǎng)絡(luò)模型以進(jìn)行協(xié)作推理(第10行).
3評(píng)價(jià)
在本章中,我們進(jìn)行了一系列實(shí)驗(yàn),以驗(yàn)證所提出方案的有效性.首先使用在2.2節(jié)中介紹的基于低秩分解的方法對(duì)預(yù)訓(xùn)練的VGG-19模型進(jìn)行壓縮和調(diào)整[4].然后,通過(guò)將它們與文獻(xiàn)[11]中介紹的預(yù)測(cè)模型進(jìn)行比較,來(lái)驗(yàn)證2.3節(jié)中所給出的預(yù)測(cè)模型的性能.最后,根據(jù)所提出的預(yù)測(cè)模型對(duì)壓縮的CNN模型進(jìn)行切割,以最大限度降低總延遲.需要注意的是,不失一般性地,本文所提出的基于網(wǎng)絡(luò)壓縮與切割的深度模型邊云協(xié)同加速機(jī)制可以被應(yīng)用于很多常見(jiàn)的深度神經(jīng)網(wǎng)絡(luò)模型,例如AlexNet、LeNet、VGG-16等.
3.1實(shí)驗(yàn)設(shè)置
采用了在ImageNet數(shù)據(jù)庫(kù)上預(yù)訓(xùn)練的VGG-19模型[4].預(yù)先訓(xùn)練的VGG-19模型取自Caffe模型,并使用Caffe在VGG-19模型上進(jìn)行了壓縮.實(shí)驗(yà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)求解器來(lái)降低式(13)中的總損耗函數(shù)計(jì)算值.求解器的學(xué)習(xí)率被設(shè)置為0.001.溫度參數(shù)τ,超參數(shù)λ和λ(1≤i≤M)分別設(shè)置為1、0.003和0.0005[20].
3.2CNN壓縮結(jié)果
本文所提出的方案的壓縮性能是通過(guò)使用加速比和壓縮比來(lái)衡量的,這可以分別由式(4)和式(9)得出.表1顯示了不同PCA比的壓縮結(jié)果.請(qǐng)注意,在VGG-19中,當(dāng)PCA比設(shè)置為低于0.7時(shí),模型的精度非常低.因此,表1中不包括將PCA比設(shè)置為0.7以下時(shí)的壓縮結(jié)果.從表1可以看出,當(dāng)PCA比率設(shè)置為0.7時(shí),所提出的方案可以獲得最佳的壓縮結(jié)果.因此,在以下實(shí)驗(yàn)中,我們將PCA比設(shè)置為0.7以壓縮VGG-19.
3.3預(yù)測(cè)模型結(jié)果
圖4在卷積層和全連接層的預(yù)測(cè)模型的準(zhǔn)確性方面比較了本文所提出的方案和基準(zhǔn)測(cè)試方法[11].請(qǐng)注意,該圖的縱軸為對(duì)數(shù)刻度,橫軸為真實(shí)延遲.圖4中的紅線表示估計(jì)的延遲等于真實(shí)延遲.即預(yù)測(cè)模型準(zhǔn)確地估計(jì)了實(shí)際的延遲.藍(lán)點(diǎn)離紅線越近,預(yù)測(cè)模型的估計(jì)性能越好.可以看出,與基準(zhǔn)預(yù)測(cè)模型相比,我們的預(yù)測(cè)模型可以更準(zhǔn)確地估計(jì)卷積層和完全連接層的延遲.原因是本文所提出的方案采用了細(xì)粒度特征來(lái)對(duì)延遲進(jìn)行建模.另外,我們將二次對(duì)數(shù)之和作為回歸函數(shù).這些改進(jìn)提高了本文所提出的預(yù)測(cè)模型的準(zhǔn)確性,以及預(yù)測(cè)模型擬合非線性關(guān)系的能力.
我們還為壓縮的VGG-19模型中的其他層(例如argmax和softmax層)建立了預(yù)測(cè)模型.由于頁(yè)數(shù)的限制,圖4僅顯示了卷積層和完全連接層的預(yù)測(cè)結(jié)果.實(shí)驗(yàn)結(jié)果表明,與文獻(xiàn)[11]中的基準(zhǔn)預(yù)測(cè)模型相比,本文所提出的預(yù)測(cè)模型可以將延遲的均方根誤差(RMSE)至少降低90%.
本文所提出的方案通過(guò)使用我們的預(yù)測(cè)模型準(zhǔn)確估計(jì)壓縮的VGG-19中每一層的處理延遲.然后,在2.3節(jié)中采用基于預(yù)測(cè)的CNN切割,以探索最佳切割點(diǎn),該切割將包括設(shè)備處理延遲,數(shù)據(jù)通信延遲和云處理延遲在內(nèi)的總體延遲降至最低.
圖5顯示了壓縮的VGG-19模型的預(yù)測(cè)總體延遲的半對(duì)數(shù)圖.每個(gè)條形圖表示在每層之后劃分VGG-19時(shí)的總體延遲.圖5中的第1個(gè)數(shù)據(jù)條表示在云中部署壓縮的VGG-19模型的延遲.在這種情況下,設(shè)備會(huì)將原始數(shù)據(jù)上傳到云,然后云執(zhí)行推理.第65個(gè)數(shù)據(jù)條是在設(shè)備上處理整個(gè)壓縮的VGG-19模型的延遲.黑色五角星表示切割壓縮后的VGG-19的最佳分割點(diǎn).所選最佳切割點(diǎn)之前的層部署在設(shè)備上,而其余層部署在云中.可以看出,可以在黑色五角星所對(duì)應(yīng)的深度模型的層次處對(duì)VGG-19模型進(jìn)行劃分,實(shí)現(xiàn)最低的延遲.
表2列出了5種方法的總體延遲,根據(jù)VGG-19是否被壓縮分為兩種模式.在僅云(Cloud Only,CO)方法中,設(shè)備將原始數(shù)據(jù)發(fā)送到云,然后云運(yùn)行VGG-19進(jìn)行推理并將結(jié)果發(fā)送回去.在僅設(shè)備(Device Only,DO)方法中,設(shè)備執(zhí)行整個(gè)推斷.從表2中可以看出,與未壓縮模式下的DO方法相比,壓縮模式下的DO方法可以實(shí)現(xiàn)更低的延遲.原因是壓縮方法降低了神經(jīng)網(wǎng)絡(luò)模型的計(jì)算復(fù)雜度,從而降低了DO方法的總體延遲.由于云的強(qiáng)計(jì)算能力,通信時(shí)延主導(dǎo)了CO方法的總延遲,并且2種CO方法的總等待時(shí)間很接近.實(shí)驗(yàn)結(jié)果還表明,與4種基準(zhǔn)測(cè)試方法相比,本文所提出的方案可以將總體延遲至少降低70%.表2為具體的實(shí)驗(yàn)結(jié)果.
4貢獻(xiàn)
本文提出了一種基于網(wǎng)絡(luò)壓縮與切割的深度神經(jīng)網(wǎng)絡(luò)模型邊云協(xié)同加速機(jī)制,該機(jī)制通過(guò)壓縮和切割深層神經(jīng)網(wǎng)絡(luò)模型以在應(yīng)用中實(shí)現(xiàn)快速協(xié)同智能.具體來(lái)說(shuō),我們所提出的深度神經(jīng)網(wǎng)絡(luò)邊云協(xié)同加速機(jī)制首先利用基于低秩分解和SVD的技術(shù)來(lái)分別壓縮卷積層和完全連接層,從而顯著降低深度模型的復(fù)雜性和對(duì)存儲(chǔ)空間的要求.為了降低壓縮引起的累積誤差和消失梯度,采用基于知識(shí)蒸餾(KD)的方案對(duì)壓縮后的模型參數(shù)進(jìn)行微調(diào).然后將壓縮的神經(jīng)網(wǎng)絡(luò)模型分為兩部分,分別部署在終端設(shè)備和云中.采用二次回歸函數(shù)對(duì)壓縮后的神經(jīng)網(wǎng)絡(luò)層的延遲進(jìn)行建模,在此基礎(chǔ)上找到最佳分割點(diǎn).在VGG-19深層模型上的實(shí)驗(yàn)結(jié)果表明,與基準(zhǔn)測(cè)試方法相比,本文所提出的方案可以將總延遲至少降低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é)任編輯:陳麗貞)