一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种神经网络加速推理方法与流程

2022-09-03 22:38:01 来源:中国专利 TAG:


1.本发明涉及一种神经网络加速推理方法,属于边缘计算领域。


背景技术:

2.神经网络是由多个简单的处理单元彼此按某种方式相互连接而形成的计算系统,该系统是靠其状态对外部输入信息的动态响应来处理信息。神经网络具有自学习功能,能推断出从未知数据之间的未知关系,从而使得神经网络能够预测未知数据并且推广至多个领域。但神经网络的推理过程需要使用大量的计算资源,对包含多个神经网络的工作模型更是如此,如知识图谱、专家知识库等。
3.由于用户终端难以为神经网络提供其所需的计算资源,传统方法是将工作模型置于云服务器,利用云服务器强大的计算能力进行神经网络推理运算从而响应用户需求。但云服务器远离终端,访问集中,其访问时延和传输时延均较大,对实时性要求较高的用户,难以及时响应。
4.因此,需要一种实时性更强的神经网络推理方法。


技术实现要素:

5.为了克服现有技术中存在的问题,本发明设计了一种神经网络加速推理方法,通过设置目标函数求解缓存方法,并将工作模型分片缓存至多个计算节点,在计算节点之间进行协同推理,能充分利用边缘服务器的计算能力和位置优势,降低云服务器的计算压力,同时协同推理所需时间远小于传统的云计算方案,实时性强,提高用户体验。
6.为了实现上述目的,本发明采用如下技术方案:
7.一种神经网络加速推理方法,包括以下步骤:
8.将工作模型分割为若干个分片;
9.构建以各分片处理时间与各分片处理耗能之和最小为目标的目标函数;
10.求解所述目标函数的最优解;
11.根据所述最优解,将若干个分片分别缓存至若干个计算节点;所述计算节点包括终端、边缘服务器、云服务器;
12.记录工作模型的缓存方案;根据所述缓存方案,在若干个计算节点之间进行协同推理。
13.进一步地,所述目标函数以公式表达为:
[0014][0015]
[0016][0017]
式中,n表示分片数量;ti表示第i个分片的处理时间;ei表示第i个分片的处理耗能;a和b表示权重;ai、b
ij
、ci为变量;t
ai
、t
bji
、t
ci
分别表示第i个分片在终端、第j个边缘服务器、云服务器上的处理时间;e
ai
、e
bij
、e
ci
分别表示第i个分片在终端、第j个边缘服务器、云服务器上的处理耗能;m表示边缘服务器数量。
[0018]
该目标函数的约束条件以公式表达为:
[0019][0020]ai
∈{0、1}、b
ij
∈{0、1}、ci∈{0、1}
[0021][0022]
式中,分别表示第i个分片在终端、第j个边缘服务器、云服务器上的等待时延;tk表示第k个分片的处理时间;pred(i)表示与第i个分片的关联前置分片集合。
[0023]
进一步地,所述处理时间包括分片的等待时延、计算时延和分片输入数据的传输时延。
[0024]
进一步地,所述传输时延以公式表达为:
[0025][0026]
式中,分别表示第i个分片在终端、第j个边缘服务器、云服务器上的传输时延;;si表示第i个分片输入数据量的大小;ra表示终端上行数据传输速率;r
bj
表示第j个边缘服务器上行数据传输速率;rc表示云服务器上行数据传输速率。
[0027]
进一步地,还包括:所述终端、各边缘服务器和云服务器均设有请求队列;计算请求队列的平均等待时延作为分片在终端、各边缘服务器和云服务器的等待时延。
[0028]
与现有技术相比本发明有以下特点和有益效果:
[0029]
本发明通过设置目标函数求解缓存方法,并将工作模型分片缓存至多个计算节点,在计算节点之间进行协同推理,能充分利用边缘服务器的计算能力和位置优势(边缘服务器离终端更近),降低云服务器的计算压力,同时协同推理所需时间远小于传统的云计算方案,实时性强,提高用户体验。
附图说明
[0030]
图1是本发明流程图。
具体实施方式
[0031]
下面结合实施例对本发明进行更详细的描述。
[0032]
实施例一
[0033]
如图1所示,一种神经网络加速推理方法,包括以下步骤:
[0034]
训练工作模型,所述工作模型包括至少一个神经网络模型,如专利《一种智能财务处理系统及方法》中的智能财务处理系统,包括文本提取模型、图像分类模型、文档分类模型等多个神经网络模型。
[0035]
将工作模型分割为n个分片。
[0036]
构建目标函数,如下
[0037][0038]
式中,n表示分片数量;ti表示第i个分片的处理时间;ei表示第i个分片的处理耗能;a和b表示权重,a b=1;ai、b
ij
、ci为变量,其取值范围均为{0、1},t
ai
、t
bji
、t
ci
分别表示第i个分片在终端、第j个边缘服务器、云服务器上的处理时间;e
ai
、e
bij
、e
ci
分别表示第i个分片在终端、第j个边缘服务器、云服务器上的处理耗能;m表示边缘服务器数量。
[0039][0040][0041][0042]
式中,表示第i个分片在终端上的计算时延、等待时延、传输时延(本实施中传输时延指的是第i个分片所需要的输入数据的传输时间);表示第i个分片在第j个边缘服务器上的计算时延、等待时延、传输时延;表示第i个分片在云服务器上的计算时延、等待时延、传输时延。
[0043]
终端、各边缘服务器和云服务器均设有请求队列;计算请求队列的平均等待时延作为分片在终端、各边缘服务器和云服务器的等待时延
[0044][0045]
式中,di表示第i个分片所需的cpu时钟周期数;fa表示终端cpu的工作频率;f
bj
表示第j个边缘服务器cpu的工作频率(本实施例中假定各边缘服务器工作频率相同);fc表示云服务器cpu的工作频率;
[0046][0047]
式中,si表示第i个分片所需的输入数据量的大小;ra表示终端上行数据传输速率;r
bj
表示第j个边缘服务器上行数据传输速率;rc表示云服务器上行数据传输速率。
[0048]eai
=dica[0049]ebij
=d
icbj
[0050]eci
=d
icc
[0051]
式中,di表示第i个分片所需的cpu时钟周期数;ca表示终端每一个时钟周期内消耗的能量;f
bj
表示第j个边缘服务器每一个时钟周期内消耗的能量;fc表示云服务器每一个时钟周期内消耗的能量。
[0052]
s.t.
[0053][0054]ai
∈{0、1}、b
ij
∈{0、1}、ci∈{0、1}
[0055][0056]
式中,pred(i)表示的关联前置分片集合。该约束条件表示第i个分片的等待时间大于等于第i个分片之前的所有关联分片完成时间。
[0057]
求解该目标函数的最优解;并根据所述最优解将n个分片缓存至终端、边缘服务器、云服务器;
[0058]
终端记录该缓存方案;终端收到推理请求时,根据所述缓存方案,在各计算节点之间进行协同推理。
[0059]
实施例二
[0060]
由于该目标函数为np问题,故采用遗传算法求解该目标函数:
[0061]
s1、随机生成m个解作为个体组成初始群体;
[0062]
s2、按所述目标函数公式,计算各个体的目标函数值作为适应度;
[0063]
s3、保留适应度最高的n个个体作为候选解;
[0064]
s4、根据候选解,生成新的候选解;
[0065]
s5、对新生成的候选解进行变异操作;
[0066]
s6、迭代循环步骤s2-s5,直至最优个体的适应度达到阈值,最优个体即为该目标函数的最优解。
[0067]
显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献