APP下载

SDN中基于模型划分的云边协同推理算法

2024-01-09朱晓娟

兰州工业学院学报 2023年6期
关键词:云边时延边缘

许 浩,朱晓娟

(安徽理工大学 计算机科学与工程学院,安徽 淮南 232001)

深度神经网络(Deep Neural Network,DNN)是计算密集型网络在依靠单一的云端或边缘节点执行推理任务时,会造成推理时延难以预测、推理性能明显下降等问题[1]。为解决此类问题,众多云边协同处理方案应用而生,如基于云边协同的分布式推理算法[2-4],通过将部分推理任务分配到边缘节点以缓解云端的负载压力,从而达到推理低时延、高可靠性的目的。而在实际的应用场景中,如何在网络状态和任务需求动态变化下协同多个边缘节点合理分配推理任务,实现边缘集群与云端协作以优化推理时延和负载均衡是一个值得深入研究的问题[2]。

目前,已有大量的研究来加速DNN模型推理,例如将云计算环境中的推理计算问题建模为最短路径和整数线性规划问题并结合模型压缩方法以减少通信成本[5];针对模型划分方法,以DNN模型每层的神经元为单位,采用深度强化学习(Deep Reinforcement Learning,DRL)自适应卸载策略在各个物联网设备上完成运算,实现在资源受限的物联网设备上低时延的推理目标[6]。以上方法虽然有效降低模型的推理时延与资源需求,但可能会带来模型推理精度的损失。因此,如何在网络状态和任务需求的动态变化中寻找最佳划分点是我们研究的目标。

随着深度强化学习被广泛应用于感知决策领域,通过与网络环境的不断交互来实现优化目标的最优策略[7-8];SDN则可以通过控制器获取实时网络状态信息,从而更加灵活地控制网络、提高网络性能[9]。本文结合SDN技术提出了基于模型划分的云边协同推理算法(Cloud-Edge collaborative inference algorithm based on model partition in SDN,SDN-CEP),以优化推理时延和网络资源的合理利用。通过将DNN模型分别部署在云边端中,并设计任务预测器决策任务的执行环境。边缘环境中协同多个计算节点参与DNN推理,以解决单一节点算力不足的问题,并结合深度强化学习中的DQN算法实现推理模型的自适应划分与卸载。SDN-CEP算法结合SDN技术从全局感知推理任务与网络资源信息,通过协同架构的南向接口屏蔽边端设备之间的差异,使用全局视图进行网络资源管理,并通过边端控制器的北向接口按需配置并调用资源,为推理任务提供差异化的资源和服务保障,从而达到提高资源利用效率和优化推理时延的目标。试验结果表明,SDN-CEP算法能显著降低DNN推理时延与计算成本,尤其是在动态网络环境中。

1 系统架构

1.1 基于SDN的云边协同架构

SDN是解决超低延迟的一种新型网络创新架构,拥有获取实时网络状态信息的能力[4,9],使得运用SDN技术加速云边协同推理更加可行,如图1所示。结合SDN技术创建的协同网络架构能够更好的发挥云与边的优势,进而满足协同推理任务在资源调度和信息集控制的需求。

图1 基于SDN的云边协同架构

1.2 协同推理框架

结合SDN技术的云边协同推理框架如图2所示,该框架主要有3部分组成:① 任务预测阶段,在边端控制器中建立一个预测器来判断任务复杂度。② 推理选择与划分阶段,经过任务预测器的判断机制分配任务执行环境。对于部署在边端的模型,根据实时网络带宽、节点计算资源、节点数量以及模型层粒度大小等因素,结合DRL得到模型的划分与卸载策略。③ 任务卸载阶段,根据任务复杂度的预测函数与边端中的卸载策略来卸载任务。并通过SDN的全局视图进行传递和控制。

图2 系统框架

1.3 任务复杂度预测

现有的协同推理研究过多关注于推理模型和网络环境,忽视对模型输入数据的处理[10]。本文通过对输入数据提取特征进行复杂度预测,使其能够选择合适的推理环境来降低推理时延,通过在边端控制器上的预测函数q(x)∈[0,1]来判断输入数据的复杂度,以决定任务的执行环境,并通过SDN全局视图传递云-边整体环境信息。具体而言就是采用基于阈值的方法来选择任务的执行环境,即如果q(x)大于某个阈值δ,则将任务卸载到云端中处理f0。否则在边端进行处理f1,利用SDN控制器合理调度边端资源,将边端模型分割并卸载到边缘节点上进行协同处理,以保证推理精度和速度。所以,任务复杂度预测器可以抽象为(f0,f1,q)的组合,即预测器对于特定输入x,最终输出为

(1)

2 边端模型的划分与卸载

