摘要
在网络状态和任务需求的动态变化下,为减少模型推理时延和计算成本,在软件定义网络( Software Defined Network,SDN) 中提出了一种基于模型划分的云边协同推理算法。通过构建复杂度预测器分配任务执行环境,采用深度Q网络(Deep Q-network,DQN) 算法对边缘环境中的推理模型进行自适应划分与卸载;以及用SDN技术从全局感知推理任务与网络资源,实现动态网络环境下网络资源的合理分配。试验结果表明:SDN中基于模型划分的云边协同推理算法具有良好的收敛能力,在动态环境中具有较好的鲁棒性。与现有的推理算法相比,该算法能够在合理分配计算资源的前提下,满足协同推理低时延的目标要求。
引言
深度神经网络(Deep Neural Network,DNN) 是计算密集型网络在依靠单一的云端或边缘节点执行推理任务时,会造成推理时延难以预测、推理性能明显下降等问题[1]。为解决此类问题,众多云边协同处理方案应用而生,如基于云边协同的分布式推理算法,通过将部分推理任务分配到边缘节点以缓解云端的负载压力,从而达到推理低时延、高可靠性的目的。而在实际的应用场景中,如何在网络状态和任务需求动态变化下协同多个边缘节点合理分配推理任务,实现边缘集群与云端协作以优化推理时延和负载均衡是一个值得深入研究的问题[2]。
目前,已有大量的研究来加速DNN模型推理,例如将云计算环境中的推理计算问题建模为最短路径和整数线性规划问题并结合模型压缩方法以减少通信成本[5];针对模型划分方法,以DNN模型每层的神经元为单位,采用深度强化学习(DeepReinforcement Learning,DRL) 自适应卸载策略在各个物联网设备上完成运算,实现在资源受限的物联网设备上低时延的推理目标[6]。以上方法虽然有效降低模型的推理时延与资源需求,但可能会带来模型推理精度的损失。因此,如何在网络状态和任务需求的动态变化中寻找最佳划分点是我们研究的目标。
随着深度强化学习被广泛应用于感知决策领域,通过与网络环境的不断交互来实现优化目标的最优策略[7-8]; SDN 则可以通过控制器获取实时网络状态信息,从而更加灵活地控制网络、提高网络性能[9]。本文结合SDN 技术提出了基于模型划分的云边协同推理算法(Cloud-Edge collaborative inference algorithm based on model partition in SDN,SDNCEP) ,以优化推理时延和网络资源的合理利用。通过将DNN模型分别部署在云边端中,并设计任务预测器决策任务的执行环境。边缘环境中协同多个计算节点参与DNN推理,以解决单一节点算力不足的问题,并结合深度强化学习中的DQN算法实现推理模型的自适应划分与卸载。SDN-CEP 算法结合SDN 技术从全局感知推理任务与网络资源信息,通过协同架构的南向接口屏蔽边端设备之间的差异,使用全局视图进行网络资源管理,并通过边端控制器的北向接口按需配置并调用资源,为推理任务提供差异化的资源和服务保障,从而达到提高资源利用效率和优化推理时延的目标。试验结果表明,SDN-CEP 算法能显著降低DNN推理时延与计算成本,尤其是在动态网络环境中。
1、系统架构
1.1 基于SDN的云边协同架构
SDN 是解决超低延迟的一种新型网络创新架构,拥有获取实时网络状态信息的能力[4,9],使得运用SDN技术加速云边协同推理更加可行,如图1所示。结合SDN技术创建的协同网络架构能够更好的发挥云与边的优势,进而满足协同推理任务在资源调度和信息集控制的需求。
1.2 协同推理框架
结合SDN技术的云边协同推理框架如图2所示,该框架主要有3部分组成:① 任务预测阶段,在边端控制器中建立一个预测器来判断任务复杂度。② 推理选择与划分阶段,经过任务预测器的判断机制分配任务执行环境。对于部署在边端的模型,根据实时网络带宽、节点计算资源、节点数量以及模型层粒度大小等因素,结合DRL得到模型的划分与卸载策略。③任务卸载阶段,根据任务复杂度的预测函数与边端中的卸载策略来卸载任务。并通过SDN的全局视图进行传递和控制。
1.3 任务复杂度预测
现有的协同推理研究过多关注于推理模型和网络环境,忽视对模型输入数据的处理[10]。本文通过对输入数据提取特征进行复杂度预测,使其能够选择合适的推理环境来降低推理时延,通过在边端控制器上的预测函数q(x) ∈[0,1]来判断输入数据的复杂度,以决定任务的执行环境,并通过SDN 全局视图传递-边整体环境信息。具体而言就是采用基于阈值的方法来选择任务的执行环境,即如果q( x) 大于某个阈值δ,则将任务卸载到云端中处理f0。否则在边端进行处理f1,利用SDN控制器合理调度边端资源,将边端模型分割并卸载到边缘节点上进行协同处理,以保证推理精度和速度。所以,任务复杂度预测器可以抽象为( f0,f1,q) 的组合,即预测器对于特定输入x,最终输出为
2 边端模型的划分与卸载
使用深度强化学习寻找问题的最优解,需将问题建模为马尔科夫决策过程(Markov Decision Process,MDP) [11],即问题模型用一个四元组( S, A,P,R) 来表示。本文通过DQN算法结合SDN全局视图来处理边缘环境中推理模型的划分与卸载问题。如图3 所示,DQN算法由2个参数不同但结构相同的卷积神经网络构成,在算法的训练过程中,Q( s,a,θ)评估网络计算当前正确状态动作的估计价值,θ表示评估网络的参数。目标网络则计算在所有动作下状态s’所对应的Q( s’,a’,θ’) ,根据最大值选择动作a’并计算目标价值函数
DQN 算法训练本质是为了使得当前Q值无限接近于目标Qt值,但由于目标函数中含有Q函数,导致目标函数变化,给训练增加了一定的难度,因此,为更好的训练神经网络,消除样本数据之间的依赖性,本文在DQN算法结构中结合SDN的全局视图来读取边端网络环境中的信息数据,通过模型输出与目标值之间的均方误差来表示损失函数。
3 推理时延与成本
3.1 任务推理时延
假设DNN 模型有m层,边缘节点数量为n。第i层的输出数据大小为Di。系统整体框架在执行DNN推理任务时,同批次任务T的推理时延Tk主要由3部分组成:①边缘节点执行时间Tedge ;②云端的执行时延Tcloud ; ③数据上传到云边的时延Ttrans。由于推理结果往往很小,其返回的传输时间被忽略。
基于回归模型预测DNN每层在边缘节点上的执行时间,即每张图片在边缘推理的时间间可以表示为
式中:EDj表示第 j 层在边缘节点上所需的执行时间; Dp为推理模型第p层输出数据的大小;B为当前的网络传输速率。。云端的推理时延则为
假设任务T中包含k张图片,其中有i张在边缘节点中执行,k-i 张在云端中执行,则传输时延Ttrans为:
4 试验分析
4.1 试验平台
本文通过EdgeCloudSim[13]来搭建仿真试验环境。试验模拟的网络环境和边缘节点性能采用随机生成的方式,DNN模型与DQN算法采用PyTorch框架实现。SDN的全局视图消息则使用统一的格式将其封装到一个XML文件中,使网络全局视图消息的形式灵活且易于扩展。在算法中,将学习率设置为0.01,折扣因子为0.09,经验池大小为500,训练批次大小为64。预测器复杂度的阈值为0.6,阈值的大小决定任务卸载到云边中的数量,因时延与奖励值是正相关的,所以阈值与奖励值也呈正相关,图4为不同阈值下SDN-CEP算法对应的奖励值,可以看出当阈值为0.6时,只需要600轮训练就可以快速使奖励收敛到更高的值,比其他的阈值可以使算法具有更好的收敛性。
4.2 SDN-CEP算法评估
通过在不同的网络环境下执行ResNet[14],AlexNet[15],GooleNet[16]等 3 种 DNN 模型,并与现有的推理算法进行对比来衡量本文提出的SDN中基于模型划分的云边协同推理算法(SP) 对DNN模型推理时延的优化效果。
( 1) 仅云计算( OC) : DNN 推理任务全部分配到云端进行处理。
( 2) 仅边计算( OE) : 推理任务全部卸载到边缘节点中执行。
( 3) Neurosurgeon( NN) : 依据预测模型动态的选择推理模型的最优划分点,结合网络带宽进行云边协同推理计算[13]。
( 4) DPTO 算法( DP) : 使用 DRL 对推理任务进行按需划分,将任务卸载到边端计算资源最多的设备并与云端进行协同处理[14]。
图5( a) 展示了在不同网络传输速率环境下,NN、DP 和SP 这3种协同推理方法使用AlexNet网络模型处理相同批次任务所需时延效果。当网络速率一定时,SP 方法的效果明显优于其它2种方法。在NN推理方法中,当网络环境的传输速率过低时,推理任务在边缘环境中执行,系统的DNN推理时延相对较低,此时面对需要高算力的任务时推理性能较差,所以当网络传输速率较高,NN方法倾向于将所有任务传输到云端处理,这与DP推理方法相近,但DP 方法是使用DQN算法对任务进行按需划分与卸载并通过云边协同处理,所以其推理时延优于NN。由于网络传输速率的差异,SP方法的推理时延也存在差异,通过预测器将图片分别传输到云、边端执行,传输速率越快,传输时延越小,SP 方法的总时延也相对较小。
图5( b) 展示了各算法在不同任务数量下使用AlexNet 网络模型的推理时延效果。在推理任务数量较少的情况下,边端计算能力足以支撑,无需上传到云端进行处理,此时OE方法的执行时延小于OC 方法的传输时延,所以 OE 的推理时延优于OC,且推理时延与 NN 方法相近。但随着任务数量的增多,边缘服务器负载变大、计算能力有限,导致OE方法的响应时间大于OC方法的传输时延,此时OC方法表现更优。SP方法利用基于SDN的云边协同架构优势,结合SDN全局调度的特点进行动态任务调度,算法还考虑了任务复杂度和边缘服务器在奖励状态下的计算能力,所以相比其他3种算法,随着任务数量的增多,SP方法的推理时延相对较优。
为进一步验证算法的性能,本文随机选取任务并在WiFi网络下与NN、DP 相比较,各算法推理的时延效果如图5© 所示:可以看出当网络状态与任务需求同时发生变化时,会导致时延性能的波动,这对加载模型、传输中间结果等数据都有影响。所以当边缘节点的数量或模型划分点增加时,通信条件对算法延迟有很大的影响,在不同的网络状态下会表现出明显的波动,而SP算法因其通过SDN全局视图对网络状态进行实时的观察与更新,算法的状态空间还考虑了传输距离,所以和其他2种协同算法相比较,网络状态对其影响相对较小。
各DNN模型在不同环境下推理的时延效果如图6所示,协同环境相对于其它2种环境表现更优。云计算将DNN卸载到云端执行,其推理性能受限于网络传输速率,在某些限定条件下不能有效展示推理性能,边缘计算的推理性能则受限于边缘服务器的计算能力,而协同计算在这些方面的劣势不明显。SP 协同环境中算法将SDN技术与深度强化学习相结合处理模型的划分与卸载问题,通过SDN 控制器的南北向接口连接云和边,实现云边环境的协调控制,从全局感知资源信息进行合理分配,并通过全局视图来反映网络资源的动态变化。此外,在网络资源限定的条件下,模型的推理时延与其本身的复杂程度呈正相关,所以,面对计算密集型神经网络任务,利用协同环境处理是必要的。
5 结语
当前,深度神经网络快速发展并广泛应用于各种智能服务行业,如自然语言处理、计算机视觉和语音识别等领域。为了加速DNN模型的推理速度并优化其性能,本文结合SDN技术提出了基于模型划分的云边协同推理算法。该算法能够对动态环境下的边端推理模型进行自适应划分与卸载,通过将传统的DQN算法与SDN的全局视图相结合,得到边端模型的最优划分与卸载策略,构建任务复杂度预测器并结合SDN控制器分配任务执行环境。试验分析表明,与现有推理方法相比,算法的推理时延显著降低。在后续的工作中,我们将重点研究边边协同的异常中断问题以及边端协同问题,以确保云边端三方协同推理的鲁棒性。
参考资料
[1]许浩,朱晓娟.SDN中基于模型划分的云边协同推理算法[J].兰州工业学院学报,2023,30(06):31-37.
[2]彭京伟.基于云边协同的图像目标检测方法研究[D].电子科技大学,2024.DOI:10.27005/d.cnki.gdzku.2024.003054.
[3]陈瑞午.基于边缘计算的分布式神经网络推理技术的研究与实现[D].电子科技大学,2024.DOI:10.27005/d.cnki.gdzku.2024.001615.