浙江大学学报(工学版), 2021, 55(4): 626-638 doi: 10.3785/j.issn.1008-973X.2021.04.004

计算机技术、电信技术

边端融合的终端情境自适应深度感知模型

王虹力,, 郭斌,, 刘思聪, 刘佳琪, 仵允港, 於志文

西北工业大学 计算机学院,陕西 西安 710072

End context-adaptative deep sensing model with edge-end collaboration

WANG Hong-li,, GUO Bin,, LIU Si-cong, LIU Jia-qi, WU Yun-gang, YU Zhi-wen

College of Computer Science, Northwestern Polytechnical University, Xi’an 710072, China

通讯作者: 郭斌,男,教授. orcid.org/0000-0001-6097-2467. E-mail: guob@nwpu.edu.cn

收稿日期: 2021-01-26  

基金资助: 国家重点研发计划资助项目(2019YFB1703901);国家自然科学基金资助项目(61772428,61725205)

Received: 2021-01-26  

Fund supported: 国家重点研发计划资助项目(2019YFB1703901);国家自然科学基金资助项目(61772428,61725205)

作者简介 About authors

王虹力(1999—),女,硕士生,从事深度学习模型环境自适应研究.orcid.org/0000-0001-8923-4695.E-mail:wanghongli@mail.nwpu.edu.cn , E-mail:wanghongli@mail.nwpu.edu.cn

摘要

研究边端融合的深度模型终端情境自适应问题. 提出边端融合增强的模型压缩方法(X-ADMM),利用模型压缩技术简化模型结构,以层为粒度寻找模型最佳分割点,协同边端设备提高运行效率. 为了实现模型分割的动态自适应,提出基于图的自适应深度模型手术刀算法(GADS). 当模型运行情境(如存储、电量、带宽等)发生变化时,优先在邻近分割状态中快速搜索最能满足资源约束的分割点,实现快速自适应调整. 实验结果表明,该模型平均在0.1 ms内实现了模型分割点的自适应调优,在保证模型精度下降不超过2.5%的情况下,运行总时延最高下降了56.65%.

关键词: 深度学习 ; 边缘智能 ; 模型压缩 ; 模型分割 ; 自适应感知

Abstract

The end context adaptative of deep models with edge-end collaboration was analyzed. The partition and alternating direction method of multiplier method (X-ADMM) was proposed. The model compression was employed to simplify the model structure, and the model was partitioned at layer granularity to find the best partition point. The model can collaborate with edge-end devices to improve model operation efficiency. The graph based adaptive DNN surgery algorithm (GADS) was proposed in order to realize the dynamic adaptation of model partition. The model will preferentially search for the partition point that best meets resource constraints among surrounding partition states to achieve rapid adaptation when the running context (e.g., storage, power, bandwidth) of the model changes. The experimental results showed that the model realized the adaptive tuning of model partition point in an average of 0.1 ms. The total running latency was reduced by 56.65% at the highest with no more than 2.5% accuracy loss.

Keywords: deep learning ; edge intelligence ; model compression ; model partition ; adaptive perception

PDF (1756KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

王虹力, 郭斌, 刘思聪, 刘佳琪, 仵允港, 於志文. 边端融合的终端情境自适应深度感知模型. 浙江大学学报(工学版)[J], 2021, 55(4): 626-638 doi:10.3785/j.issn.1008-973X.2021.04.004

WANG Hong-li, GUO Bin, LIU Si-cong, LIU Jia-qi, WU Yun-gang, YU Zhi-wen. End context-adaptative deep sensing model with edge-end collaboration. Journal of Zhejiang University(Engineering Science)[J], 2021, 55(4): 626-638 doi:10.3785/j.issn.1008-973X.2021.04.004

近年来深度神经网络(deep neural network, DNN)深刻改变着人们的生产生活方式. 自2009年ImageNet提出后,各种结构复杂的神经网络相继被提出以提升精度,如AlexNet[1]、ResNet[2],模型规模及计算量爆炸性增长[3]. 这给如何在资源和性能受限的终端平台上有效部署深度学习模型带来了挑战. 1)深度学习模型通常是计算密集型的大规模网络,需要较高的存储、计算和能耗资源,而终端设备的资源通常是有限的. 2)终端设备的计算情境差异性大,而深度学习模型通常是基于特定数据集进行训练的,对复杂计算情境的适应能力差. 3)在设备运行过程中,设备电量、存储空间、网络带宽等都处于动态变化过程中,为深度学习模型的鲁棒运行带来了巨大考验.

面对上述挑战,边缘智能(edge intelligence)应运而生[4],旨在协同终端设备与边缘设备,在靠近数据源头的用户端部署深度学习模型. 边缘智能整合了终端本地化计算无需大量数据传输与边缘端较强计算和存储能力的互补优势,将模型的推断过程由云端下沉至靠近用户的边端,在加强数据隐私的同时,避免不稳定网络状态的影响,提高服务的响应时间. 考虑到边端设备资源和网络状态的动态变化特性,现有工作无法提供动态自适应的边端协同计算模式.

本文提出面向动态变化终端应用情境的自适应边(边缘)端(终端)协同计算模式. 通过主动感知终端情境(待部署平台的资源约束、性能需求等),分别利用自适应的模型压缩和模型分割技术对深度学习模型结构(即模型结构化剪枝)和协同计算模式(即边缘/终端分割点)进行自动调优,实现自适应鲁棒的边缘智能.

1. 相关工作

随着对深度学习网络结构设计的复杂化,高昂的存储、计算资源需求使得难以有效将深度学习模型部署在不同的硬件平台上. 研究人员已从不同角度探索该问题的解决方案,包括边缘智能技术中的模型压缩、模型分割、模型选择及输入过滤等. 其中模型压缩技术及模型分割技术应用最广泛,下面将分别进行介绍.

1.1. 模型压缩技术

模型压缩是在神经网络训练期间或之后,通过修剪权重或其他方式降低模型复杂度,在保持精度的同时缩小原始网络的计算量和存储成本. 目前,国内外已有很多关于模型压缩的相关工作,主要可以分为知识蒸馏、低秩分解、网络剪枝、紧凑网络设计等不同方面. 其中知识蒸馏旨在将预先训练好的复杂教师模型中的输出作为监督信息,训练另一个结构简单的学生模型. Luo等[5]提出利用学习的领域知识,使用神经元选择的方法选择与面部识别最相关的神经元,以实现领域知识的迁移. 网络剪枝旨在剔除权重矩阵中“不重要”的冗余参数,仅保留对网络性能具有较大影响的重要参数,有效地降低了网络参数数量. 按照修剪粒度,可以分为非结构化剪枝和结构化剪枝. 非结构化剪枝是指将网络中的任意权重作为单个参数,进行修剪. Han等[6]将网络剪枝转化为从权重参数中选择最优权重组合的问题,实现对卷积核参数的修剪. 非结构化剪枝虽然可以大幅提高剪枝效率,但会导致网络连接不规整,且需要专业下层硬件和计算库的支持,否则剪枝后的网络性能很难得到提升. 结构化剪枝是粗粒度修剪,主要针对深度学习模型中的过滤器和通道进行修剪. ThiNet[7]以过滤器为单位进行剪枝,通过每层过滤器的输出判断是否修剪该过滤器. 结构化剪枝可以保证权值矩阵的完整性,但模型精度会大幅下降. 目前,网络剪枝的方法是模型压缩领域应用最广泛和简单有效的方法.

