分布式云边协同智能推理方法


1云侧对边缘侧进行补充和验证

        Suart等人 [30]提出分布式深度神经网络DDNN,该分布式神经网络可以根据云侧、边缘侧和终端侧不同节点的地理层级进行扩展与缩放。同时文中提出了六种不同的分布式深度网络如图。

分布式云边协同智能推理方法_第1张图片
图1 云边协同分布式网络形式[34]
        对云侧网络和边缘侧网络使用联合训练同时进行权重训练,分别得到各自权重并进行部署。边缘侧网络使用判定器判断特征信息是否足以进行准确的推理,当判定为错误推理时,边缘侧抛出数据至云侧,由云侧更复杂的网络进行推理,得到更准确的推理结果。边缘侧判定器使用正规化熵值确定,定义为:
分布式云边协同智能推理方法_第2张图片
其中C为标注值,x为预测值,最终η值分布在[0,1]。设定抛出阈值T,边缘抛出的分类结果越多,系统准确性越低,但边缘侧算力资源利用率也就越高。为了使系统推理性能和准确性达到平衡,文中设置T=0.8,此时边缘抛出率为60%准确率为97%,系统达到最优的效率和准确性。对于多个边缘侧情况(如图(c)(e)(f)),文中还提出三种本地聚合器(local aggregation)以聚合不同来源数据,分别是最大池化(MP),平均池化(AP)和串联(CC)。其中边缘侧使用MP聚合云端使用CC聚合得到最佳分类准确率。该文虽然提出了一种提高边缘侧模型准确率的方案,但是并未对模型进行优化,同时边缘侧需要进行全部推理计算,某些不通过的结果需要在云侧进行重新计算,增加了整体计算量。

.2 基于模型分割的分布式云边协同 

        根据不同的场景需求,边缘侧往往使用查询的方法从云侧下载与场景相对应的完整网络模型自动部署,然后进行边缘推理(如fog nods [31]、cloudlet [32])。此种方式耗费大量网络带宽,更长的模型载入时间导致边缘侧的启动效率更慢。因此提出将模型进行分割,部分模型部署在边缘侧,另一部分部署在云侧的分布式协同网络。

其中一种是以网络层为单位的分割,确定网络分割点的过程一般可以分为三个步骤 [33]:

1)测量和建模不同DNN层的资源消耗成本以及中间DNN层之间的传输数据;

2)通过特定的层配置和网络带宽预测总成本; 

3)根据延迟,能量需求等从候选划分点中选择最优的划分区域。

        Jeong等人 [34]提出IONN结构,不同于传统的边缘服务器查询云端算法将网络模型从云侧发送至边缘节点的部署方式,IONN将网络划分为多个分区逐个发送至边缘侧。在执行推理需求时,优先选取边缘侧原有的模型分区进行复用。为了最优化网络分区上传顺序,提出使用图结构的启发式算法,如图2,以获得最佳的分区网络查询和边缘加载性能。具体做法是分别预测每层网络分区在云侧的执行时间,和边缘侧执行时间与云边数据传输的网络延迟时间总和,两者对比得到每层网络分区执行的最优策略。如果云侧网络层运行时间短,则数据直接在云侧运行。如果边缘侧复用或加载并运行网络层时间短,则网络层在边缘侧执行。文中也提出了网络分层策略。作者首先确定边缘侧网络层的最优加载偏好,即网络分区效率高但开销小的期望。通过迭代网络分区,分别计算网络在云侧和边侧的运行效率,提取在运行效率高的网络分区部署在边缘侧。文中使用Alexnet、Resnet、googleNet和MobileNet分别进行测试。最终效果显示在刚开始执行IONN时,边缘侧加载全部网络,整体运行速率较慢,但在经过几次加载后,由于复用边缘侧原有网络结构,上述模型加载时间全部下降至0.2秒内,加速效果较好。但是由于移动端侧可能在短时间内穿越不同网络网关,系统会经常遇到运行时长峰值,不利于系统稳定运行。

分布式云边协同智能推理方法_第3张图片

