当前位置: 首页 > 专利查询>中山大学专利>正文

基于自适应负载分配的深度神经网络模型协同推理方法技术

技术编号:28147091 阅读:21 留言:0更新日期:2021-04-21 19:33
本发明专利技术公开了一种基于自适应负载分配的深度神经网络模型协同推理方法。通过建模深度神经网络模型的执行过程以及通信带宽动态变化对于多终端设备分布式计算的影响,该发明专利技术构建了一个综合考虑推理时延以及系统能耗的优化问题,并提出了一种基于整数线性规划的深度神经网络模型推理负载自适应分配算法。相较于传统的深度神经网络模型本地推理以及当前最先进的协同计算方案,本方法不仅提出了在多终端设备上的全新协同推理范式,还能在给定智能应用要求的执行时延条件下综合考虑计算资源异构性和网络动态性,实现最小化能耗开销的深度神经网络协同推理。度神经网络协同推理。

【技术实现步骤摘要】
基于自适应负载分配的深度神经网络模型协同推理方法


[0001]本专利技术涉及深度学习、边缘计算以及分布式计算
,更具体地,涉及一种基于自适应负载分配的深度神经网络模型协同推理方法。

技术介绍

[0002]基于深度学习技术的各类智慧服务在近年来取得了长足的发展,现已深入融合到人们的日常生活中。例如,在如今已广泛部署的智能家居场景下,某一智能摄像头在捕捉到人脸图像时,可以即时发起深度学习推理计算以识别人脸信息。然而,出于经济和空间利用等方面的考虑,用户在智能家居中部署的终端设备通常是计算能力有限的小型终端设备,诸如智能音箱、智能网关和小型家用主机等等。在处理对计算资源有强烈需求的深度学习推理任务时,这类终端设备通常难以满足用户在实时性、安全性和环保性等方面的需求。
[0003]针对这一痛点,传统的解决方案通常借助云计算范式,将智能家居终端设备的感知数据和计算请求发送到云端,借助数据中心服务器强大的计算能力快速计算推理结果。然而,这一方法会带来多方面的隐患:一方面,传统云计算方案的性能受限于用户和云端之间不稳定的远程通信,云端的深度神经网络推理结果难以保证在用户可接受的时延范围内返回至终端设备;另一方面,将可能包含用户私人活动信息的数据发送至商业公司所拥有的云端服务器,难免引起用户对隐私泄露的担忧。

技术实现思路

[0004]本专利技术为克服上述现有技术中的至少一个缺陷,提供一种基于自适应负载分配的深度神经网络模型协同推理方法,实现在多终端设备上的深度学习模型低时延与高能效协同推理。
[0005]为解决上述技术问题,本专利技术采用的技术方案是:一种基于自适应负载分配的深度神经网络模型协同推理方法,包括以下步骤:
[0006]S1.深度神经网络模型安装步骤:各终端设备在协同推理系统运行前将训练好的深度神经网络模型安装至本地计算环境,并根据深度神经网络模型的结构设计记录好相应的配置参数;主设备收集所有可用终端设备的深度神经网络模型配置参数信息,其中,所述的主设备是接收输入的设备;
[0007]S2.终端设备计算能力信息采集步骤:各终端设备在协同推理系统运行前利用本地历史输入样例离线执行深度神经网络模型推理任务,记录相关的运行时数据,估算本地计算能力参数;主设备收集所有可用终端设备的计算能力参数信息;
[0008]S3.深度神经网络模型协同推理建模步骤:主设备在协同推理系统运行时收集终端设备网络带宽信息以及用户定义的时延要求参数,结合步骤S1和步骤S2所收集的深度神经网络模型配置参数以及各终端设备计算能力参数,对协同推理过程进行性能优化问题建模;其中,所述的性能优化问题是在满足用户定义的时延要求内最小化系统的能耗开销;
[0009]S4.深度神经网络模型协同推理负载分配步骤:主设备将步骤S3所建模的优化问
题转化为多个线性规划子问题,通过自适应负载分配算法,动态调整针对当前输入的协同推理负载分配,从而实现在满足用户定义的时延要求条件下最优化系统能耗开销;
[0010]S5.深度神经网络模型协同推理执行步骤:主设备在接收到输入图片后,根据由步骤S4所生成的深度神经网络模型协同推理负载分配方案切分输入图片,随后将各负载分块发送至对应的终端设备;在各终端设备接收到当前输入的负载分块后,协同执行深度神经网络模型推理任务,最终得到协同推理结果。
[0011]进一步的,所述的步骤S1具体包括:
[0012]S11.定义深度神经网络模型拓扑结构参数:定义深度神经网络模型的某一层l表示深度神经网络模型推理中的一次卷积计算操作或一次全连接层计算操作;给定一个深度神经网络模型,定义L=[1,2,

,L]表示该模型连续L层计算;
[0013]S12.定义深度神经网络模型各层计算配置参数:定义表达第l层计算的配置参数组<k,c
in
,c
out
,s,p>
l
,其中,k表示卷积核尺寸,c
in
表示输入通道数,c
out
表示输出通道数,s表示卷积步长,p表示卷积补充数据尺寸;其中,步骤S11所述的一次卷积计算操作或一次全连接层计算操作均可用该配置参数组表达;
[0014]S13.采集深度神经网络模型配置参数:根据深度神经网络模型结构设计,记录S11所述的模型拓扑结构参数L=[1,2,

,L]和S12所述的各层配置参数组<k,c
in
,c
out
,s,p>
l