在自适应模型压缩领域已作出初步探索. AdaDeep[8]综合考虑用户需求和系统资源约束,为给定的DNN网络自动选择压缩技术的组合. DeepThings[9]通过在边缘集群上自适应地分布式执行网络的推理过程,实现工作负载的平衡分配及总延迟的降低.

目前的研究存在不足. 模型压缩技术的自适应程度较低,大多需要提前设定压缩的比例,无法根据硬件资源的动态变化自动调整压缩比例,且压缩后的模型常常面临资源需求不能满足或精度过低等问题. 考虑将模型压缩与模型分割技术相结合,协同边缘设备计算,在不损失精度的情况下有效降低运行总时延.

1.2. 模型分割技术

模型分割技术旨在根据不同粒度对模型进行分割,根据性能需求和模型资源消耗自动寻找最佳分割点,将深度模型的不同执行部分部署至多台边端设备上进行运行,实现多设备的协同计算. 该方向的研究重点是如何寻找最佳分割点. Kang等[10]提出轻量级的模型分割调度框架——Neuro-surgeon,可以通过最小化时延或能耗,在终端和云端以层为粒度自动对深度学习模型进行分割. JALAD[11]模型将模型分割问题建模为整数线性规划问题,在满足模型精度限制的情况下,通过最小化模型的推理时延寻找最佳分割点. MoDNN[12]模型从计算量入手,考虑将网络中的卷积层和全连接层分割,使得计算量分配至不同移动设备上,通过移动设备间协作实现高效的模型推理. Ko等[13]通过将分割后待传输的数据与有损编码技术结合,实现对传输时延的加速,从而降低整体的模型推断时间.

尽管目前的模型分割技术已经具备对模型运行环境的自适应能力,然而在动态硬件资源和网络通信环境下,深度学习模型的分割点应该是不断变化的,如何快速根据情境变化来重新选择适当的分割点成为一个重要挑战. 本文提出GADS算法,以当前分割状态为导向,优先在相似分割状态中搜索,实现分割点的快速自适应调整.

2. X-ADMM边端融合模型自适应

针对模型压缩后较大体量的模型可能无法部署在资源较受限的终端设备上,同时在受限的设备资源约束下难以在压缩比和精度之间权衡的问题,基于AutoCompress模型[14],提出X-ADMM模型. 结合模型压缩与模型分割,在离线状态下对神经网络模型进行压缩,即根据设定的压缩率进行压缩. 根据网络状况和时延需求,在线寻找合适的模型分割点,将神经网络部署至多台边端设备上.

模型压缩可以实现模型的初步简化,为了更好的模型分割奠基,模型分割可以解决模型压缩后所遇到的无法顺利部署及精度下降等问题,两者相辅相成、紧密结合. 模型分割技术的加入可以在保护用户数据隐私的情况下,协同边缘设备和终端设备,利用了边缘设备强大的计算能力,有效降低总时延,减少模型单台设备上的资源消耗.

2.1. 模型压缩

在模型压缩方面,利用AutoCompress中基于ADMM的权重修剪方案作为核心算法,采用结构化修剪方法,结合ADMM对网络参数进行精细的修剪. 具体的修剪流程如图1所示,包括以下4个步骤:1)动作抽样;2)快速动作评估;3)决定策略;4)实际修剪与结果生成.

图 1

图 1   模型压缩的一般流程图

Fig.1   Generic flow of model compression


动作抽样对超参数进行一次样本选择,得到一个动作表示. 由于超参数的搜索空间很大,若使用实际测量精度损失的方法会极为耗时,则步骤2)选择简单启发式的方法进行精度快速评估. 步骤3)根据动作样本的集合和精度评估,对超参数值进行决策. 步骤4)利用基于ADMM结构化剪枝的核心算法,进行实际的修剪. 模型运行过程是迭代进行的,步骤1)~5)的运行为一个循环,支持灵活的轮数设置,在给定精度的情况下实现最大程度的权重修剪.

在实际模型的修剪过程中,结构化剪枝中网络每层的修剪率、每层的修剪方式(或修剪方式的组合)均作为超参数待定,确定这些超参数最重要的步骤是ADMM规范化. 将DNN的损失函数定义为 $f(\{ {{{W}}_i}\} ,\{ {b_i}\} )$,其中 ${{{W}}_i}$${b_i}$分别为第 $i$层的权重及偏置集合,可以将结构化修剪权重问题定义为

$\left. { \begin{split} &{\mathop {{\rm{min}}}\limits_{\left\{ {{{{W}}_i}} \right\},\left\{ {{b_i}} \right\}} f\left( {\left\{ {{{{W}}_i}} \right\},\left\{ {{b_i}} \right\}} \right);}\\ &{{\rm{st.}}\;{{{W}}}_{i}\in {S}_{i},\;i=1,2,\cdots,N.} \end{split}} \right\} $

${S_i}$表示经过修剪后的模型剩余参数需要满足的预定义“结构”(即基于特定的模型压缩策略所产生的特定模型结构,是由上述控制各层修剪率、修剪方式的超参数决定的),则修剪过程变为在满足预定义网络“结构”下的最小化问题:

$\left. {\begin{array}{*{20}{c}} {\mathop {\min }\limits_{{\rm{\{ }}{{{W}}_i}{\rm{\} }},{\rm{\{ }}{b_i}{\rm{\} }}} f\left( {{\rm{\{ }}{{{W}}_i}{\rm{\} }},{\rm{\{ }}{b_i}{\rm{\} }}} \right){\rm{, \; }}{{{W}}_i} \in {S_i}};\\ {g({{{W}}_i}) = \left\{ {\begin{array}{*{20}{l}} {0,\;\;\;\;\;\;\;{W_i} \in {S_i}};\\ { + \infty,\;\;\;\; {\text{其他}}}. \end{array}} \right.} \end{array}} \right\}$

利用增广拉格朗日方法,将该问题转化为可以迭代求解的2个子问题,如式(3)所示.