图2 图结构启发式算法

         随后 [35]Jeong等人提出PerDNN结构,为了解决IONN资源占用波峰问题,本篇文章提出预测并提前加载模型的机制,以减少移动端更换网关导致边缘服务器冷启动对系统运行效率的影响。云侧服务器使用移动端侧返回的GPS或wifi地理位置信息,来预测移动至下一个未来网关的区域。未来网关区域的边缘服务器将提前加载当前边缘服务器中的模型资源。由于边缘侧服务器需要同时处理多个任务,文中提出使用GPU信息来估计资源争用的方法。通过对每个类型层训练随机森林模型,来预测部署在边缘侧不同层组合的运行时间。由于需要边缘侧进行不断地模拟预测,因此预测对象需要具备轻量化特点。文中提出将模型数据分为两部分,一部分是不具备权重数据只包含模型结构和超参数的模型网络结构文件,另一部分是模型权重。使用模型结构文件可以快速的预测模型推理效率。然后由云端根据边缘侧GPU资源使用量配置运行策略。

        Li等人 [36]提出网络分层部署边缘侧以减少云侧压力,并使用INT网络量化 [37]以减少存储量、传输和算力需求。文中提出了一些典型网络的分区策略,如在Inception中将并行结构作为分区,并输出INT8和FP32两种量化标准在云端进行处理。resNet中将残差块作为分区等。作者记录每个分区的性能并找到最佳的分区策略。最终得到网络平均速度增加1.2倍,且精度下降小于0.1%。

        Tian等人 [38]提出MDPO(mobility-included DNN partition offloading algorithm)结构,用于处理移动端侧的模型加载问题。作者将神经网络看作有向无环图(DAG)进行描述,记录边缘侧网络运行时间和传输时间作为图的边,将模型最优分割问题转化为链拓扑的最小切割问题,并使用Yuri Boykov算法 [39]解决,最终得到模型最优化分区。考虑到端侧移动导致端侧切换网关而产生的边缘侧模型冷启动问题,文中提出一种边缘模型在无线网关间的切换策略。由于并不能预先得知新场景下边缘侧和端侧的数据传输速度,,因此当端侧设备移动至新边缘侧网关下,系统会同时执行边缘对边缘传输和边缘传输至端侧再上传至边缘侧两种策略。取最短传输路径以确保整体效率最高。

3 分布式模型云边部署的优化策略

        使用边缘计算虽然更接近数据收集端,减少数据传输延迟,但是如何有效的分配设备集群资源,充分调度分布式算力进行推理仍然是一个充满挑战的问题。赵卓然等人在deepThings [40]中提出融合切片分区方法,不同于将卷积层按层划分,文中使用纵向划分将卷积层划分为自上而下的可分区的任务,并提出了一种边缘资源分配策略以优化边缘侧的算力使用和存储复用策略。论文论证基于网络层进行分区时会增加内存的资源占用,因此使用跨层分区结构可以有效减少资源占用和通讯开销。作者基于yoloV2的检测原理设置单阶目标检测网络,首先将特征图划分成不重叠的网格块,然后在运算过程中递推延申网格边缘宽度,每个网格块作为切片的分区。由于在推理中延伸出的网格宽度在不同分区存在重叠部分,因此作者设计了一种重叠区域重用机制,计算完成的重叠区域特征将被其他计算节点分享共用,以此来减少由于重复计算而产生的算力浪费。系统通过云侧确定每个边缘节点的资源占用情况,使用动态负载均衡分配每个分块的执行节点。经过实验,deepthings最终将边缘侧的运行内存减少69%,权重参数减少10.3%。但此种方法在使用多边缘设备时,每增加1台边缘侧设备,通讯开销呈线性增长8%。因此当有足够带宽时,系统可以在大型异构集群网络中提供更好的拓展性和负载均衡性能。

Huang等人 [41]提出分布式网络减少权重传输时间的调度优化算法。使用

来评价云侧和边缘侧的模型精度和硬件空间使用关系。其中A 是模型精度比例,R 是空间剩余率,a,b,c 是模型在设备中运行的时间常数。并提出系统运行时间和模型精度比Wi ,使整体W 最小来最优化系统性能,

 

 其中B 是约束带宽,D 是数据量。为使WiRi,xi 达到最小,文中使用模拟退火重排算法来寻求最优方案。首先以每个边缘节点的数据处理总量最小为标准部署节点集群,然后将每个节点模型进行重排,每经过一次重排便判定系统状态,如果总消耗减小则继续进行当前状态转移,反之减少该种状态转移权重。使用模拟退火算法系统最终减少约30%-50%的系统存储资源,并且减少66%的数据传输量。以上方法虽然效果较好,但云侧服务器只作为任务分配功能,边缘缺乏和云侧服务器的数据交互,并未充分利用云侧计算资源。

        2018年Ko等人在文献 [42]中提出一种将卷积层部署在边缘侧的特征空间编码方式。作者指出越靠近输入层,网络特征图中特征信息越稀疏,特征信息密度越低。由于特征图较高的零占比,因此使用行程长度压缩算法和哈夫曼编码相结合,即JPEG编码的最后一部分压缩算法对特征图进行编码。最终在没有精度损失的情况下得到了3-10倍的压缩率,在1%精度损失情况下实现5-50倍压缩效率,有效减少网络特征图在设备间的传输压力。但是文章并未对使用联合训练,训练校正等方法对高压缩率导致的精度损失进行改进。同时并未对较深层网络的分区策略提出解决方案。

        文章 [43]对云边缘协同推理网络的时间延迟和计算强度进行分析,作者将推理物理层分为云侧、边缘侧和端侧,分别由上一层为下一层分配任务提供模型。不同于先到先得到任务的分配方式,作者使用基于蚁群优化的启发式算法来优化边缘节点的任务调度。将路径定义为        

其中τi,jvj 节点的任务ai 的信息素,ηi,j 是由δ(1-μvj) 确定的蚁群启发信息。

 

