System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于边缘计算,特别涉及一种基于dnn模型切割的边缘计算协同推理方法。
技术介绍
1、随着物联网技术的迅猛发展,各种智能设备产生了大量的数据。为了更高效地处理这些数据并实现实时的智能决策,边缘计算技术应运而生。深度学习为解决各行业的核心问题提供了强大的工具,涵盖了从智慧城市建设到楼宇的智能化改造,再到道路监控系统、智能医疗服务、家庭智能应用和自动驾驶技术等方方面面,dnn已经成为人工智能和智能应用领域不可或缺的关键工具。随着神经网络模型规模的不断增大,对计算能力的需求也在逐步提高。然而,传统的云计算模式通常将模型部署在云端数据中心,这导致了传输网络和数据中心的压力,同时也带来了较高的推理时延。鉴于许多智能应用对时延的高度敏感,这种模式已经无法满足现代需求。因此,边缘计算和边缘—云端协同的部署方式应运而生,以提高推理效率并降低时延。边缘计算是一种将计算能力推向网络边缘,使得数据在产生源和云端之间得以处理的分布式计算架构。相对于传统的云计算模式,边缘计算具有低延迟、高效性、隐私保护等优势。然而,当前边缘计算面临着一系列挑战。其中之一是边缘服务器通常具有有限的计算和存储资源,导致难以满足复杂模型的高效推理需求。在现有技术中,常见的解决方案是将模型部署在云端进行推理,但这会引入较高的延迟,不利于对实时性要求较高的应用场景。另一方面,当前边缘计算系统在推理过程中通常采用静态的模型部署方式,即将整个模型部署到边缘服务器上。这种方式存在资源浪费的问题,因为边缘服务器可能只需要模型中的部分功能,而无需整个模型的推理能力。
>技术实现思路
1、为了克服上述现有技术的缺点,本专利技术的目的在于提供一种基于dnn模型切割的边缘计算协同推理方法,以解决现有技术中存在的推理延迟、边缘计算推理效率低、资源利用率不高的问题中的一个或多个。
2、为了实现上述目的,本专利技术采用的技术方案是:
3、一种基于dnn模型切割的边缘计算协同推理方法,包括如下步骤:
4、步骤1,对dnn模型进行训练,识别dnn模型的层及层间信息;
5、步骤2,将所述层及层间信息封装构成dag的节点,跟踪层间执行顺序得到dag的边;
6、步骤3,组合所述节点和所述边,将dnn模型的执行过程转化为执行计算任务的dag,完成模型动态分析;
7、步骤4,对dag结构进行压缩;
8、步骤5,将压缩后的dag与链式结构边缘服务器建模dag;
9、步骤6,使用最大流最小割s-t算法对所建模dag进行切割;
10、步骤7,对于切割后的dag,在切割点部署压缩器对中间特征进行压缩,完成协同推理;
11、步骤8,具体应用时,根据上述流程,执行上述协同推理的具体步骤。
12、在一个实施例中,所述步骤1,对dnn模型进行训练,识别dnn模型的层及层间信息,方法如下:
13、对输入的多个小批量数据进行训练,探测dnn模型不同层的计算时间和内存占用信息,以及层间执行顺序和依赖关系;
14、通过稀疏dnn模型层间的密集连接性聚焦关键拓扑链接,将dnn模型结构转换为易于分区聚类的原始计算任务dag。
15、所述通过稀疏dnn模型层间的密集连接性聚焦关键拓扑链接,将dnn模型结构转换为易于分区聚类的原始计算任务dag,方法如下:
16、通过对dnn模型进行分析,重新构建神经网络层之间的连通关系,聚焦关键的拓扑链接,将模型结构转化为原始计算任务的dag。
17、在一个实施例中,所述步骤2,将层及层间信息封装构成dag的节点,跟踪层间执行顺序得到dag的边,方法如下:
18、将各层执行次序作为键,层及层间操作类型、具体操作信息、计算时间、内存占用信息作为值,进行字典键值存储;
19、将层间执行顺序和依赖关系使用各层键存储;
20、将dnn模型在前向传播过程中每层的输出形状使用通道数、高、宽组成的列表记录,用来构成各层和层间操作的输入或输出值传递;
21、定义原始计算任务dag,具有节点和边属性,其中节点对象包含执行次序、操作类型、具体操作信息、计算时间和内存占用信息,边为节点间执行次序,使用字典存储每个节点对应的出边和入边。
22、在一个实施例中,所述步骤3,组合节点和边,将dnn模型的执行过程转化为执行计算任务的dag,完成模型动态分析,方法如下:
23、根据步骤2中定义的字典以及记录的相关信息,在dnn模型的训练过程中完成状态信息的收集;收集时将层执行次序键与节点序号对应,层信息的值与节点剩余属性对应,封装各节点信息构成节点对象:
24、[nodei-layer_type(layer_desc)-fi,bi,ai,pi]
25、其中,layer_type为层及层间操作类型,layer_desc为具体操作信息,fi为第i层前向传播的计算时间,bi为第i层反向传播计算时间,ai为第i层输出激活大小,pi为第i层的参数量;
26、将层及层间操作的执行顺序和依赖关系layeri→j封装为dag的边,边信息为:
27、(nodei→nodej)
28、nodei和nodej均表示节点序号。
29、在一个实施例中,所述步骤4:
30、对dag结构的节点进行分析,判断其是否可能作为当前路径上分割的最后节点;如果存在节点的输入不大于输出,则对该dag结构进行压缩处理;
31、对于出度和入度大于1的节点保留不做压缩;
32、对于输入层和输出层不做合并,直接保留。
33、在一个实施例中,所述步骤4,压缩方法如下:
34、当存在三个线性节点,并且中间节点出度入度均为1,且输入数据不小于输出数据,则将后两个节点进行合并成为新的节点,并与第一个节点直接相连,其输入大小等于中间节点的输入大小,计算延迟等于后两个节点的计算延迟之和。
35、在一个实施例中,所述步骤5,将压缩后的dag与链式结构边缘服务器建模dag,方法如下:
36、将压缩后的dag表述为gn(v,e),v为节点集,v={v0,...,vi,...,vn-1},n为v中的节点数量,节点vi表示dnn模型的第i层,1≤i≤n-1,v0表示输入层;e为链接集,有向链接(vi,vi′)∈e表示dnn模型第i层与第i′层之间的直接计算依赖关系,即第i层必须在第i′层前执行,且第i层输出被送到第i′层作为输入;
37、所述链式结构边缘服务器是由m个边缘服务器组成的路边链式结构ε,将其建模为无向图gε(u,l),u为节点集,u={u1,...,uk,...,um},节点uk表示第k个边缘服务器,1≤k≤m;l为链接集,链接(uk,uk′)代表第k个边缘服务器与第k′个边缘服务器之间的物理连接;
38、创建空集wc和εc,对dnn模型除输入层在本地本文档来自技高网...
【技术保护点】
1.一种基于DNN模型切割的边缘计算协同推理方法,其特征在于,包括如下步骤:
2.根据权利要求1所述基于DNN模型切割的边缘计算协同推理方法,其特征在于,所述步骤1,对DNN模型进行训练,识别DNN模型的层及层间信息,方法如下:
3.根据权利要求1所述基于DNN模型切割的边缘计算协同推理方法,其特征在于,所述步骤2,将层及层间信息封装构成DAG的节点,跟踪层间执行顺序得到DAG的边,方法如下:
4.根据权利要求1所述基于DNN模型切割的边缘计算协同推理方法,其特征在于,所述步骤3,组合节点和边,将DNN模型的执行过程转化为执行计算任务的DAG,完成模型动态分析,方法如下:
5.根据权利要求1所述基于DNN模型切割的边缘计算协同推理方法,其特征在于,所述步骤4中:
6.根据权利要求5所述基于DNN模型切割的边缘计算协同推理方法,其特征在于,所述步骤4,压缩方法如下:
7.根据权利要求6所述基于DNN模型切割的边缘计算协同推理方法,其特征在于,所述步骤5,将压缩后的DAG与链式结构边缘服务器建模DAG,方法如下:
8.根据权利要求7所述基于DNN模型切割的边缘计算协同推理方法,其特征在于,所述步骤6,使用最大流最小割S-T算法对所建模DAG进行切割,方法如下:
9.根据权利要求8所述基于DNN模型切割的边缘计算协同推理方法,其特征在于,所述DNN模型的第i层和第i′层之间的传输延迟的计算存在如下三种情况:
10.根据权利要求6所述基于DNN模型切割的边缘计算协同推理方法,其特征在于,所述步骤7,压缩器由编码器、不可训练的通道层和解码器组成,压缩器部署在DAG子图计算结果的传输端;
...【技术特征摘要】
1.一种基于dnn模型切割的边缘计算协同推理方法,其特征在于,包括如下步骤:
2.根据权利要求1所述基于dnn模型切割的边缘计算协同推理方法,其特征在于,所述步骤1,对dnn模型进行训练,识别dnn模型的层及层间信息,方法如下:
3.根据权利要求1所述基于dnn模型切割的边缘计算协同推理方法,其特征在于,所述步骤2,将层及层间信息封装构成dag的节点,跟踪层间执行顺序得到dag的边,方法如下:
4.根据权利要求1所述基于dnn模型切割的边缘计算协同推理方法,其特征在于,所述步骤3,组合节点和边,将dnn模型的执行过程转化为执行计算任务的dag,完成模型动态分析,方法如下:
5.根据权利要求1所述基于dnn模型切割的边缘计算协同推理方法,其特征在于,所述步骤4中:
6.根据权利要求5所述...
【专利技术属性】
技术研发人员:赵婵婵,吕飞,王海凤,海晓伟,庄旭菲,
申请(专利权)人:内蒙古工业大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。