$ \left. {\begin{array}{*{20}{c}} {\mathop {{\rm{min}}}\limits_{\left\{ {{{{W}}_i}} \right\},\left\{ {{b_i}} \right\}} \;f\left( {\{ {{{W}}_i}\} _{i = 1}^N,\{ {b_i}\} _{i = 1}^N} \right) + \displaystyle\mathop \sum \limits_{i = 1}^N \dfrac{{{\rho _i}}}{2}\left| {\left| {{{{W}}_i} - {{Z}}_i^k + {{U}}_i^k} \right|} \right|_{\rm{F}}^2};\\ {{\rm{}}\mathop {{\rm{min}}}\limits_{\left\{ {{{{Z}}_i}} \right\}} \;\displaystyle\mathop \sum \limits_{i = 1}^N {g_i}\left( {{{{Z}}_i}} \right) + \displaystyle\mathop \sum \limits_{i = 1}^N \dfrac{{{\rho _i}}}{2}\left| {\left| {{{{W}}_i^{k+1}} - {{Z}}_i^k + {{U}}_i^k} \right|} \right|_{\rm{F}}^2}. \end{array}} \right\}$

式中: ${{{Z}}_i}$为引入的辅助变量, ${{Z}}_i^k $为第k次迭代时引入的辅助变量, ${{U}}_i^k$为第k次迭代时的对偶变量, $\;\rho_i /2$为惩罚项系数. 通过迭代求解至收敛,可以得出满足预定义修剪结构的高精确度模型压缩方案.

在经过结构化剪枝后,开展纯化及冗余权重的消除操作,进一步减少模型权重数量. 纯化是由于第 $i$层的特定过滤器会在 $i + 1$层生成一个通道[15],在进行过滤器剪枝时. 若删除某层中的过滤器,需要将相应通道去除. ADMM正则化本质上是动态的、基于L2范数的正则化过程,正则化之后会产生大量非零、较小的权重. 由于ADMM正则化的非凸性,发现去除这些权重可以保持最终的准确性,甚至可以提高准确性. 整体框架如图2所示.

图 2

图 2   模型压缩框架图

Fig.2   Illustration of model compression framework


2.2. 模型分割

在模型推理的前向传播过程中,数据经过输入层、隐藏层最终传输到输出层,得到预测结果. 理论上只需保证层间数据传输的准确性,就可将模型的不同层部署至不同设备上运行. 模型分割算法即是基于这一理论实现的. 所以模型分割技术和模型压缩技术是互相独立的,两者互不影响,可以从不同层面降低复杂模型对设备硬件资源的需求. 模型压缩是通过减小模型冗余的方法,使得模型可以顺利部署至资源受限的设备上,但通常会产生模型精度的损失. 若设备资源上限十分受限,算法需要在精度下降和资源消耗之间进行平衡. 模型分割可以在不损失精度的同时,协同多个设备计算模型不同部分,完成整体的推理过程. 基于上述观察,考虑将模型压缩方案与模型分割方案相结合,实现更加高效与快速的模型推理.

在模型压缩完成后,初步实现对模型规模的缩减. 采用以层为粒度[10]的分割方式,即在神经网络层之后进行分割. 预测神经网络各层的推断时延,计算在每层之后进行分割所产生的总推断时延及各设备上的资源消耗. 根据任务的实时性能需求(推断时延、资源上限),选择最佳分割点. 总之,在模型压缩方案之后,采用模型分割技术,根据总时延寻找最佳分割点,将其部署至边端设备上.

每种分割方案总时延的计算参考DADS工作[16],将网络运行的总时延分为计算时延及传输时延. 以2台设备(边缘设备及终端设备)为例,总时延计算为

$T = {T_{{\rm{edge}}}} + {T_{\rm{t}}} + {T_{{\rm{end}}}}.$

式中: ${T_{{\rm{edge}}}}$为边缘端的计算时延, ${T_{\rm{t}}}$为传输时延, ${T_{{\rm{end}}}}$为终端的计算时延.

$t_i^{{\rm{edge}}}$为第 $i$层在边缘端的计算时延, $t_i^{{\rm{end}}}$为第 $i$层在终端的计算时延,若分割状态将共有 $n$层的网络在 $l$层之后进行分割并部署,则终端和边缘端的计算时延为

${T_{{\rm{end}}}} = \mathop \sum \limits_{i = 0}^l t_i^{{\rm{end}}},$

${T_{{\rm{edge}}}} = \mathop \sum \limits_{i = l}^n t_i^{{\rm{edge}}}.$

传输时延为

${T_{\rm{t}}} = {{{d_l}}}/{B}.$

式中: ${d_l}$表示分割点 $l$层输出的数据,即待传输的数据中间结果; $B$为网络带宽.

3. GADS边端融合模型快速自适应

当设备运行情境发生变化、导致设备资源预算变化或实时性能目标(推断时延)发生变化时,X-ADMM算法需要重新运行以调优模型,耗时且耗能,无法在动态情境下提供实时调优方案. 为了满足动态情境下模型快速自适应能力的需求,从模型分割阶段着手,改进X-ADMM方法,提出基于图的自适应DNN手术刀算法(graph based adaptive DNN surgery,GADS). 该方案在模型分割的实现过程中,无需在情境产生变化时重新运行,而是主动捕捉目标部署设备的资源约束. 动态调优模型分割点,产生新的模型计算方案,实现实时自适应的边端协同计算.

介绍模型分割实验中发现的最优分割点周围存在次优分割点的规律,将其命名为最近邻边端模型分割效应. 提出基于图的自适应DNN手术刀算法(graph based adaptive DNN surgery,GADS),为动态情境在局部区域寻找最佳分割点. 目的是在最短时间内寻找最能满足资源约束的分割方案,实现模型的快速自适应调优.

3.1. 最近邻边端模型分割效应及GADS算法的提出

在以层为粒度划分DNN的实验中发现,最优分割点附近总是存在次优分割点,如图3(a)所示. 将其命名为最近邻边端模型分割效应,以指导资源状态动态变化时深度模型最优分割点的快速搜索.

模型的推断总时延由在各设备上的计算时延和传输时延构成,目标是找到使总时延最短的最优分割点,实现模型计算时延和传输时延间的折中,使模型总推断时延较小. 如图3(b)所示(以AlexNet为例),DNN模型中各层的 $t_i^{{\rm{edge}}}$${d_l}$有不同的趋势. 位于模型前端的卷积层计算时延较短,但产生的中间输出数据通常较大. 位于模型尾部的全连接层产生的中间输出数据量较小,但计算时延较大. 这些特性是由CNN网络结构的特点决定的. 卷积层需要应用数百个过滤器提取图片特征,每个过滤器运算后均会产生一定数量的特征图,所以产生的输出数据量较大. 全连接层具有固定数量的少量神经元,产生的输出数据量较小且相似.

图 3

图 3   最近邻边端模型的分割效应

Fig.3   Neighbor partition effect of edge-end model