其中P 是当前任务计算资源占总任务比例。算法通过迭代蚁群最佳路径得到最佳的任务分配策略。并使用拉格朗日算子对网络分层的延迟、能耗、运行时间等方面进行分析,得到模型加载算法。但使用蚁群迭代算法计算量大,算法延迟性高。同时要求网络延迟低,在迭代过程中如有数据丢包情况出现,则迭代处于等待状态。这会降低整个切换模型效率。

4 挑战与展望

4.1 数据协同的挑战

(1)基于模型数据优化的协同方式

目前,云边协同网络更多的还是将云侧模型加载至边缘侧,虽然有部分论文提到使用边缘侧自动备份转移的方式,但是根据不同场景优化的备份转移方式并未过多披露,且无行业统一标准。这致使在不同硬件和网络环境中无法进行规模性应用。因此还需结合场景研究更具体的分配方案,并对其进行深度优化和兼容性处理。

(2)基于推理数据流的优化协同方式

越来越多的应用场景,如公安等将数据安全至于首位,如何在实现功能的同时考虑数据不出域和加密性传输是研究重点。而现有方案中虽然有诸如JPEG编码方式,但是缺少统一高效的加密和传输协议,这些协议的确是将是未来智能云边协同监控全面推广面临的重要问题。

4.2 网络分区协同的挑战

现有网络的分区方案所实现的是从网络层级的横向或纵向的分区。最终达到和完整网络接近或相似的性能和准确率。因此从结果来看只是相当于把计算资源从云侧下放到边缘侧。并未实现性能优化的跨越式发展。而近年来深度学习中诸如显著性目标 [44]和注意力机制 [45]等方向的研究进展。未来如何将该类结构应用在云边协同网络中,并会带来哪些性能提升,还需进一步研究。

4.3 业务功能分区的挑战和机遇

现有方案多数从深度学习的图像分类领域作为切入点,但监控领域更多的如目标检测、属性分析、关键点检测、行为分析、运动状态、重识别等领域的研究较少。上述领域更具有商业应用价值,并且具备更高的研究投入回报比。

 

 [30]     Teerapittayanon S, McDanel B, Kung H T. Distributed deep neural networks over the cloud, the edge and end devices[C]//2017 IEEE 37th International Conference on Distributed Computing Systems (ICDCS). IEEE, 2017: 328-339.
[31]     Bonomi F, Milito R, Zhu J, et al. Fog computing and its role in the internet of things[C]//Proceedings of the first edition of the MCC workshop on Mobile cloud computing. 2012: 13-16.
[32]     Satyanarayanan M, Bahl P, Caceres R, et al. The case for vm-based cloudlets in mobile computing[J]. IEEE pervasive Computing, 2009, 8(4): 14-23.
[33]     Wang X, Han Y, Leung V C M, et al. Convergence of edge computing and deep learning: A comprehensive survey[J]. IEEE Communications Surveys & Tutorials, 2020, 22(2): 869-904. 
[34]     Jeong H J, Lee H J, Shin C H, et al. IONN: Incremental offloading of neural network computations from mobile devices to edge servers[C]//Proceedings of the ACM Symposium on Cloud Computing. 2018: 401-411. 
[35]     Jeong H J, Lee H J, Shin K Y, et al. PerDNN: Offloading Deep Neural Network Computations to Pervasive Edge Servers[C]//2020 IEEE 40th International Conference on Distributed Computing Systems (ICDCS). IEEE, 2020: 1055-1066. 
[36]     Li G, Liu L, Wang X, et al. Auto-tuning neural network quantization framework for collaborative inference between the cloud and edge[C]//International Conference on Artificial Neural Networks. Springer, Cham, 2018: 402-411. 
[37]     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: 4820-4828.
[38]     Tian X, Zhu J, Xu T, et al. Mobility-Included DNN Partition Offloading from Mobile Devices to Edge Clouds[J]. Sensors, 2021, 21(1): 229.
[39]     Boykov Y, Kolmogorov V. An experimental comparison of min-cut/max-flow algorithms for energy minimization in vision[J]. IEEE transactions on pattern analysis and machine intelligence, 2004, 26(9): 1124-1137.
[40]     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.
[41]     Huang Y, Zhu Y, Fan X, et al. Task scheduling with optimized transmission time in collaborative cloud-edge learning[C]//2018 27th International Conference on Computer Communication and Networks (ICCCN). IEEE, 2018: 1-9.
[42]     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 (AVSS). IEEE, 2018: 1-6.
[43]     Xu S, Zhang Z, Kadoch M, et al. A collaborative cloud-edge computing framework in distributed neural network[J]. EURASIP Journal on Wireless Communications and Networking, 2020, 2020(1): 1-17. 
[44]     Wang W, Lai Q, Fu H, et al. Salient object detection in the deep learning era: An in-depth survey[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2021.
[45]     Wang X, Girshick R, Gupta A, et al. Non-local neural networks[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2018: 7794-7803.

你可能感兴趣的:(机器学习,云边协同,分布式系统,分布式,人工智能)