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

摘要

在网络状态和任务需求的动态变化下,为减少模型推理时延和计算成本,在软件定义网络( 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.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/883171.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

国产标准数字隔离器的未来---克里雅半导体

标准数字隔离器是电信号隔离技术的重要组成部分,近年来取得了重大进展。随着工业自动化、汽车电子和电信等行业对更高性能的需求不断增长,国内数字隔离器制造商正在稳步赶上全球标准。本文讨论了数字隔离器技术的新兴趋势、材料创新的影响,以…

网站建设中需要注意哪些安全问题?----雷池社区版

服务器与应用安全指南 1. 服务器安全 1.1 操作系统安全 及时更新补丁:确保操作系统始终安装最新补丁,以防范系统漏洞。例如,Windows Server 定期推送安全更新,修复如远程代码执行等潜在威胁。优化系统服务配置:关闭不…

一家医药企业终止,收入依赖阿里健康,学术推广费快赶上净利润

知原药业终止原因如下:知原药业报告期三年的推广费用超3亿元,快赶上这三年累计3.68亿元的净利润了,交易所质疑其学术推广费单价合理性、是否存在销售返利。并且,公司研发费用率低于行业平均水平,在电商平台营销主要依赖…

pytorh学习笔记——cifar10(三)模仿VGGNet创建卷积网络

VGG16是由牛津大学视觉几何组(Visual Geometry Group)提出的一种深度卷积神经网络模型。 VGGNet 探索了卷积神经网络的深度与其性能之间的关系,成功地构筑了 16~19 层深的卷积神经网络,同时拓展性又很强,迁移到其它图片…

【LeetCode】11.盛最多水的容器

思路: 利用双指针法进行移动,一个在头一个在尾,此时宽度最宽,当宽度缩小时,高度发生变化,从而可以找到最大值。 代码: int maxArea(int* height, int heightSize) {int* left height;int* …

仿真学习 | Fluent版本迭代一览及选择指南

在计算机辅助工程(CAE)领域,软件版本的更新迭代,影响了工程师的工作效率、工作习惯和仿真精度,“如何选择软件版本”也永远是摆在每个初学者面前的第一个难题。 计算流体动力学(CFD)领域的领军…

嵌入式工程师必备——NTC曲线拟合

最近搞了一下NTC热敏电阻,打算和大家分享一下; 首先看NTC手册,25℃时是5K,温度系数B是3470,有一些NTC会直接给出公式,那种直接按照手册计算就好; 1、下面是温度和阻值对照表,这个表…

深度学习:YOLO目标检测和YOLO-V1算法损失函数的计算

简介 YOLO(You Only Look Once)是一种基于深度学习的目标检测算法,它的核心思想是将目标检测问题转化为一个回归问题,通过一个神经网络直接预测目标的类别和位置。 YOLO算法将输入图像分成SxS个网格,每个网格负责预测…

Golang | Leetcode Golang题解之第498题对角线遍历

题目&#xff1a; 题解&#xff1a; func findDiagonalOrder(mat [][]int) []int {m, n : len(mat), len(mat[0])ans : make([]int, 0, m*n)for i : 0; i < mn-1; i {if i%2 1 {x : max(i-n1, 0)y : min(i, n-1)for x < m && y > 0 {ans append(ans, mat[x…

uni-app微信小程序如何使用高德地图。通过经纬度获取所在城市

高德地图官方是这样介绍的使用方法可以参考&#xff1a;入门指南-微信小程序插件 | 高德地图API 我再介绍一下我得具体应用。 1&#xff0c;首先要在申请高德地图开放平台得账号。然后在这个账号中申请一个应用。类型选择微信小程序。 我的应用 | 高德控制台 获取Key-创建工…

怎样把学生的成绩单独告知家长?

期中考试季的到来让校园里的气氛似乎也变得紧张起来。家长们开始频繁地联系老师&#xff0c;希望了解孩子的表现&#xff1b;孩子们则在考试后&#xff0c;绞尽脑汁地想出各种理由&#xff0c;以期在成绩不理想时能减轻家长的失望。老师们更是忙得不可开交&#xff0c;不仅要批…

C++(标准输入输出流、命名空间、string字符串、引用)

C特点及优势 &#xff08;1&#xff09;实现了面向对象&#xff0c;在高级语言中&#xff0c;处理运行速度是最快&#xff1b; &#xff08;2&#xff09;非常灵活&#xff0c;功能非常强大&#xff0c;相对于C的指针优势&#xff0c;C的优势为性能和类层次结构&#x…

【天气识别系统】Python+卷积神经网络算法+人工智能+深度学习+TensorFlow+算法模型训练+Django网页界面

一、介绍 天气识别系统&#xff0c;以Python作为主要编程语言&#xff0c;通过收集了4种常见的天气图像数据集&#xff08;多云、雨天、晴天、日出&#xff09;&#xff0c;然后基于TensorFlow搭建卷积神经网络算法模型&#xff0c;通过多轮迭代训练&#xff0c;最后得到一个识…

Go 语言基础教程:6.条件判断

在这篇教程中&#xff0c;我们将通过一个简单的 Go 语言程序来学习条件判断结构的使用。以下是我们要分析的代码&#xff1a; package mainimport "fmt"func main() {if 7%2 0 {fmt.Println("7 is even")} else {fmt.Println("7 is odd")}if 8…

社交媒体与客户服务:新时代的沟通桥梁

在数字化时代&#xff0c;社交媒体已成为人们日常生活中不可或缺的一部分&#xff0c;它不仅改变了人们的沟通方式&#xff0c;也深刻影响着企业的客户服务模式。从传统的电话、邮件到如今的社交媒体平台&#xff0c;客户服务的渠道正在经历一场前所未有的变革。社交媒体以其即…

聚类分析算法——K-means聚类 详解

K-means 聚类是一种常用的基于距离的聚类算法&#xff0c;旨在将数据集划分为 个簇。算法的目标是最小化簇内的点到簇中心的距离总和。下面&#xff0c;我们将从 K-means 的底层原理、算法步骤、数学基础、距离度量方法、参数选择、优缺点 和 源代码实现 等角度进行详细解析。…

Easy Excel合并单元格情况简单导入导出

需求 实现报表数据的导入导出&#xff0c;表格中部分数据是系统生成&#xff0c;部分数据是甲方填写&#xff0c;录入系统。 批号唯一 Maven <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.…

《IDE 巧用法宝:使用技巧全解析与优质插件推荐》

在日常撸代码的时候&#xff0c;相信兄弟们在IDEA 中用到不少插件&#xff0c;利用插件&#xff0c;不仅可以提高工具效率&#xff0c;撸起代码来&#xff0c;也格外的娃哈哈…… 一、IntelliJ IDEA 作为一个资深 Java 程序员&#xff0c;除了 IDEA 中默认的插件&#xff0c;我…

linux入门之必掌握知识点

#1024程序员节&#xff5c;征文# Linux基础 top命令详解 top命令是用来查看进程系统资源使用情况的工具&#xff0c;它可以动态的现实。 top命令执行后&#xff0c;按大写M可以按内存使用情况进行排序&#xff0c;大写P可以按CPU使用情况进行排序&#xff0c;大写H可以显示线…

GNN+A2C 强化学习训练一个粒子避障决策模型

最近想尝试下使用GNN A2C 进行强化学习&#xff0c;GNN 可以充当一个特征提取器&#xff0c;这样可以增加强化学状态空间因为张量长度受限泛化能力不足的缺点&#xff0c;之前做强化学习的时候受限于需要在环境里提取每个对手的特征&#xff0c;在每个不同场景下因为对手的数量…