根据对模型各层计算时延及中间输出数据变化趋势的分析,模型分割算法选择不同层进行分割时,倾向于选择后面几层进行分割,从而将前端计算时延较短的层部署在终端,可以选择中间输出数据较小的层,避免大量传输时延. 在计算能力较强的终端或边缘端执行模型后端的部分,利用高计算能力,减少总时延. 这导致了“最近邻边端模型分割效应”的出现. 近邻效应本质上由网络各层的输出数据量、带宽和计算延迟决定,验证在不同带宽和不同模型下最近邻边端模型分割效应的普适性.

基于上述规律,提出基于图的自适应DNN手术刀算法——GADS算法,算法概念图如图4所示. 当模型运行的情境(如设备存储资源、设备电量或网络带宽等)发生变化时,主动感知当前情境,以感知到的设备资源预算作为资源约束条件Target(反映为设备存储资源预算 $M$、能耗预算 $E$及时延预算 $T$). GADS旨在利用构建的分割状态图 $G$,快速自适应地搜索满足资源预算的分割状态. 搜索时,在最近邻边端模型分割效应的指导下,GADS以当前分割状态为导向,优先由周围相似分割状态快速搜索最能满足约束的分割方式,以实现模型快速的自适应过程.

图 4

图 4   基于图的自适应深度模型手术刀算法

Fig.4   Algorithm of graph based adaptive DNN surgery


3.2. 最优分割点近邻规律验证

针对3.1节阐述的最优分割方式周围存在次优分割方式的规律进行验证及探讨,验证网络带宽发生变化时规律的连续性以及网络结构发生变化时(如ResNet、VGG、GoogleNet等不同网络结构)规律的普适性.

3.2.1. 带宽变化下的规律验证

在以WIFI作为数据传输媒介的情况下,网络带宽设定为0.5~20 MB/s,实验结果如图5所示. 在不同的网络带宽下,模型最优分割点附近分割点的总时延不会出现突变,即最优分割点周围存在次优分割点的规律依然存在.

图 5

图 5   不同网络带宽下对AlexNet进行划分的总时延

Fig.5   Inference latency for AlexNet with different bandwidths


在相同的网络分割情况下,当网络带宽变小时,边缘计算及终端计算时延保持不变,数据传输时延变长在总时延中的占比变大,如图5(b)所示. 当模型及待部署设备不变,带宽发生变化的情况下,该规律的本质是由神经网络每层输出数据量(待传输数据量)决定的.

图6所示,AlexNet网络中卷积层每层的输出数据量较大,尤其前3个卷积层使用数百个过滤器提取图片特征,产生大量的输出数据;全连接层的各层输出数据较小. 当网络带宽变化时,模型分割算法在数据输出量较小的层后分割,可以保证模型具有较低的总运行时延,分割点的选择与各层输出数据量密切相关. 最近邻边端模型分割效应在带宽变化下具有连续性.

图 6

图 6   AlexNet各层输出数据量

Fig.6   Output data size of each layer in AlexNet


3.2.2. 网络结构变化下的规律验证

最优分割点近邻规律由AlexNet网络每层输出数据量及设备的异构性决定. 以CNN中的几个经典模型:VGG、ResNet-18为例,分析该规律在卷积神经网络中是否具有普适性.

在网络带宽为2 MB/s的情况下,各网络运行总时延如图7所示. 可以看出,不同结构CNN网络在运行总时延变化规律上是类似的,证明最优分割点周围存在次优分割点的规律性不因网络结构的变化而发生改变.

图 7

图 7   经典CNN不同分割方案下总时延及输出数据变化图

Fig.7   Inference latency and output data size under different partitions of CNNs


3.3. GADS算法
3.3.1. 模型分割状态结点构建

将DNN网络的分割状态建模为图结构,各结点表示一种网络的分割状态,以结点间的连线体现分割状态之间的相邻关系. 令 $G = (V,L)$表示网络的图结构,其中 $V = $ $ \{ {v_1},{v_2}, \cdots, {v_{{n}}}\} $表示DNN网络的所有分割状态, $L$表示图结构中的链接. 若 $({v_i},{v_j}) \in L$,则表示 ${v_i}$${v_j}$ 2种分割状态相邻. 理论上,这种图构建方式可以表示任意DNN在多台设备上的全部分割状态,如图8所示为AlexNet部署在2台设备上所有分割状态的图结构.

图 8

图 8   构建2台设备下的模型分割状态图

Fig.8   Construction of model partition state graph on two devices


以局部分割图为例,如图9所示,每个结点由3个参数组成,框选结点表示当前网络被分割为2个执行部分,分割点选择在第3层之后,将其顺序部署至A、B 2个设备上. 各分割状态结点所代表的实例点以该分割方案在各设备上的资源消耗表示.

图 9

图 9   2台设备下部分分割状态的图结构

Fig.9   Part of model partition state graph on two devices


将在模型结构中分割点相邻2个分割方案定义为相邻,将相邻的对应分割状态结点相连,如框选分割状态结点在第3层进行分割,分割点向前向后移动可与其他2个分割状态结点相连. 如图9${v_{\rm{1}}}$${v_{{\rm{14}}}}$结点,表示网络没有被分割,在A或B设备上独立运行. 独立运行在A设备上的分割状态结点是由选择在12层的分割点向后移动一层演变的(AlexNet共13层),类似的独立运行在B设备上的分割状态结点是由选择在1层的分割点向前移动一层演变的.

该结构可以体现最近邻边端模型分割效应,以便指导后续的搜索过程. 如图9所示,与 $ {v}_{4} $相邻的各分割状态在同一 ${L_p}$距离(体现两分割状态间的相似程度)等高线上,即 ${v_{\rm{5}}}$${v_{\rm{6}}}$对应分割方案的资源消耗与 ${v_{\rm{4}}}$对应的资源消耗是相近的.

3.3.2. 分割状态量化

1)分割状态情境量化. 程序在设备上运行时需要许多系统资源,例如存储资源和计算资源. 算法要实现根据情境自适应调优模型,须主动捕捉设备中动态变化的资源状态(设备存储资源、设备电量、网络带宽),建模为程序可使用的资源约束,实现对情境的实时感知. 如式(8)所示,根据设备的存储资源,利用函数关系映射到当前程序可使用的存储资源上限上:

${M_{\rm{p}}} = f\left( {{M_{\rm{e}}}} \right).$

式中: ${M_{\rm{p}}}$表示程序可使用存储资源的上限, ${M_{\rm{e}}}$表示当前设备可以用的存储资源.

2)分割状态结点量化. 根据3个重要的情境指标,对分割状态结点进行量化,分别为存储、能耗、时延. 使用矩阵表示各设备的指标,如下所示(以2台设备为例):