使用深度强化学习寻找问题的最优解,需将问题建模为马尔科夫决策过程(Markov Decision Process,MDP)[11],即问题模型用一个四元组(S,A,P,R)来表示。

(1)状态:S={B,ES,D},其中B表示当前网络的传输速率;ES=(ES1,ES2,...,ESn)表示n个边缘节点的计算资源;D=(D1,D2,...,Dm)表示m层推理模型的各层输出数据大小。

(2)动作:当前网络状态的DNN模型有m-1个划分点,边缘环境中有n个边缘节点。而动作空间由所有可能的动作组成。所以,动作空间A={N1,N2,...,Nm-1;ES1,ES2,...,ESn},其中{N1,N2,...,Nm-1}表示推理模型划分点的集合;{ES1,ES2,...,ESn}表示当前所有可用的边缘节点。

(3)奖励:奖励值越大表示选择的动作越好。但在执行推理任务中,因以优化时延为目标,所以根据时延特征将奖励值定义为

r=-((1-ω)Tall+ωCall),

(2)

式中:ω为奖励函数中的权重因子,用来调节延迟-代价权衡。具体来说,用户可以根据不同的应用需求,通过调整时延和代价的上界进行设置,假设时延和代价的上界分别为Tu和Cu,则权重因子可以表示为Tu/Cu[12]。

本文通过DQN算法结合SDN全局视图来处理边缘环境中推理模型的划分与卸载问题。如图3所示,DQN算法由2个参数不同但结构相同的卷积神经网络构成,在算法的训练过程中,Q(s,a,θ)评估网络计算当前正确状态动作的估计价值,θ表示评估网络的参数。目标网络则计算在所有动作下状态s′所对应的Q(s′,a′,θ′),根据最大值选择动作a′并计算目标价值函数,即

图3 基于DQN的自适应推理模型划分与卸载

Qt=r+γmaxa′Q(a′,s′,θ′),

(3)

式中:γ表示折扣因子;r表示奖励值。

DQN算法训练本质是为了使得当前Q值无限接近于目标Qt值,但由于目标函数中含有Q函数,导致目标函数变化,给训练增加了一定的难度,因此,为更好的训练神经网络,消除样本数据之间的依赖性,本文在DQN算法结构中结合SDN的全局视图来读取边端网络环境中的信息数据,通过模型输出与目标值之间的均方误差来表示损失函数。算法定义的损失函数如下

Loss(θ)=E[(Qt-Q(s,a,θ))2].

(4)

3 推理时延与成本

3.1 任务推理时延

假设DNN模型有m层,边缘节点数量为n。第i层的输出数据大小为Di。系统整体框架在执行DNN推理任务时,同批次任务T的推理时延Tk主要由3部分组成:①边缘节点执行时间Tedge;②云端的执行时延Tcloud;③数据上传到云边的时延Ttrans。由于推理结果往往很小,其返回的传输时间被忽略。

(5)

基于回归模型预测DNN每层在边缘节点上的执行时间,即每张图片在边缘推理的时间可以表示为

(6)

式中:EDj表示第j层在边缘节点上所需的执行时间;Dp为推理模型第p层输出数据的大小;B为当前的网络传输速率。云端的推理时延则为

(7)

假设任务T中包含k张图片,其中有i张在边缘节点中执行,k-i张在云端中执行,则传输时延Ttrans为

(8)

式中:Dk表示在边缘环境中执行数据的大小;Dk-i为云端执行数据的大小。综上,目标函数为

(9)

式中:C1,C2,C3为目标函数的约束条件,C3表示算法所选的策略在网络所有可选的策略中;M和C分别表示边缘节点的内存与其CPU的计算资源;t则表示当前执行的任务数量。

3.2 任务计算成本

任务的总成本由任务计算成本Cexe和传输成本Ctrans组成[11]。任务T的计算成本可以表示为

(10)

(11)

Ctrans=Dk·bc,

(12)

式中:Dk为传输数据的大小;bc为单位数据的传输成本。所以系统的总传输代价可以表示为

Call=Cexe+Ctrans.

(13)

3.3 SDN-CEP算法

算法的伪代码如下:

算法1:SDN中基于模型划分的云边协同推理算法

输入:

网络传输速率B、各边缘节点与云端资源、原始输入数据及模型各层输出数据大小,推理任务T、预测器阈值δ。

输出:

DNN推理模型与任务的划分和卸载策略

1:初始化试验所需的参数;

2:for episode inTdo:

3:for each task do:

4:读取图像数据并计算特征;

5:利用特征计算图像的复杂度;

6:if complexity_score≥δ

7:任务传输到云端处理,根据公式(7)计算时延;

8:else

9: 获取可用的边缘节点与模型划分点的集合A;

10:通过SDN全局视图得到环境s并传递给智能体agent;

