一种基于多核DSP硬件特性的神经网络推理任务划分方法

文档序号:37415687发布日期:2024-03-25 19:03阅读:12来源:国知局
一种基于多核DSP硬件特性的神经网络推理任务划分方法

本发明涉及神经网络协同推理,更具体的说是涉及一种基于多核dsp硬件特性的神经网络推理任务划分方法。


背景技术:

1、目前,深度学习正以惊人的速度在各类应用中落地,例如图像分类、目标检测和视频分析等。尽管深度学习模型相较传统算法有着巨大优势,但值得注意的是,模型推理在计算资源方面有很大的需求。例如,vgg-16网络需要高达15.5g mac(乘加计算)来对分辨率为224x224的图像进行分类。一种最直接的方案是将需要庞大计算量的模型推理任务卸载到云端服务器。但是,通常情况下输入数据是在边缘设备附近生成的,长距离传输存在延迟和抖动,存在实时性和安全性问题。早期退出等工作通过在边端设备完成浅层推理,将更深层推理任务卸载到云端,虽然一定的缓解了实时性问题,但适用范围有限且模型需要大量的训练成本。更重要的是,这些方法无法部署到不配备网络条件的应用。

2、多核协同推理的诞生缓解了上述因网络传输带来的一系列问题。其通过多核的综合能力,可以承载更大规模的神经网络模型。依靠与输入数据近距离的优势,可以大幅降低通信延迟和提升系统安全性。然而,如何最优化计算任务分配,如何减少人工参与优化程度,模型分区如何结合硬件通信架构等问题仍然存在。虽然有几项工作已经专注于边缘设备上的协同推理,但它们具有以下弱点:

3、首先,现有的划分策略固定且单一。cnn的特征图通常有行、列两个空间维度和一个输出通道深度维度。先前的工作通常对特征图在空间维度或2d网格维度上进行固定且单一的划分,他们没有考虑多维度的划分并将其归结为同步成本过高。但在实际的推理任务中,模型层的最优划分方式通常与其尺寸相关,并不是单一的固定而是多维度选择问题。

4、其次,在多核设备上进行相邻卷积层的协同推理时,每个卷积算子被划分为多个部分,并在各个计算单元上执行推理计算。由于卷积层算子的不同部分(例如3*3、5*5卷积等)之间存在依赖关系,因此各计算单元在执行分配给每层的卷积算子部分的计算后,需要进行数据交互以传递相关的依赖数据。具体而言,在执行后续层的计算任务时,当前计算单元需要等待其他计算单元完成对上一层计算数据的处理并传递相关数据。在这种情况下,需要在计算和数据传输之间进行性能优化的权衡考虑。为了减少数据传输的等待时间,各计算单元可以选择在本地执行一部分计算,计算出原本存在数据依赖的数据。值得注意的是,过去的研究在这一方面并未充分进行优化。具体而言,现有的工作大多都是采用每间隔连续数层进行一次通信的方法实现计算-通信的权衡,但粒度较粗,存在一定的优化空间。

5、最后,先前的工作对神经网络模型的结构支持有限。例如deepslicing、modnn神经网络只关注链状cnn。deepslicing虽然添加了例如googlenet和resnet等复杂结构,但仍然缺少常见网络结构,例如lstm、transformer等。其次,现有工作在执行各类优化决策时通常依赖大量的人工参与,面对层出不穷的模型结构,很难快速且准确的生成模型划分方案。

6、因此,针对dsp多核协同推理,如何快速且准确的生成神经网络推理任务的均衡划分方案是本领域技术人员亟需解决的问题。


技术实现思路

1、有鉴于此,本发明提供了一种基于多核dsp硬件特性的神经网络推理任务划分方法。

2、为了实现上述目的,本发明采用如下技术方案:

3、一种基于多核dsp硬件特性的神经网络推理任务划分方法,包括以下步骤:

4、获取dsp硬件神经网络模型中的多种算子级候选划分方案,所述算子级候选划分方案包括输入特征图行划分、输入特征图列划分、输入特征图网格划分、输出特征图通道划分、以及基于dsp算力的维度展开均衡划分;

5、基于所述多种算子级候选划分方案构建指数级搜索空间;

6、利用动态规划寻优算法从所述指数级搜索空间中寻找最优算子级候选划分方案。

7、进一步地,上述方法还包括:

8、利用xgboost模型对指数级搜索空间中的每一种算子级候选划分方案进行代价评估。

9、进一步地,基于dsp算力的维度展开均衡划分,具体通过以下步骤实现:

10、将dsp硬件的算子层中每个h*w*c的三维特征图平铺展开为二维序列l*c;其中h表示三维特征图的高度;w表示三维特征图的宽度;l表示二维序列的长度;c表示通道数;