${{R}} = \left[ {\begin{array}{*{20}{c}} {{M_1}}&{{E_1}} \\ {{M_2}}&{{E_2}} \end{array}} \right]{\rm{,}}\; {\bf{Target}} = \left[ {\begin{array}{*{20}{c}} {M_1^{\rm{'}}}&{E_1^{\rm{'}}} \\ {M_2^{\rm{'}}}&{E_2^{\rm{'}}} \end{array}} \right].$

式中:R是由当前分割状态结点决定的,其中 ${M_i}$为当前分割状态下第 $i$个设备上模型对存储资源的占用量, ${E_i}$为当前分割状态下第 $i$个设备上模型运行产生的能耗;Target为根据主动感知到的设备可用资源上限构建的约束矩阵. 当R$T$满足约束时,当前分割状态是合适的,如下式所示:

$ \left. \begin{array}{l} {M_i} \leqslant M_i^{'},\;i = 1,2;\\ {E_i} \leqslant E_i^{'},\;i = 1,2;\\ {T} \leqslant T{'} \end{array} \right\} $

式中:T ′为用户对模型的实时时延约束.

根据当前分割状态,量化各指标的公式如下.

a)存储M. 参考AdaDeep[8]中对DNN各资源约束的量化规范,网络运行所需的存储资源由网络中偏置量和权值所需的存储位数决定,如下所示:

$M = {M_{\rm{f}}} + {M_{\rm{p}}} = \left| \chi \right|{B_{\rm{a}}} + \left| \omega \right|{B_{\rm{w}}}.$

式中: ${M_{\rm{f}}}$${M_{\rm{p}}}$分别为网络的全部偏置量和权值所需的存储位数; $\chi $$\omega $分别为网络中的偏置量和权值参数的数量; ${B_{\rm{a}}}$${B_{\rm{w}}}$分别为单个偏置量和权值所占的位数,若为tensorflow张量,则 $ {B}_{\rm{a}}={B}_{\rm{w}}=32位$.

某设备上的 ${M_i}$与部署并运行在该设备上的网络层数有关.

b)能耗E. 模型的能耗可以分为计算能耗 ${E_{\rm{c}}}$和内存访问能耗 ${E_{\rm{M}}}$,如下:

$E = {E_{\rm{c}}} + {E_{\rm{M}}} = {\varepsilon _1}{C_{{\rm{MAC}}}} + {\varepsilon _2}{M_{\rm{P}}} + {\varepsilon _3}{M_{\rm{f}}}.$

式中:以 ${C_{{\rm{MAC}}}}$网络的乘加操作总数衡量计算能耗, ${\varepsilon _1}$为每个乘加操作的能耗;访问能耗被转化为访问Cache和DRAM的能耗, ${\varepsilon _{\rm{2}}}$${\varepsilon _3}$分别为访问Cache和DRAM中每比特的数据产生的能耗. 在模型分割范式中,模型被提前存储至各设备端,故模型的调度可以看作激活存储所产生的能耗. 为了计算模型运行所产生的内存访问能耗,参考Chen等[17]的工作,将偏置量和权值分别存储在Cache和DRAM中.

参考Yang等[18]提出的网络硬件能量模型,其中 ${\varepsilon _2}$${\varepsilon _3}$分别是 ${\varepsilon _1}$的6倍和200倍,终端测量的计算能耗系数 ${\varepsilon _1} = 52.8\;{\rm{ pJ}}$[18].

c)总时延T. 网络运行的总时延可以分为计算时延及传输时延,以2台异构设备(边缘设备、终端设备)为例,总时延的公式为

$T = {T_{{\rm{edge}}}} + {T_{\rm{t}}} + {T_{{\rm{end}}}}.$

式中: ${T_{{\rm{edge}}}}$为边缘端的计算时延, ${T_{\rm{t}}}$为传输时延, ${T_{{\rm{end}}}}$为终端的计算时延.

具体每项时延的计算可见3.2节. 其中传输时延计算中的带宽可以体现情境中网络状态的动态变化,如式(7)所示.

3.3.3. GADS算法实现

基于对DNN网络的分割状态建模得到的图结构,提出GADS算法. 当终端设备情境发生变化时,以当前分割状态结点为导向,确定相邻分割状态结点为搜索子集;利用最优分割点周围存在次优分割点的规律,快速搜索合适的分割状态并对DNN进行相应分割,部署到多台设备上实现协同运行.

在分割状态结点搜索的过程中,有许多常用的方法,例如KNN最近邻搜索,可以通过比较所有结点与Target之间的距离(体现2个分割状态间的相似程度)寻找全局最近邻,但是不能高效地解决特征数据是高维复杂的问题(如3.3.2节所示,2台异构设备下,指标矩阵是五维的). 考虑使用KD树最近邻搜索算法,搜索次优分割点. KD树最近邻搜索是针对高维特征数据进行存储、以便进行快速查找的数据结构,可以将K维的特征数据切分在不同的空间中,每次选择其中1个维度将数据划分为2部分,直到所有的特征数据被划分完毕. 若有一组二维特征数据,KD树如图10所示.

图 10

图 10   KD(K维)树构建示例

Fig.10   Example of constructing KD(K-dimensional)tree


在构建完成KD树后,根据目标点Target寻找最近邻分割状态的步骤如下.

1)在KD树中确定包含Target的叶结点(根据KD树的构建原理可知,各结点会对应一个超平面). 由根结点向下递归访问,若Target坐标值小于切分点坐标值,则移动至左子结点,否则移动至右子结点,直至子结点为叶子结点.

2)以该叶子结点为“当前最近点”.

3)由“当前最近点”递归向上回退,在各结点进行以下判断.

a)若该结点对应的实例点较当前最近点距离Target更近,则将该结点作为“当前最近点”.

b)检查该结点的父结点,查看父结点另一子结点区域,是否有更近的结点. 以Target为圆心、Target和当前最近点的距离为半径,判断另一子结点对应区域是否与该圆相交. 若相交,则该区域可能存在距Target更近的结点;若不相交,则继续向上回退.

4)当搜索过程回退至根结点时,搜索结束,“当前最近点”为KD树中距Target最近的结点.

总之,KD树通过将K维空间中相距较近的特征数据提前划分在一起,在最近邻搜索的过程中,借助KD树中每个结点代表的空间范围,可以提前判断该分支是否可能存在最近邻结点,以减少对大量数据点的检索,实现加速搜索.

将KD树最近邻搜索作为GADS算法的核心搜索算法,定义 ${L_p}$距离量化结点间的差距(反映2个分割状态间的相似程度),定义分割状态结点 ${{{n}}_i}$${{{n}}_j}$之间的差距:

$\begin{split} &{L_p}\left( {{{{n}}_i},{{{n}}_j}} \right) = \\ &{\left( {\sum\limits_{k = 1}^2 {(\alpha |{M_{ik}} - {M_{jk}}{|^p} + \beta {\rm{|}}{E_{ik}} - {E_{jk}}{|^p}) + \gamma |{T_i} - {T_j}{|^p}} } \right)^{{1}/{p}}}. \end{split}$