11:使用DQN算法在A选择模型的划分点及其卸载的边缘节点;

12:边端节点协同完成任务,根据公式(6)计算时延;

13:根据公式(2)计算奖励值;

14:更新DQN算法的最优策略;

15:end for

16:SDN从全局感知任务和资源信息,按需配置并调用资源;

17:返回步骤2;

18:end for 。

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 算法阈值与奖励值的关系

4.2 SDN-CEP算法评估

4.2.1 推理时延评估

通过在不同的网络环境下执行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方法的总时延也相对较小。

(a) 网络带宽与时延关系

图5(b)展示了各算法在不同任务数量下使用AlexNet网络模型的推理时延效果。在推理任务数量较少的情况下,边端计算能力足以支撑,无需上传到云端进行处理,此时OE方法的执行时延小于OC方法的传输时延,所以OE的推理时延优于OC,且推理时延与NN方法相近。但随着任务数量的增多,边缘服务器负载变大、计算能力有限,导致OE方法的响应时间大于OC方法的传输时延,此时OC方法表现更优。SP方法利用基于SDN的云边协同架构优势,结合SDN全局调度的特点进行动态任务调度,算法还考虑了任务复杂度和边缘服务器在奖励状态下的计算能力,所以相比其他3种算法,随着任务数量的增多,SP方法的推理时延相对较优。

为进一步验证算法的性能,本文随机选取任务并在WiFi网络下与NN、DP相比较,各算法推理的时延效果如图5(c)所示:可以看出当网络状态与任务需求同时发生变化时,会导致时延性能的波动,这对加载模型、传输中间结果等数据都有影响。所以当边缘节点的数量或模型划分点增加时,通信条件对算法延迟有很大的影响,在不同的网络状态下会表现出明显的波动,而SP算法因其通过SDN全局视图对网络状态进行实时的观察与更新,算法的状态空间还考虑了传输距离,所以和其他2种协同算法相比较,网络状态对其影响相对较小。

各DNN模型在不同环境下推理的时延效果如图6所示,协同环境相对于其它2种环境表现更优。云计算将DNN卸载到云端执行,其推理性能受限于网络传输速率,在某些限定条件下不能有效展示推理性能,边缘计算的推理性能则受限于边缘服务器的计算能力,而协同计算在这些方面的劣势不明显。SP协同环境中算法将SDN技术与深度强化学习相结合处理模型的划分与卸载问题,通过SDN控制器的南北向接口连接云和边,实现云边环境的协调控制,从全局感知资源信息进行合理分配,并通过全局视图来反映网络资源的动态变化。此外,在网络资源限定的条件下,模型的推理时延与其本身的复杂程度呈正相关,所以,面对计算密集型神经网络任务,利用协同环境处理是必要的。

图6 推理环境对时延的影响

4.2.2 计算代价评估

各方法在使用AlexNet模型执行不同任务数量的推理性能如图7所示。相比于边缘计算环境和云计算环境,云边协同环境下的系统成本更低。OC方法中云传输成本较高,但执行成本较低,而OE方法则相反。SP方法采用基于SDN的云边协作机制,充分结合边缘和云的优点,并采用深度强化学习划分边缘环境中的推理模型,其算法的状态空间考虑了边缘服务器的计算能力与任务复杂度,从而可以根据奖励和损失不断的更新环境中的卸载策略,在奖励函数中,还考虑了系统成本以减少任务在分配过程中产生不必要的代价,所以SP方法的系统成本要优于其它几种推理方法。

图7 任务数量与算法的计算成本

5 结语

当前,深度神经网络快速发展并广泛应用于各种智能服务行业,如自然语言处理、计算机视觉和语音识别等领域。为了加速DNN模型的推理速度并优化其性能,本文结合SDN技术提出了基于模型划分的云边协同推理算法。该算法能够对动态环境下的边端推理模型进行自适应划分与卸载,通过将传统的DQN算法与SDN的全局视图相结合,得到边端模型的最优划分与卸载策略,构建任务复杂度预测器并结合SDN控制器分配任务执行环境。试验分析表明,与现有推理方法相比,算法的推理时延显著降低。在后续的工作中,我们将重点研究边边协同的异常中断问题以及边端协同问题,以确保云边端三方协同推理的鲁棒性。

猜你喜欢

云边时延边缘
基于SDN的云边协同架构在电力信息系统的应用
云边协同 构建交通“大脑”与“神经末梢” 交通云平台与边缘计算初探
水调歌头·一醉愿千年
过草原天路
基于GCC-nearest时延估计的室内声源定位
基于改进二次相关算法的TDOA时延估计
一张图看懂边缘计算
FRFT在水声信道时延频移联合估计中的应用
基于分段CEEMD降噪的时延估计研究
在边缘寻找自我