11、按照dsp硬件中每个计算单元的算力值对二维序列的长度l进行初始化,获取每个计算单元对应的初始化长度li;其中li表示第i个计算单元对应的初始化长度;

12、依据实际卷积任务对每个计算单元对应的初始化长度li进行调整优化。

13、进一步地,按照dsp硬件中每个计算单元的算力值对二维序列的长度l进行初始化,具体包括以下步骤:

14、在每个计算单元上执行相同的卷积计算任务,并记录其计算耗时为bi;

15、根据计算耗时bi计算每个计算单元的算力值ci:

16、根据每个每个计算单元的算力值ci对二维序列的长度进行初始化划分:

17、其中,表示总数为n的计算单元的总算力。

18、进一步地,根据计算耗时bi计算每个计算单元的算力值ci,具体包括通过以下公式进行计算:

19、式中,ci表示dsp硬件中第i个计算单元执行相同卷积任务时的计算速度;bi表示dsp硬件中第i个计算单元执行相同卷积任务时的计算耗时。

20、进一步地,依据实际卷积任务对每个计算单元对应的初始化长度li进行调整优化,具体包括以下步骤:

21、s1、根据初始划分长度li对各计算单元划分到的实际卷积任务进行测试,统计其实际执行耗时ti,找出n个计算单元中实际执行耗时的最大值tmax与最小值tmin;

22、s2、设定调整步长,并根据调整步长对实际执行耗时最大值和最小值对应的初始化长度li进行调整,并重新计算实际执行耗时ti,直到实际执行耗时ti的最大值tmax与最小值tmin之间的差值满足设定的阈值。

23、进一步地,并根据调整步长对实际执行耗时最大值和最小值对应的初始化长度li进行调整,具体包括:

24、实际执行耗时最大值tmax的计算单元对应的划分长度减去调整步长,实际执行耗时最小值tmin的计算单元对应的划分长度加上调整步长。

25、进一步地,所述指数级搜索空间分成若干层,指数级搜索空间中的每一层均对应神经网络模型的各层算子,每层算子均需要确定最终的划分方案,且相邻层算子之间存在数据依赖。

26、进一步地,利用动态规划寻优算法从所述指数级搜索空间中寻找最优算子级候选划分方案,具体包括:

27、对指数级搜索空间每一层算子的决策序列进行初始化,所述决策序列包括指数级搜索空间每一层算子的划分方案和通信测量,所述通信测量包括传输和不传输;

28、自底向上从指数级搜索空间的第n层至第0层逆序求解,求得第0层的决策序列对应的划分方案和通信策略即为最优算子级候选划分方案。

29、进一步地,利用xgboost模型对指数级搜索空间中的每一种算子级候选划分方案进行代价评估,具体包括:

30、获取dsp硬件中每一神经网络模型的关键特征、传输宽带和通信模式,其中,所述关键特征包括输入特征图高、输入特征图宽、输入特征图通道、输出特征图高、输出特征图宽、输出特征图通道、卷积核尺寸、填补尺寸、步长、卷积类型;

31、根据所述关键特征对指数级搜索空间中的每一种算子级候选划分方案进行计算评估和后处理评估;

32、根据所述关键特征、传输宽带和通信模式对指数级搜索空间中的每一种算子级候选划分方案进行传输评估;

33、将计算评估结果、后处理评估结果和传输评估结果的和最为每一种算子级候选划分方案的最终评估结果。

34、经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种基于多核dsp硬件特性的神经网络推理任务划分方法,具有以下有益效果:

35、1.通过构建包含one-dim一维卷积和2d-grid的算子级划分候选方案,并设计基于dsp算力的维度展开均衡划分方法,保证了单dsp硬件设备上算子划分的均衡性,为构建多dsp划分搜索空间提供了高效的划分方案。,面向dsp硬件部署神经网络模型,用于解决部署神经网络模型过程中存在的任务负载不均衡问题

36、2.结合算子级划分候选方案和细粒度的计算-通信权衡模块构建了覆盖全面的模型寻优搜索空间。设计了高效的动态规划算法,可在庞大的搜索空间种寻找模型的最优划分方案。

37、3.为了给予动态规划寻优过程中划分子方案准确的性能反馈,本专利抽象了模型推理过程中的计算模块、传输模块及后处理模块并进行关键特征表示,构建了基于xgboost的代价评估模型,以快速生成最优的推理任务划分方案。

38、总之,本发明的神经网络模型推理任务均衡划分方法在改进了划分均衡性的基础上,利用动态规划算法和代价评估模型提高了搜索效率,主要提高神经网络模型在多核dsp硬件上的推理性能。本发明设计的代价评估模型误差在1%以内,在多核dsp硬件上与现有方案对比,搜索出的推理任务划分方案性能提升10%以上。本发明有望在多核dsp硬件上实现神经网络模型的高效部署,提高推理实时性,满足多领域应用的需求。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1