式中: $\alpha $$\;\beta $$\gamma $为各指标在量化结点间差异时的重要程度, ${M_{ik}}$${{{n}}_i}$分割状态下第 $k$个设备运行分割后部署的部分网络所需的存储资源, ${E_{ik}}$为第 $k$个设备运行所部署的网络所产生的能耗, ${T_i}$${{{n}}_i}$分割状态下的总时延. 若 ${L_p}\left( {{{{n}}_1},{{{n}}_3}} \right) \leqslant {L_p}\left( {{{{n}}_1},{{{n}}_6}} \right)$,则可以认为 ${{{n}}_3}$结点较 ${{{n}}_6}$${{{n}}_1}$分割状态结点各指标近,两者分割状态具有较大的相似性.

由于各项指标的数值量级不在统一标准下,单位不同,且 ${L_p}$距离中真正起作用的是不同指标的变化幅度,而不是某个指标的绝对变化值,对分割状态结点计算出的各指标值进行归一化. 利用Min-max归一化,将各指标数据范围缩放到0~1.0,以存储资源指标为例,归一化为

${M_{{\rm{norm}}}} = \frac{{M - {M_{{\rm{min}}}}}}{{{M_{{\rm{max}}}} - {M_{{\rm{min}}}}}}.$

式中: ${M_{{\rm{max}}}}$${M_{{\rm{min}}}}$为该网络所有分割状态中存储资源指标的最大和最小值,能耗指标的归一化同理. 总时延指标由计算时延及传输时延确定,其中传输时延涉及到网络带宽变化范围,将网络带宽的上、下限 ${T_{{\rm{max}}}}$${T_{{\rm{min}}}}$分别设置为0.5、20 MB/s.

搜索合适分割方式的问题转化为带距离的图结构,参考最近邻搜索解决该问题. GADS算法的具体流程如下.

算法1:GADS算法

输入:设备情境,网络带宽 $B$,当前分割状态 ${{{n}}_{\rm{R}}}$,分割状态图 $G$

