面向边缘集群的并行计算方法和系统技术方案

技术编号:33123159 阅读:24 留言:0更新日期:2022-04-17 00:28
本发明专利技术提供一种面向边缘集群的并行计算方法和系统,方法包括:获得边缘集群中各计算设备的计算能力;将包括主分支和子分支的多层卷积神经网络按多融合层块方式划分为多个多融合层块,根据获取的各计算设备的计算能力向各个计算设备分配与其计算能力对应的工作负载,在各个计算设备执行主分支中多融合层块的计算而到达子分支时,保存当前主分支的计算结果,基于当前主分支的计算结果由各个计算设备执行当前位置的子分支的卷积层,由计算能力最强的计算设备执行全连接层并依据执行结果获得输入样本的熵值并将该熵值与预设的置信度阈值的比较结果确定继续执行主分支还是退出计算。本发明专利技术能优化在资源受限的设备上执行现有大型神经网络的效果。有大型神经网络的效果。有大型神经网络的效果。

【技术实现步骤摘要】
面向边缘集群的并行计算方法和系统


[0001]本专利技术涉及深度神经网络
,尤其涉及一种面向边缘集群的可伸缩并行计算方法和装置。

技术介绍

[0002]深度神经网络(Deep Neural Networks,DNN)已经成为解决如图像识别、自然语言处理等复杂问题不可或缺的工具。DNN在提供了强大的特征提取能力的同时,对设备的计算能力提出了更高的要求。同时,近年来物联网设备呈指数级增长,为了应对呈指数级增长的物联网设备带来的数据爆炸现象,边缘计算应运而生。边缘计算是指在靠近数据产生的网络边缘如终端设备或边缘服务器执行计算任务,从而以较低的时延提供计算服务。但是边缘设备难以快速的执行大型DNN模型,而边缘计算场景下的应用一般对任务的延迟有较高的要求。在资源有限的边缘设备上运行深度神经网络将带来不可接受的时延,这阻碍了人工智能为边缘设备赋能。在边缘计算场景下,边缘设备对于不同类型的任务通常有着不同的时延及准确率的需求。以交通摄像头为例,检测交通堵塞的任务对时延要求高,对精度要求低;识别车牌的任务对精度要求高,对时延要求低。因此,根据应用需求提供具有可伸缩性的深度学习服务是十分必要的。而目前的深度学习模型通常不具有可伸缩性,其推理时延是固定的,难以动态适配不同需求的任务。
[0003]专利申请号为CN202010100106.4的中国专利申请提出了一种面向神经网络编解码工具的并行推理方法,其包括:对待处理的图像进行边界扩充,得到边界完整的图像;根据光栅扫描顺序将所述边界完整的图像划分成大小相同的图像块;将所述大小相同的图像块组织成若干个张量,并将所述若干个张量作为一组张量同时送入神经网络中进行前向传播处理,其中,根据神经网络编码工具以及硬件显存大小设置所述张量的批尺寸值。该方法能减少神经网络执行过程中对GPU显存的占用,但在加速神经网络推理速度方面仍有较大的提升空间。
[0004]为了提高深度学习模型在资源受限的设备上的推理速度,人们常常将计算任务卸载到云或边缘服务器。En Li等人提出一种终端设备和边缘服务器协同执行DNN的框架(参见“On

demand accelerating deep neural network inference via edge computing.”IEEE Transactions on Wireless Communications 19(1),447

457(2020))。终端设备复杂执行DNN的前部,随后将中间数据发送到边缘服务器,由边缘服务器执行剩下的计算任务。由于边缘服务器的计算能力远大于终端设备,因此DNN任务能够迅速的完成,该方法虽然能有效降低任务整体时延,但是其性能高度依赖于终端设备与远端服务器的网络质量,当设备与服务器的网络质量下降时,DNN任务执行速度也随之急剧下降。此外,这种服务器辅助的方法需要将中间数据发送到边缘服务器或云端服务器,这可能造成隐私数据的泄露。
[0005]DNN模型的复杂结构是其需要大量计算资源的根本原因,因此,另一种加速的DNN推理速度的方法关注于优化DNN模型结构以减少所需的计算量。如对原DNN模型进行剪枝,
去掉模型中重要程度低的权重,以降低计算量;或者使用低比特权重代替原有的浮点数权重,这种方法有效的减少了模型对设备内存的需求。但是这种在降低模型计算量的同时,会使模型的特征提取能力大幅下降,模型的准确率会有较大程度的衰减。
[0006]Mao等人提出了将推理任务分配给多个设备并行计算(参见“Modnn:Local distributed mobile computing system for deep neural network.”In:Design,Automation Test in Europe Conference Exhibition(DATE),2017.pp.1396

1401(2017)),从而加速DNN在计算能力弱的设备上的推理速度,但是其在任务分发过程中,其采用了分层的方法,即各设备执行完DNN模型的每一层后都需要交换各自的数据,以移除数据依赖问题。这种分层方法造成了频繁的设备间通信,计算速度也高度依赖网络质量。
[0007]因此,如何在保证神经网络模型准确率的前提下提高神经网络模型在资源受限的边缘集群设备上的运行速度以及根据任务需求提供可伸缩性的深度神经网络成为了亟待解决的问题。

技术实现思路

