摘要:作為直接推動機(jī)器學(xué)習(xí)蓬勃發(fā)展的關(guān)鍵核心技術(shù), 深度學(xué)習(xí)已經(jīng)迅速成為學(xué)術(shù)界與工業(yè)界關(guān)注的焦點(diǎn)。然而,由于深度學(xué)習(xí)模型的高精度需求往往會引發(fā)對計算資源的大量消耗,因此將一個深度學(xué)習(xí)模型部署到資源受限的移動設(shè)備面臨著的巨大的挑戰(zhàn)。本文介紹Edgent,一個基于邊端協(xié)同的按需加速深度學(xué)習(xí)模型推理的優(yōu)化框架, 通過深度學(xué)習(xí)模型分割與模型精簡實現(xiàn)加速。實驗表明其能在網(wǎng)絡(luò)邊緣端高效支撐深度學(xué)習(xí)應(yīng)用。
關(guān)鍵詞:邊緣計算;邊緣智能;深度學(xué)習(xí)
Abstract: As a key core technology that directly promotes the flourishingofmachine learning,deep learninghasquicklybecome thefocusofacademicandindustrialcircles. However,becausethe high-precisionrequirementsofdeeplearningmodelsoftenleadtoa large consumption of computing resources, deploying a deep learning model to resource-constrained mobile devices faces enormous challenges. This paper introduces Edgent, a device-edge synergy basedoptimizationframeworkforon-demanddeeplearning model inference, which is accelerated by both model segmentation and modelsimplification.Experimentsshowthatitcaneffectivelysupport deep learning applications at the network edge.
Key words: Edge Computing; Edge Intelligence; Deep Learning
1 引言與相關(guān)工作
作為支撐現(xiàn)代智能應(yīng)用的關(guān)鍵核心技術(shù),深度學(xué)習(xí)代表了當(dāng)下最火熱的機(jī)器學(xué)習(xí)技術(shù),深受學(xué)術(shù)界與產(chǎn)業(yè)界的高度重視。由于深度學(xué)習(xí)模型的高準(zhǔn)確率與高可靠性,深度學(xué)習(xí)技術(shù)已在計算機(jī)視覺、語音識別與自然語言處理領(lǐng)域取得了廣泛的成功應(yīng)用,相關(guān)產(chǎn)品正如雨后春筍般涌現(xiàn)。然后,由于深度學(xué)習(xí)模型推理需要消耗大量的計算資源,當(dāng)前的大多數(shù)移動設(shè)備由于資源受限而無法以低延遲、低功耗、高精確率的方式支持深度學(xué)習(xí)應(yīng)用。
為了應(yīng)對深度學(xué)習(xí)模型對計算資源的巨大需求,當(dāng)下通行的方式是將深度學(xué)習(xí)模型的訓(xùn)練與推理都部署在云端數(shù)據(jù)中心。在執(zhí)行深度學(xué)習(xí)模型推理的時候,移動端設(shè)備將輸入數(shù)據(jù)發(fā)送至云端數(shù)據(jù)中心,云端推理完成后將結(jié)果發(fā)回移動設(shè)備。然而,在這種基于云數(shù)據(jù)中心的推理方式下,大量的數(shù)據(jù)(如,圖像和視頻數(shù)據(jù))通過高延遲、帶寬波動的廣域網(wǎng)傳輸?shù)竭h(yuǎn)端云數(shù)據(jù)中心,這造成了較大的端到端延遲以及移動設(shè)備較高的能量消耗。相比于面臨性能與能耗瓶頸的基于云數(shù)據(jù)中心的深度學(xué)習(xí)模型部署方法,更好的方式則是結(jié)合新興的邊緣計算技術(shù),充分運(yùn)用從云端下沉到網(wǎng)絡(luò)邊緣(如基站、Wi-Fi接入點(diǎn)等)端的計算能力,從而在具有適當(dāng)計算能力的邊緣計算設(shè)備上實現(xiàn)低時延與低能耗的深度學(xué)習(xí)模型推理。
為此,本文介紹我們所提出的Edgent,一個基于邊端協(xié)同的按需加速深度學(xué)習(xí)模型推理的優(yōu)化框架[15]。為了滿足新興智能應(yīng)用對低時延和高精度日益迫切的需求,Edgent采取以下兩方面的優(yōu)化策略:一是深度學(xué)習(xí)模型分割,基于邊緣服務(wù)器與移動端設(shè)備間的可用帶寬,自適應(yīng)地劃分移動設(shè)備與邊緣服務(wù)器的深度學(xué)習(xí)模型計算量,以便在較小的傳輸延遲代價下將較多的計算卸載到邊緣服務(wù)器,從而同時降低數(shù)據(jù)傳輸時延和模型計算延遲;二是深度學(xué)習(xí)模型精簡,通過在適當(dāng)?shù)纳疃壬窠?jīng)網(wǎng)絡(luò)的中間層提前退出,以便進(jìn)一步減小模型推理的計算時延。然而值得注意的是,雖然模型精簡能夠直接降低模型推斷的計算量,但模型精簡同樣會降低模型推斷的精確率(提前退出神經(jīng)網(wǎng)絡(luò)模型減少了輸入對數(shù)據(jù)的處理,因而降低了精確率)。針對模型精簡所引發(fā)的延遲與精確率之間的折衷關(guān)系,Edgent以按需的方式協(xié)同優(yōu)化模型分割與模型精簡,即對于一個具有明確時延需求的一個模型推理任務(wù),Edgent在不違反其時延需求的前提下選擇最佳的模型分割和模型精簡策略來最大化其模型推理的準(zhǔn)確率。
本文的研究與現(xiàn)有邊緣智能方面的相關(guān)工作不同且互為補(bǔ)充,一方面,對于移動端設(shè)備的低時延與低功耗的深度學(xué)習(xí)模型推理,已有許多面向移動終端高效執(zhí)行的深度學(xué)習(xí)模型壓縮與深度學(xué)習(xí)架構(gòu)優(yōu)化的方法被提出[3~5、7、9],不同于這些工作,本文采取一種“向外擴(kuò)展”(Scale-out)的方法來克服終端所面臨的性能與能耗瓶頸。具體而言,本文通過模型分割這種優(yōu)化策略來靈活融合邊緣服務(wù)器的強(qiáng)計算力與終端設(shè)備計算本地性的異構(gòu)優(yōu)勢,從而最大程度發(fā)揮邊端融合在降低模型推理延遲方面的作用。另一方面,雖然此前已有相關(guān)文獻(xiàn)提出模型分割方法[6]來加速深度學(xué)習(xí)模型推理過程,本文進(jìn)一步提出模型精簡這一優(yōu)化策略,并將其與模型分割相結(jié)合進(jìn)行協(xié)同優(yōu)化,從而進(jìn)一步加速深度學(xué)習(xí)模型推理過程。
2 研究背景與動機(jī)
目前,深度神經(jīng)網(wǎng)絡(luò)是支撐計算機(jī)視覺[12]、語音識別[10]和自然語言處理[14]等豐富多彩的智能應(yīng)用的核心機(jī)器學(xué)習(xí)技術(shù)。如圖1所示,計算機(jī)視覺應(yīng)用程序中使用深度神經(jīng)網(wǎng)絡(luò)模型從輸入圖像中提取特征并將圖像分類到某一預(yù)定類別。通常,深度神經(jīng)網(wǎng)絡(luò)能夠被表示為一張有向圖,有向圖由一系列內(nèi)部連接的網(wǎng)絡(luò)層組成,每個網(wǎng)絡(luò)層由一個個的神經(jīng)元構(gòu)成,輸入數(shù)據(jù)經(jīng)由深度神經(jīng)網(wǎng)絡(luò)模型網(wǎng)絡(luò)層處理后得到輸出的過程為模型推理。深度神經(jīng)網(wǎng)絡(luò)模型的網(wǎng)絡(luò)層數(shù)目通常高達(dá)幾十層,全局參數(shù)量更是達(dá)到百萬級,因此深度神經(jīng)網(wǎng)絡(luò)模型推理屬于計算密集型任務(wù)。
圖1 用于計算機(jī)視覺的深度神經(jīng)網(wǎng)絡(luò)模型
當(dāng)前,針對運(yùn)行在移動端設(shè)備的智能應(yīng)用,實現(xiàn)深度神經(jīng)網(wǎng)絡(luò)模型推理的方法要么是在移動端設(shè)備上直接執(zhí)行,要么將其加載至云數(shù)據(jù)中心或邊緣服務(wù)器執(zhí)行。但這兩種方式都可能存在較差的性能(即端到端時延),難以很好地滿足實時移動智能應(yīng)用,如AR/VR、移動游戲和智能機(jī)器人[2]。圖2展示了經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)AlexNet在不同帶寬環(huán)境下基于邊緣服務(wù)器方式執(zhí)行的性能表現(xiàn)。不難發(fā)現(xiàn),其性能取決于輸入數(shù)據(jù)從移動設(shè)備傳輸?shù)竭吘壏?wù)器所花費(fèi)的數(shù)據(jù)傳輸時間(取決于帶寬),因此,基于服務(wù)器方式的深度學(xué)習(xí)模型推理方法的端到端延遲對可用帶寬高度敏感。考慮到帶寬資源在實際環(huán)境中的稀缺性(用戶之間或應(yīng)用之間的帶寬競爭)以及移動設(shè)備計算資源的限制,直接在設(shè)備端運(yùn)行和在邊緣服務(wù)器運(yùn)行的方式都很難以實時地支持許多新興的具有嚴(yán)格時延要求的移動智能應(yīng)用。
圖2 AlexNet在不同環(huán)境下的性能表現(xiàn)
3 Edgent優(yōu)化框架
針對深度學(xué)習(xí)模型應(yīng)用部署的挑戰(zhàn),權(quán)衡模型推斷速度與精度之間的折衷關(guān)系,我們定義如下研究問題:對于給定時延需求的深度學(xué)習(xí)任務(wù),如何聯(lián)合優(yōu)化模型分割和模型精簡這兩個決策,從而使得在不違反時延需求的同時最大化深度學(xué)習(xí)模型的精確度。針對上述問題,我們提出了基于邊緣與終端協(xié)同的深度學(xué)習(xí)模型運(yùn)行時優(yōu)化框架 Edgent[15]。如圖3所示,Edgent的優(yōu)化邏輯分為三個階段:離線訓(xùn)練階段,在線優(yōu)化階段以及協(xié)同推斷階段。
圖3 基于邊緣與終端協(xié)同的深度學(xué)習(xí)模型運(yùn)行時優(yōu)化框架Edgent
上述基于邊緣服務(wù)器與終端設(shè)備協(xié)同的深度學(xué)習(xí)模型推斷框架思路為:在離線階段,我們訓(xùn)練好任務(wù)需求的分支網(wǎng)絡(luò),同時為分支網(wǎng)絡(luò)中的不同神經(jīng)網(wǎng)絡(luò)層訓(xùn)練回歸模型,以此估算神經(jīng)網(wǎng)絡(luò)層在邊緣服務(wù)器與在終端設(shè)備上的運(yùn)行時延;在在線優(yōu)化階段,回歸模型將被用于尋找出符合任務(wù)時延需求的退出點(diǎn)以及模型切分點(diǎn);在協(xié)同推斷階段,邊緣服務(wù)器和終端設(shè)備將按照得出的方案運(yùn)行深度學(xué)習(xí)模型。
離線訓(xùn)練階段,Edgent需要執(zhí)行兩個初始化操作:
(1)分析邊緣服務(wù)器與終端設(shè)備性能,針對不同類型的深度學(xué)習(xí)模型網(wǎng)絡(luò)層,如卷積層,池化層等,生成基于回歸模型的時延估算模型。在估算網(wǎng)絡(luò)層的運(yùn)行時延時,Edgent會對每層網(wǎng)絡(luò)層進(jìn)行建模而不是對整個深度學(xué)習(xí)模型進(jìn)行建模,不同網(wǎng)絡(luò)層的時延是由各自的自變量(如輸入數(shù)據(jù)的大小、輸出數(shù)據(jù)的大小)決定,基于每層的自變量,我們可以建立回歸模型估算每層網(wǎng)絡(luò)層的時延;(2)訓(xùn)練帶有多個退出點(diǎn)的分支網(wǎng)絡(luò)模型,從而實現(xiàn)模型精簡,這里我們采用BranchyNet分支網(wǎng)絡(luò)結(jié)構(gòu),在BranchyNet結(jié)構(gòu)下,我們可以設(shè)計并訓(xùn)練出帶有多個退出點(diǎn)的分支網(wǎng)絡(luò)。圖4展示了具有5個退出點(diǎn)的AlexNet模型,目前多退出點(diǎn)的深度神經(jīng)網(wǎng)絡(luò)模型由開源框架BranchyNet [14]支持。需要注意的是,性能分析取決于設(shè)備,而深度學(xué)習(xí)模型是取決于應(yīng)用的,因此在給定設(shè)備的情況下即限定邊緣服務(wù)器與終端設(shè)備,以上兩個初始化操作在離線階段只需要完成一次。
圖4 具有五個退出點(diǎn)的AlexNet
在線優(yōu)化階段,在這個階段,主要工作是利用離線訓(xùn)練的回歸模型在分支網(wǎng)絡(luò)中找出符合時延需求的退出點(diǎn)以及模型分割點(diǎn),因我們需要最大化給出方案的準(zhǔn)確率,因此在線優(yōu)化階段中是通過迭代的方式,從最高準(zhǔn)確率的分支開始,迭代尋找出符合需求的退出點(diǎn)和切分點(diǎn)。在這個過程中,Edgent實時測量當(dāng)前移動終端與邊緣服務(wù)器之間鏈路的網(wǎng)絡(luò)帶寬,以便于估算移動終端與邊緣服務(wù)器間的數(shù)據(jù)傳輸時延。緊接著,Edgent沿著尺寸從大到小的網(wǎng)絡(luò)分支(如圖4中從右至左的5個網(wǎng)絡(luò)分支),依次遍歷每個網(wǎng)絡(luò)分支上不同的分割點(diǎn),并基于當(dāng)前網(wǎng)絡(luò)帶寬和不同網(wǎng)絡(luò)層計算時間估算所選網(wǎng)絡(luò)分支與分割點(diǎn)對應(yīng)的端到端延遲與模型精確度。在遍歷完所有的分支網(wǎng)絡(luò)與切分點(diǎn)后,Edgent輸出滿足時延需求的所有網(wǎng)絡(luò)分支與切分點(diǎn)組合中具有最大精確度的一個組合。
協(xié)同推斷階段,根據(jù)上述在線優(yōu)化階段所輸出的最優(yōu)網(wǎng)絡(luò)分支與切分點(diǎn)組合,邊緣服務(wù)器與移動終端對深度學(xué)習(xí)模型進(jìn)行協(xié)同推斷。
4 性能評估
本文基于Tesla P100 GPU服務(wù)器對多分支深度學(xué)習(xí)模型進(jìn)行訓(xùn)練,以臺式電腦作為邊緣服務(wù)器,以樹莓派作為移動端設(shè)備,對框架有效性進(jìn)行驗證。實驗設(shè)計包含:設(shè)定任務(wù)時延需求,通過限定邊緣服務(wù)器與終端設(shè)備間的傳輸速率,記錄在不同帶寬下的退出點(diǎn)選擇以及模型切分點(diǎn)選擇;設(shè)定不同任務(wù)時延,記錄在同一帶寬下的退出點(diǎn)選擇以及模型切分點(diǎn)選擇;記錄回歸模型的有效性即是否能準(zhǔn)確估算網(wǎng)絡(luò)層計算時延;與其他深度學(xué)習(xí)推理方法進(jìn)行性能比較。
圖5記錄了在不同帶寬下框架的退出點(diǎn)與模型分割點(diǎn)的選擇。從結(jié)果可以看出,由框架選擇出來的退出點(diǎn)隨著帶寬的上升而增大,這意味著在高帶寬下框架會選用具有更高精度的退出點(diǎn),即選擇出更高精度的模型。
圖5 不同帶寬下退出點(diǎn)與分割點(diǎn)的選擇
圖6 深度學(xué)習(xí)模型不同推理方式性能比較
圖6記錄了深度學(xué)習(xí)模型不同的推理方式在不同的時延需求下的性能比較。在非常低的時延需求(100ms)下,這四種方法都不能滿足需求。隨著時延需求的上升,在200ms到300ms之間,本文框架的深度學(xué)習(xí)模型推理要比其他方法更早地實現(xiàn)工作。
感興趣的讀者可以閱讀我們發(fā)表在2018SIGCOMM MECOMM的學(xué)術(shù)論文[15], 以進(jìn)一步了解詳細(xì)的Edgent算法設(shè)計與性能評估實驗。
5 總結(jié)
作為人工智能領(lǐng)域的當(dāng)紅炸子雞,深度學(xué)習(xí)技術(shù)近年來得到了學(xué)術(shù)界與產(chǎn)業(yè)界的大力追捧。目前,深度學(xué)習(xí)技術(shù)已在計算機(jī)視覺、自然語言處理以及語音識別等領(lǐng)域大放異彩,相關(guān)產(chǎn)品正如雨后春筍般涌現(xiàn)。由于深度學(xué)習(xí)模型需要進(jìn)行大量的計算,因此基于深度學(xué)習(xí)的智能通常只存在于具有強(qiáng)大計算能力的云計算數(shù)據(jù)中心。考慮到當(dāng)下移動終端設(shè)備的高度普及,如何將深度學(xué)習(xí)模型高效地部署在資源受限的終端設(shè)備,從而使得智能更加貼近用戶這一問題以及引起了學(xué)術(shù)界與工業(yè)界的高度關(guān)注。針對這一難題,本文提出了基于邊端協(xié)同的按需加速深度學(xué)習(xí)模型推理的優(yōu)化框架Edgent,通過協(xié)同優(yōu)化模型分割和模型精簡這兩種不同的策略,Edgent能夠在保障給定模型精確率的同時最小化模型推斷的端到端延遲。通過編碼實現(xiàn)了原型系統(tǒng)并將其部署在了由終端設(shè)備和邊緣服務(wù)器組成的真實設(shè)備上進(jìn)行真實實驗,本文論證了Edgent能夠在網(wǎng)絡(luò)邊緣端高效支撐計算機(jī)視覺這一典型深度學(xué)習(xí)應(yīng)用。
作者簡介:
李恩,在讀中山大學(xué)軟件工程碩士學(xué)位,研究方向為深度學(xué)習(xí)、邊緣計算。
周知,中山大學(xué)數(shù)據(jù)科學(xué)與計算機(jī)學(xué)院特聘副研究員,2017年于華中科技大學(xué)計算機(jī)學(xué)院獲得博士學(xué)位。近年來從事邊緣計算、邊緣智能、云計算和分布式大數(shù)據(jù)處理算等方面的研究,目前在包括IEEEJournal on Selected Areas in Communications、IEEETransactions on Parallel and Distributed Systems、 IEEE Transactions on Vehicular Technology, IEEENetwork、IEEE INFOCOM、IEEE ICDCS、IEEE IWQoS等國際高水平會議以及期刊上發(fā)表論文20余篇。現(xiàn)主持國家自然科學(xué)基金青年項目與廣東省自然科學(xué)基金面上項目各一項,曾作為主要技術(shù)骨干參與國家重點(diǎn)基礎(chǔ)研究發(fā)展計劃973專題項目、國家自然科學(xué)重點(diǎn)國際合作項目等多個科研項目。
陳旭,中山大學(xué)數(shù)據(jù)科學(xué)與計算機(jī)學(xué)院教授,擔(dān)任數(shù)字家庭互動應(yīng)用國家地方聯(lián)合工程實驗室、廣東省數(shù)字家庭互動應(yīng)用工程實驗室副主任,入選第十三批國家中組部“千人計劃”青年項目。迄今在IEEE Journal on Selected Areas in Communications、IEEE/ACM Transactions onNetworking、IEEE Transactions on Mobile Computing、 IEEE INFOCOM、IEEE ICDCS、ACM MOBIHOC、 ACMMM等國際高水平會議與權(quán)威期刊發(fā)表論文80余篇,ESI高被引論文4篇,熱點(diǎn)論文1篇,并由國際知名出版社Springer出版科研專著2部。 獲得IEEE ComSoc協(xié)會亞太區(qū)杰出青年學(xué)者獎、IEEEComSocYoungProfess ional最佳論文獎、CCFA類國際會議IEEEINFOCOM的最佳論文亞軍獎、IEEE通信協(xié)會旗艦會議ICC最佳論文獎以及國際會議IEEE ISI的最佳論文榮譽(yù)提名獎。獲邀擔(dān)任國際SCI期刊IEEE Internet of Things Journal、IEEE Journal on Selected Areas in Communications (JSAC) Serieson Network Softwarization and Enablers、IEEE AccessJournal副編輯。
參考文獻(xiàn):
[1] Krizhevsky A, Sutskever I, Hinton G E. Imagenet classification with deep convolutional neural networks[C]. Advances in neural information processing systems. 2012.
[2] China Telecom et al. 5G Mobile/Multi-Access Edge Computing[Z]. 2017.
[3] Iandola F N, Han S, Moskewicz M W, et al. Squeezenet: Alexnet-level accuracy with 50x fewer parameters and< 0.5 mb model size[J]. arXiv. 2016.
[4] Wu J, Leng C, Wang Y, et al. Quantized convolutional neural networks for mobile devices[C]. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016.
[5] Han S, Mao H, Dally W J. Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding[J]. Fiber. 2015.
[6] Kang Y, Hauswald J, Gao C, et al. Neurosurgeon: Collaborative Intelligence Between the Cloud and Mobile Edge[C]. International Conference on Architectural Support for Programming Languages and Operating Systems. 2017.
[7] Kim, Yong-Deok, Park, Eunhyeok, Yoo, Sungjoo, et al. Compression of Deep Convolutional Neural Networks for Fast and Low Power Mobile Applications[J]. Computer Science, 2015.
[8] Krizhevsky A, Hinton G. Learning multiple layers of features from tiny images[R]. Technical report, University of Toronto, 2009.
[9] Lane N, Bhattacharya S, Mathur A, et al. DXTK: Enabling Resource-efficient Deep Learning on Mobile and Embedded Devices with the DeepX Toolkit[C]. International Conference on Mobile Computing, Applications and Services. ICST (Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering), 2016.
[10] Oord A V D, Dieleman S, Zen H, et al. WaveNet: A Generative Model for Raw Audio[J]. arXiv, 2016.
[11] Qualcomm. Augmented and Virtual Reality: the First Wave of 5G Killer Apps[Z]. 2017.
[12] Szegedy C, Liu W, Jia Y, et al. Going deeper with convolutions[C]. Proceedings of the IEEE conference on computer vision and pattern recognition. 2015.
[13] Teerapittayanon S, McDanel B, Kung H T. Branchynet: Fast inference via early exiting from deep neural networks[C]. International Conference on Pattern Recognition. 2016.
[14] Wang D, Nyberg E. A long short-term memory model for answer sentence selection in question answering[C]. Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics(ACL) and the 7th International Joint Conference on Natural Language Processing(IJCNLP). 2015.
[15] En Li, Zhi Zhou, and Xu Chen. Edge Intelligence: On-Demand Deep Learning Model Co-Inference with Device-Edge Synergy[C]. Proceedings of the Workshop on Mobile Edge Communications. 2018.
摘自《自動化博覽》2018年增刊《邊緣計算2018專輯》