输出:调优后的分割状态 ${{n}}_{\rm{R}}^{'}$

  确定设备指标约束矩阵 ${\bf{Target}}$,根据当前网络带宽更新当前分割状态总时延T

  构建 ${\bf{Target}}$对应的分割状态结点 ${{{n}}_{\rm{T}}}$,初始化 ${{n}}_{\rm{R}}^{'}$${\rm{tree}}$

  If ${L_p}({{{n}}_{\rm{R}}},{{{n}}_{\rm{T}}}) > f$ do

    以任意当前分割状态的近邻分割状态为“当前最近点” ${{n}}_{\rm{R}}^{'}$

    While ${L_p}\left( {{{n}}_{\rm{R}}^{'},{{{n}}_{\rm{T}}}} \right) \geqslant f$ do

      由 $G$选择s步可达的结点构建搜索子集

      以 ${L_p}$衡量结点间距离,利用KD树最近邻算法,寻找搜索子集中 ${{{n}}_{\rm{T}}}$的最近邻结点 ${{{n}}_{{\rm{temp}}}}$

     ${{n}}_{\rm{R}}^{'} = {{{n}}_{{\rm{temp}}}}$

      扩大搜索子集 $s = s + 1$.

  Else ${{n}}_{\rm{R}}^{'} = {{{n}}_{\rm{R}}}$

  部署 ${{n}}_{\rm{R}}^{'}$对应的分割状态

s步选择的意义如下:1)GADS算法并非为了寻找全局最优解;2)加入s步可以加速寻找最近邻.

4. 实验验证

4.1. 数据集选择和实验设置

在X-ADMM实验中,利用树莓派4作为终端设备,戴尔Inspiron 13-7368模拟边缘设备,对X-ADMM模型的有效性进行验证. 神经网络模型分别选择AlexNet、GoogleNet、ResNet-18及VGG-16、MobileNet、ShuffleNet 6个图像处理领域常用的CNN网络进行实验.

在模型压缩实验过程中,利用CIFAR-10数据集进行模型训练,CIFAR-10是普适的彩色图片小型数据集. 模型网络结构代码基于Pytorch实现,网络实现及模型参数设置如下. 在模型压缩阶段,训练过程的批次大小设为64,优化器选择Adam优化器,学习率设置为10−3. 在模型分割阶段,需要根据最佳分割点,将网络不同层部署至不同设备上运行. 在Pytorch框架中,神经网络模型的前向传播函数接收输入后,会一次性执行所有的网络层得到对应的输出,因此对神经网络的前向传播函数进行重构,为前向传播函数的参数增加起始层、中止层及是否是训练阶段3个特殊参数(startLayer、endLayer、isTrain),使得网络模型可以根据分割点所决定的起止层划分网络并部署,避免了对训练过程的影响.

4.2. X-ADMM模型实验结果

模型压缩后的实验结果如图11所示. 图中,ktka分别为时延下降比例和精度下降比例. 可以看出,模型压缩技术对4个模型的性能都有不同程度的提升,经过16倍的压缩之后(实验设定的压缩比例),模型推断时间获得了不同的加速效果. 其中AlexNet、GoogleNet、ResNet-18及VGG-16网络分别在精度下降不超过2.5%的情况下,实现了14.1%、3.6%、6.2%、23.5%的加速效果. 基于ADMM的结构化剪枝可以实现在保证精度不产生较大损失的情况下,减少模型参数量和计算量. 经过模型压缩之后,X-ADMM根据总时延、能耗及网络带宽等的要求,自动寻找当前的最佳模型分割点.

图 11

图 11   模型压缩后推断延迟和精度下降比例

Fig.11   Drop ratio of inference latency and accuracy of models after compression


最终X-ADMM的实验结果见表1. 表中,A0T0为执行X-ADMM算法前的准确率和推断时间,γ为压缩比,TRAP-ADMMARAP-ADMM分别为RAP-ADMM推断时间和准确率,TX-ADMMAX-ADMM分别为X-ADMM推断时间和准确率. 可以看出,经过进一步的模型分割,在6个模型精度基本保持不变的情况下,总推断时间分别下降了22.4%、43.56%、25.2%、56.65%、26.87%、24.36%. 因为由AlexNet至VGG-16模型的复杂度和网络规模逐渐升高,经过模型相同倍数的压缩后,对大体量模型的简化效果更明显. 根据对MobileNet不同倍数的压缩结果发现,随着模型压缩比的增大,模型精度显著下降,甚至在实验过程中8倍压缩后的MobileNet网络无法实现超过15%的精度.

表 1   不同方法下典型深度学习模型的推断时延和精度

Tab.1  Inference latency and accuracy of typical deep learning models with different approaches

网络 A0 /% T0 /ms γ TRAP-ADMM[19] /ms ARAP-ADMM /% TX-ADMM /ms AX-ADMM /%
Alexnet 85.82 46.8 14.7 38.78 84.21 36.3 84.17
GoogleNet 87.48 943.6 15.6 883.95 84.91 532.6 84.60
Resnet-18 91.60 285.5 15.4 267.70 90.01 213.5 89.80
VGG-16 91.66 203.7 16.0 186.90 89.59 88.3 89.20
MobileNet 89.60 219.2 2.0 207.89 87.96 179.2 87.90
MobileNet 89.60 219.2 4.0 196.69 80.60 160.3 80.83
ShuffleNet 88.14 202.8 4.0 183.79 84.25 153.4 84.19

新窗口打开| 下载CSV


将X-ADMM与先进模型压缩算法RAP-ADMM[19]进行性能对比. 实验结果表明,在深度学习模型上,X-ADMM在有限精度损失的情况下,性能均优于RAP-ADMM所取得的加速效果. X-ADMM与RAP-ADMM相比,各网络的总推断时延分别节省了6.40%、39.75%、20.25%、52.76%、18.50%、16.54%.

总之,X-ADMM结合模型压缩及模型分割技术,减少了模型计算量,有效降低了总推断时间,同时保持模型精度基本不变.

4.3. GADS算法实验结果

4.3.1.  ${L_p}$距离搜索最近邻有效性验证

针对利用 ${L_p}$距离搜索最近邻是否可以解决搜索最优分割点周围次优分割点的问题,展开实验验证. 在使用KD树进行搜索的基础上,增加使用KNN最近邻方法进行搜索,两者均使用 ${L_p}$距离进行搜索,验证使用 ${L_p}$距离搜索最近邻的有效性.

实验结果如图12所示. 图中,实心五角星表示GADS搜索到的最佳分割点,实心正方形表示GADS搜索到的第2~5位优分割点,空心五角星及正方形对应KNN搜索到的最佳分割点及第2~5位优分割点.

图 12

图 12   KNN(K近邻算法)与KD树搜索的效果对比

Fig.12   Comparison of KNN(K-nearest neighbor)and KD trees search approaches


图12可得如下结论. 1)在相同的指标约束下,利用2种算法搜索到的前3个较优分割方式相同. 2)在相同的指标约束下,利用2种算法搜索到的各较优分割方式相邻,吻合最优分割方式周围存在次优分割方式的规律. 3)在相同的指标约束下,GADS搜索算法由于受到步数的限制,可能与KNN的全局搜索结果不同,如图12(a)所示,选择合适的s可以加快GADS算法的搜索过程,保证搜索到较优的分割方式(CNN中卷积层的前几层主要是为了提取图像特征,s选择非全连接层数的一半较合适). 4)如图12(a)中GADS的搜索结果所示,算法的次优分割点并非推断总时延最小的几个分割点. 因为位于全连接的分割方式虽然推断总时延较小,但会使得终端设备上占用存储资源和运行能耗产生较大的提高,说明了GADS算法以多指标为综合评价标准在选择最优分割点过程中的有效性.

在不同的设备情境,即网络带宽为0.5 MB/S的情况下的搜索效果对比如图12(b)所示. 该情境下更倾向于在模型的全连接层进行划分,因为在网络状态较差的情况下,数据传输时延的高昂代价无法被边缘端的计算优势抵消.

4.3.2. KD树搜索有效性验证

将KD树最近邻搜索为核心的GADS算法与KNN最近邻搜索算法、Neurosurgeon等优秀的模型分割算法进行实验对比,研究并验证KD树搜索在搜索次优分割点过程中的有效性.

在实验中,Neurosurgeon的时延计算采用与本文相同的计算方式(见3.3.2节). 实验结果如表2所示. 表中, ${L_{p\rm{a}}}$为利用各算法搜索到的分割方案与Target间的平均 ${L_p}$距离, ${S_{\rm{t}}}$为各算法为动态情境寻找分割方案的平均搜索时间. 在搜索全部分割状态的情况下,GADS算法的搜索时间较Neurosurgeon算法实现了平均4.41倍的加速效果,相比使用KNN最近邻搜索的GADS算法有平均7.46倍的加速,说明加速效果的实现是源于KD树最近邻搜索的优势,可以根据提前构建的KD树避免对一些无效分割状态的搜索. GADS-KNN的搜索时间较Neurosurgeon模型更长的原因主要是KNN需要计算分割状态结点之间的 ${L_p}$距离,且原始的Neurosurgeon模型需要在运行过程中不断预测当前分割状态下的计算时延,所需的时间更长.

表 2   KD树搜索的有效性

Tab.2  Effectiveness of KD tree search

算法 ${L_{ p{\rm{a} } } }$ ${S_{\rm{t}}}$ /ms
Neurosurgeon 0.0822 0.4412
GADS-KNN 0.0452 0.9927
GADS-KD树(无s) 0.0452 0.1331
GADS 0.0581 0.0997

新窗口打开| 下载CSV


4.3.3. GADS自适应能力验证

通过设计一些特定情境下对应各项指标的变化,观察并分析算法调优后的分割方式是否适合该情境,以验证GADS算法的自适应能力. 如表3的高亮部分所示,情境变化包括终端存储资源减少、终端电量降低以及网络带宽降低,实验结果见表3.

表 3   GADS自适应能力实验结果

Tab.3  Experiments on adaptive ability of GADS

情境变化 M1 /MB M2 /MB E1 /J E2 /J T ′ /s B /(MB·s−1 变化前分割状态集 变化后分割状态集
移动端存储减少 230 9 0.02 0.02 0.01 6 8,10,9 7,8,10
移动端存储减少 230 4.5 0.02 0.02 0.01 6
移动端电量降低 230 9 0.02 0.02 0.01 6 8,10,9 6,7,8
移动端电量降低 230 9 0.02 0.005 0.01 6
网络带宽降低 230 9 0.02 0.02 0.01 6 8,10,9 10,8,9
网络带宽降低 230 9 0.02 0.02 0.01 1

新窗口打开| 下载CSV


若在终端存储资源减少,其他各项指标不变的情况下,即 ${M_2}$指标发生变化,分割状态集由情境变化前的(8,10,9)变为(7,8,10)(该数字表示算法搜索到的前3位优分割点的所在层,以id来表示分割点在网络的第几层,id为[0,13],id=0表示全边缘端计算,随着id的增加越来越多的层被部署在终端计算). 终端的存储资源减少,模型运行在终端可用的存储资源降低. 如图13(a)所示为不同分割方式下部署在终端、边缘端的部分模型所需存储量的变化. 终端的存储资源减少,算法搜索到的分割点前移,使得部署在终端的层数减少. 该算法兼顾能耗和时延指标的约束,变化前的分割状态集与变化后的分割状态集中的分割状态id是相邻的.

图 13

图 13   AlexNet不同分割点下所需的存储量、能耗

Fig.13   Memory and energy consumption required at different partition points on AlexNet


若终端的电量降低,在其他各项指标不变的情况下, ${E_2}$指标发生变化,分割状态集由情境变化前的(8,10,9)变为(6,7,8). 如图13(b)所示,终端的电量减少,模型运行在终端可用的能耗上限降低,算法搜索到的分割点前移,以保证运行终端部署的部分模型满足电量预算.

若网络带宽降低,在其他各项指标不变的情况下,分割状态集由情境变化前的(8,10,9)变为(10,8,9). 网络带宽降低导致传输时延增大,使得当前分割状态的各项指标无法满足资源约束. 如图14所示为不同分割方式下待传输中间输出数据量与推断总时延的变化. 可以看出,当网络带宽降低时,算法搜索到的分割点后移,使得部署在终端的层数增多,因为当网络带宽较差时,需要选择待传输中间数据量较小的分割点以降低传输时延.

图 14

图 14   AlexNet不同分割点下总时延与各层中间输出数据量

Fig.14   Inference latency of different partition points and output data size of each layer on AlexNet


5. 结 语

提出构建边端融合的终端情境自适应的深度感知模型. 通过主动感知终端“情境”(如待部署平台的资源约束和性能需求),利用边缘智能技术,对模型的结构和运算模式进行自动调优,实现模型的顺利部署. 提出X-ADMM模型,结合模型压缩与模型分割技术,对模型进行简化. 根据资源约束寻找合适的分割点,协同边缘设备计算,有效地减少单台设备上的存储、能耗,提高模型的运行效率. 为了使模型具备强自适应能力,提出GADS算法. 在发现的最近邻边端模型分割效应的驱动下,当模型运行的情境发生变化时,以当前分割状态为导向,优先由周围相似分割状态搜索合适的分割状态,以实现模型的快速自适应.

实验结果表明,结合模型压缩和分割技术,可以在保证模型精度的同时,有效降低神经网络模型运行的总时延. 在模型的快速自适应能力方面,GADS算法平均在0.1 ms内实现了模型分割状态的快速自适应调优.

后续工作将会考虑在多个同构或异构设备的算法实现,探索结合层间横向粒度分割的更细粒度、更高效的模型分割,考虑使用更高效的搜索算法进行改进.

参考文献

KRIZHEVSKY A, SUTSKEVER I, HINTON G E

Imagenet classification with deep convolutional neural networks

[J]. Advances in Neural Information Processing Systems, 2012, 25: 1097- 1105

[本文引用: 1]

HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016: 770-778.

[本文引用: 1]

ALOM M Z, TAHA T M, YAKOPCIC C, et al

A state-of-the-art survey on deep learning theory and architectures

[J]. Electronics, 2019, 8 (3): 292

DOI:10.3390/electronics8030292      [本文引用: 1]

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

DOI:10.1109/JPROC.2019.2918951      [本文引用: 1]

LUO P, ZHU Z, LIU Z, et al. Face model compression by distilling knowledge from neurons [C]// Proceedings of the 30th AAAI Conference on Artificial Intelligence. Arizona: AAAI, 2016: 3560-3566.

[本文引用: 1]

HAN S, POOL J, TRAN J, et al. Learning both weights and connections for efficient neural networks [C]// Proceedings of the 28th International Conference on Neural Information Processing Systems. Montreal: MIT Press, 2015: 1135-1143.

[本文引用: 1]

LUO J H, WU J, LIN W. Thinet: a filter level pruning method for deep neural network compression [C]// Proceedings of the IEEE International Conference on Computer Vision. Venice: IEEE, 2017: 5058-5066.

[本文引用: 1]

LIU S, LIN Y, ZHOU Z, et al. On-demand deep model compression for mobile devices: a usage-driven model selection framework [C]// Proceedings of the 16th Annual International Conference on Mobile Systems, Applications, and Services. Munich: ACM, 2018: 389-400.

[本文引用: 2]

ZHAO Z, BARIJOUGH K M, GERSTLAUER A

DeepThings: distributed adaptive deep learning inference on resource-constrained IoT edge clusters

[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2018, 37 (11): 2348- 2359

DOI:10.1109/TCAD.2018.2858384      [本文引用: 1]

KANG Y, HAUSWALD J, GAO C, et al

Neurosurgeon: collaborative intelligence between the cloud and mobile edge

[J]. ACM SIGARCH Computer Architecture News, 2017, 45 (1): 615- 629

DOI:10.1145/3093337.3037698      [本文引用: 2]

LI H, HU C, JIANG J, et al. JALAD: joint accuracy-and latency-aware deep structure decoupling for edge-cloud execution [C]// 2018 IEEE 24th International Conference on Parallel and Distributed Systems. Singapore: IEEE, 2018: 671-678.

[本文引用: 1]

MAO J, CHEN X, NIXON K W, et al. Modnn: local distributed mobile computing system for deep neural network [C]// Design, Automation and Test in Europe Conference and Exhibition. Lausanne: IEEE, 2017: 1396-1401.

[本文引用: 1]

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. New Zealand: IEEE, 2018: 1-6.

[本文引用: 1]

LIU N, MA X, XU Z, et al. AutoCompress: an automatic DNN structured pruning framework for ultra-high compression rates [C]// Proceedings of the AAAI Conference on Artificial Intelligence. New York: AAAI, 2020, 34(04): 4876-4883.

[本文引用: 1]

HE Y, ZHANG X, SUN J. Channel pruning for accelerating very deep neural networks [C]// Proceedings of the IEEE International Conference on Computer Vision. Venice: IEEE, 2017: 1389-1397.

[本文引用: 1]

HU C, BAO W, WANG D, et al. Dynamic adaptive DNN surgery for inference acceleration on the edge [C]// IEEE Conference on Computer Communications. Paris: IEEE, 2019: 1423-1431.

[本文引用: 1]

CHEN Y H, EMER J, SZE V

Eyeriss: a spatial architecture for energy-efficient dataflow for convolutional neural networks

[J]. ACM SIGARCH Computer Architecture News, 2016, 44 (3): 367- 379

DOI:10.1145/3007787.3001177      [本文引用: 1]

YANG T J, CHEN Y H, SZE V. Designing energy-efficient convolutional neural networks using energy-aware pruning [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Hawaii: IEEE, 2017: 5687-5695.

[本文引用: 2]

YE S, XU K, LIU S, et al. Adversarial robustness vs. model compression, or both? [C]// Proceedings of the IEEE/CVF International Conference on Computer Vision. Seoul: IEEE, 2019: 111-120.

[本文引用: 2]

/