[0015]S14.在本地计算环境安装深度神经网络模型:各终端设备将训练好的深度神经网络模型文件下载并保存至本地,在协同推理系统运行前将深度神经网络模型推理所需参数加载至内存,确保在输入到达时可立刻执行深度神经网络模型推理任务。
[0016]进一步的,所述的步骤S2具体包括:
[0017]S21.定义终端设备负载分配参数:定义N=[1,2,

,N]表示包含N个参与协同推理任务的终端设备的可用设备组;对于任意设备i,定义该终端设备i接收的计算负载尺寸为a
i
,令π=[a1,a2,

,a
N
]表示基于可用终端设备组N的协同推理负载分配方案;给定步骤S11所述当前深度神经网络第l层,基于所述的计算负载尺寸a
i
,定义计算负载数据量为r
li
,r
li
通过计算原输入图片上尺寸为a
i
的部分的数据量获得;
[0018]S22.定义终端设备计算能力参数:定义表达第i个终端设备的计算能力参数组<ρ,f,m,P
c
,P
x
>
i
,其中,ρ表示每处理1KB输入数据所需的CPU转数,f表示CPU频率,m表示可用内存空间,P
c
表示计算功率,P
x
表示传输功率;其中,可用内存空间m表示除基本系统底层服务外可供协同推理系统使用的内存空间;
[0019]S23.各终端设备采集计算能力参数:在协同推理系统运行前,各终端设备在本地计算环境利用历史输入样例离线执行深度神经网络推理任务,记录步骤S22所述的计算能力参数组<ρ,f,m,P
c
,P
x
>
i
;其中,CPU频率f可通过终端设备说明书获取,执行一次深度神经网络推理任务所需的CPU转数可通过CPU频率f乘单次推理任务执行时延获得,每处理1KB输入数据所需的CPU转数ρ可通过用CPU频率f除输入数据大小获得,计算功率P
c
和传输功率P
x
可通过单次推理任务执行时延分别除计算能耗和传输能耗获得;
[0020]S24.采集所有可用终端设备计算能力参数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于自适应负载分配的深度神经网络模型协同推理方法,其特征在于,包括以下步骤:S1.深度神经网络模型安装步骤:各终端设备在协同推理系统运行前将训练好的深度神经网络模型安装至本地计算环境,并根据深度神经网络模型的结构设计记录好相应的配置参数;主设备收集所有可用终端设备的深度神经网络模型配置参数信息,其中,所述的主设备是接收输入的设备;S2.终端设备计算能力信息采集步骤:各终端设备在协同推理系统运行前利用本地历史输入样例离线执行深度神经网络模型推理任务,记录相关的运行时数据,估算本地计算能力参数;主设备收集所有可用终端设备的计算能力参数信息;S3.深度神经网络模型协同推理建模步骤:主设备在协同推理系统运行时收集终端设备网络带宽信息以及用户定义的时延要求参数,结合步骤S1和步骤S2所收集的深度神经网络模型配置参数以及各终端设备计算能力参数,对协同推理过程进行性能优化问题建模;其中,所述的性能优化问题是在满足用户定义的时延要求内最小化系统的能耗开销;S4.深度神经网络模型协同推理负载分配步骤:主设备将步骤S3所建模的优化问题转化为多个线性规划子问题,通过自适应负载分配算法,动态调整针对当前输入的协同推理负载分配,从而实现在满足用户定义的时延要求条件下最优化系统能耗开销;S5.深度神经网络模型协同推理执行步骤:主设备在接收到输入图片后,根据由步骤S4所生成的深度神经网络模型协同推理负载分配方案切分输入图片,随后将各负载分块发送至对应的终端设备;在各终端设备接收到当前输入的负载分块后,协同执行深度神经网络模型推理任务,最终得到协同推理结果。2.根据权利要求1所述的基于自适应负载分配的深度神经网络模型协同推理方法,其特征在于,所述的步骤S1具体包括:S11.定义深度神经网络模型拓扑结构参数:定义深度神经网络模型的某一层l表示深度神经网络模型推理中的一次卷积计算操作或一次全连接层计算操作;给定一个深度神经网络模型,定义L=[1,2,

,L]表示该模型连续L层计算;S12.定义深度神经网络模型各层计算配置参数:定义表达第l层计算的配置参数组<k,c
in
,c
out
,s,p>
l
,其中,k表示卷积核尺寸,c
in
表示输入通道数,c
out
表示输出通道数,s表示卷积步长,p表示卷积补充数据尺寸;其中,步骤S11所述的一次卷积计算操作或一次全连接层计算操作均可用该配置参数组表达;S13.采集深度神经网络模型配置参数:根据深度神经网络模型结构设计,记录S11所述的模型拓扑结构参数L=[1,2,

,L]和S12所述的各层配置参数组<k,c
in
,c
out
,s,p>
l
;S14.在本地计算环境安装深度神经网络模型:各终端设备将训练好的深度神经网络模型文件下载并保存至本地,在协同推理系统运行前将深度神经网络模型推理所需参数加载至内存,确保在输入到达时可立刻执行深度神经网络模型推理任务。3.根据权利要求2所述的基于自适应负载分配的深度神经网络模型协同推理方法,其特征在于,所述的步骤S2具体包括:S21.定义终端设备负载分配参数:定义N=[1,2,

,N]表示包含N个参与协同推理任务的终端设备的可用设备组;对于任意设备i,定义该终端设备i接收的计算负载尺寸为a
i
,令π=[a1,a2,

,a
N
]表示基于可用终端设备组N的协同推理负载分配方案;给定步骤S11所述
当前深度神经网络第l层,基于所述的计算负载尺寸a
i
,定义计算负载数据量为r
li
,r
li
通过计算原输入图片上尺寸为a
i
的部分的数据量获得;S22.定义终端设备计算能力参数:定义表达第i个终端设备的计算能力参数组<ρ,f,m,P
c
,P
x
>
i
,其中,ρ表示每处理1KB输入数据所需的CPU转数,f表示CPU频率,m表示可用内存空间,P
c
表示计算功率,P
x
表示传输功率;其中,可用内存空间m表示除基本系统底层服务外可供协同推理系统使用的内存空间;S23.各终端设备采集计算能力参数:在协同推理系统运行前,各终端设备在本地计算环境利用历史输入样例离线执行深度神经网络推理任务,记录步骤S22所述的计算能力参数组<ρ,f,m,P
c
,P
x
>
i
;其中,CPU频率f可通过终端设备说明书获取,执行一次深度神经网络推理任务所需的CPU转数可通过CPU频率f乘单次推理任务执行时延获得,每处理1KB输入数据所需的CPU转数ρ可通过用CPU频率f除输入数据大小获得,计算功率P
c
和传输功率P
x
可通过单次推理任务执行时延分别除计算能耗和传输能耗获得;S24.采集所有可用终端设备计算能力参数:主设备收集所有可用终端设备的计算能力参数组<ρ,f,m,P
c
,P
x
>
i
,根据可用终端设备数记录S21所述的可用设备组N=[1,2,

,N],并将协同推理负载分配方案π=[a1,a2,

,a
N
]随机初始化。4.根据权利要求3所述的基于自适应负载分配的深度神经网络模型协同推理方法,其特征在于,所述的步骤S3具体包括:S31.定义协同推理时延要求参数:由用户或服务提供商定义推理时延要求参数D;其中,参数D表示协同推理任务需要在时延要求D内执行完成;S32.定义各终端设备通信带宽参数...

【专利技术属性】
技术研发人员:陈旭曾烈康周知
申请(专利权)人:中山大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1