[0008]鉴于此,本专利技术实施例提供了一种面向边缘集群的可伸缩并行计算方法和装置,以消除或改善现有技术中存在的一个或更多个缺陷。
[0009]本专利技术的一个方面提供了一种面向边缘集群的可伸缩并行计算方法,该方法包括以下步骤:
[0010]计算能力获取步骤,用于获得边缘集群中各计算设备的计算能力;多融合层块生成步骤,用于将包括主分支以及与预设的主分支不同退出点对应的子分支的多层卷积神经网络按多融合层块方式进行划分,针对划分的多融合层块的各个卷积层,根据获取的各计算设备的计算能力向各个计算设备分配与其计算能力对应的工作负载,以使得各计算设备执行当前多融合层块内连续卷积层的计算时间与平均计算时间的最大差值小于预定同步阈值;各个计算设备每执行完毕一个多融合层块内多个连续卷积层的任务后进行计算设备间数据交换;分支选择步骤,在各个计算设备执行主分支中多融合层块的计算而到子分支时,保存当前主分支的计算结果,基于当前主分支的计算结果由各个计算设备执行当前位置的子分支的卷积层,由计算能力最强的计算设备执行全连接层,并依据全连接层的执行结果获得输入样本的熵值,依据获得的熵值与预设的置信度阈值的比较结果确定继续执行主分支还是退出计算。
[0011]在本专利技术的一些实施例中,所述多融合层块生成步骤包括:初始多融合层块设置步骤:针对所述多层卷积神经网络设置包括至少一个卷积层的多融合层块;多融合层块扩展步骤:基于获取的各计算设备的计算能力预估所述多融合层块的冗余数据计算开销,基于边缘集群所处的网络的带宽计算通信节省开销,基于计算的冗余数据计算开销和通信节省开销扩展所述多融合层块,以在冗余数据计算开销大于通信节省开销且结束卷积层后方相邻的卷积层不是退出点或多层卷积神经网络的最后一层时,将所述结束卷积层后方相邻的卷积层加入多融合层块并作为结束卷积层;任务分配步骤:根据获取的各计算设备的计算能力向参与计算的各个计算设备分配与其计算能力对应的工作负载,以使得各计算设备执行当前多融合层块内连续卷积层的计算时间与平均计算时间的最大差值小于预定同步阈值;重复所述任务分配步骤和所述多融合层块扩展步骤,直至冗余数据计算开销大于或
等于通信节省开销、扩展到达退出点或扩展到达多层卷积神经网络的最后一层。
[0012]在本专利技术的一些实施例中,所述任务分配步骤包括:计算设备分得的工作负载的计算量为该计算设备的计算能力与参与计算的所有计算设备的计算能力之和的比值与总工作负载的计算量的乘积;计算设备分得的工作负载为当前融合层块的结束层的工作负载,当前融合层块除本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向边缘集群的并行计算方法,其特征在于,该方法包括以下步骤:计算能力获取步骤,用于获得边缘集群中各计算设备的计算能力;多融合层块生成步骤,用于将包括主分支以及与预设的主分支不同退出点对应的子分支的多层卷积神经网络按多融合层块方式进行划分,针对划分的多融合层块的各个卷积层,根据获取的各计算设备的计算能力向各个计算设备分配与其计算能力对应的工作负载,以使得各计算设备执行当前多融合层块内连续卷积层的计算时间与平均计算时间的最大差值小于预定同步阈值;各个计算设备每执行完毕一个多融合层块内多个连续卷积层的任务后进行计算设备间数据交换;分支选择步骤,在各个计算设备执行主分支中多融合层块的计算而到子分支时,保存当前主分支的计算结果,基于当前主分支的计算结果由各个计算设备执行当前位置的子分支的卷积层,由计算能力最强的计算设备执行全连接层,并依据全连接层的执行结果获得输入样本的熵值,依据获得的熵值与预设的置信度阈值的比较结果确定继续执行主分支还是退出计算。2.根据权利要求1所述的方法,其特征在于,所述多融合层块生成步骤包括:初始多融合层块设置步骤:针对所述多层卷积神经网络设置包括至少一个卷积层的多融合层块;多融合层块扩展步骤:基于获取的各计算设备的计算能力预估所述多融合层块的冗余数据计算开销,基于边缘集群所处的网络的带宽计算通信节省开销,基于计算的冗余数据计算开销和通信节省开销扩展所述多融合层块,以在冗余数据计算开销大于通信节省开销且结束卷积层后方相邻的卷积层不是退出点或多层卷积神经网络的最后一层时,将所述结束卷积层后方相邻的卷积层加入多融合层块并作为结束卷积层;任务分配步骤:根据获取的各计算设备的计算能力向参与计算的各个计算设备分配与其计算能力对应的工作负载,以使得各计算设备执行当前多融合层块内连续卷积层的计算时间与平均计算时间的最大差值小于预定同步阈值;重复所述任务分配步骤和所述多融合层块扩展步骤,直至冗余数据计算开销大于或等于通信节省开销、扩展到达退出点或扩展到达多层卷积神经网络的最后一层。3.根据权利要求2所述的方法,其特征在于,所述任务分配步骤包括:计算设备分得的工作负载的计算量为该计算设备的计算能力与参与计算的所有计算设备的计算能力之和的比值与总工作负载的计算量的乘积;计算设备分得的工作负载为当前融合层块的结束层的工作负载,当前融合层块除结束层以外的其他卷积层的工作负载由结束层的工作负载向当前融合层块起始层的方向逐层扩展后得到当前融合层块的所有卷积层的工作负载,每层卷积层的工作负载的扩展方式为向结束层方向相邻的卷积层的工作负载边界向外扩展卷积核大小的一半。4.根据权利要求2所述的方法,其特征在于,所述任务分配步骤还包括:各计算设备执行当前多融合层块内连续卷积层的计算时间与平均计算时间的最大差值大于预定同步阈值时,则减小...

【专利技术属性】
技术研发人员:高志鹏芮兰兰孙山张黎明莫梓嘉
申请(专利权)人:北京邮电大学
类型:发明
国别省市:

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

1