当前位置: 首页 > 专利查询>之江实验室专利>正文

面向异构双核MCU的算子内并行加速方法技术

技术编号:39318879 阅读:10 留言:0更新日期:2023-11-12 16:00
本发明专利技术公开一种面向异构双核MCU的算子内并行加速方法,其包括:通过深度学习模型的计算图构建有向无环图G;统计所述有向无环图G中的算子信息;基于得到的算子信息,为每类算子构建相应的算子时延模型,以此预测算子在不同工作负载下的推理时间;基于步骤三得到的算子时延模型,为深度学习模型的每个算子选择一种最优的划分策略,即划分维度和划分比例;基于步骤四得到的算子划分策略,在编译器编译深度学习模型生成相应代码的过程中嵌入步骤四得到的划分策略,以此加速神经网络模型的推理。本发明专利技术通过充分利用硬件资源和优化计算任务分配,提高推理性能、降低能源消耗和延迟,并满足实时性和隐私性等要求。足实时性和隐私性等要求。足实时性和隐私性等要求。

【技术实现步骤摘要】
面向异构双核MCU的算子内并行加速方法


[0001]本专利技术涉及神经网络应用领域,尤其涉及一种面向异构双核MCU的算子内并行加速方法。

技术介绍

[0002]AIoT(人工智能物联网)的快速发展使得深度学习成为其关键技术之一。深度学习通过神经网络模型的训练和推理,能够处理和分析大量的传感器数据,从而实现智能化的决策和应用。在AIoT领域,典型的应用包括机械振动监测以预测故障、视觉任务的检测与识别、自动驾驶系统、智能家居和工业自动化等。
[0003]过去,这些AIoT应用通常依赖于丰富的云端或雾端计算资源来满足实时响应的需求。数据从边缘设备上传到云端进行处理和分析,然后再将结果返回给设备。然而,云端或雾端推理引入的延迟、能源和通信访问开销使得这种方式变得不切实际。特别是随着AIoT应用的迅速增长,这种方式的成本越来越高并且无法满足实时性的要求。因此,将深度学习推理引入到边缘设备成为一种趋势,这可以通过在嵌入式设备上进行模型推理来实现。
[0004]异构双核MCU的出现为在MCU设备上进行深度学习模型推理提供了可能。异构双核MCU结合了高性能和低功耗的特点,具备了在资源有限的边缘设备上进行深度学习推理的能力。利用低成本、低功耗和高性能的异构双核MCU,可以实现在边缘设备上进行深度学习推理,从而满足实时性和隐私性等要求。
[0005]然而,现有的深度学习推理框架(如TF

Lite Micro、μTensor和CMSIS

NN)在模型推理方面采用了核友好的优化技术(如剪枝、量化、循环优化等),以及数据并行方法来减少推理时延。虽然这些优化方法在提高推理性能方面取得了显著的改进,但它们并没有充分利用异构双核MCU的硬件资源来加速深度学习模型的推理。特别是对于大多数数据量小且对实时性要求高的AIoT应用而言,现有的优化方法在性能上受限于单核处理能力。因此,如何充分利用异构双核MCU的硬件资源来加速深度学习模型中的单个算子推理,以满足AIoT应用对实时性能的需求,成为一个重要的问题。

技术实现思路

[0006]针对现有技术的不足,本专利技术提出一种面向异构双核MCU的算子内并行加速方法。该方法通过算子延迟预测器寻找出每个算子最佳的划分维度和划分比例,进而均衡分配每个算子的计算任务给异构双核MCU的两个核心进行并行计算,以此充分利用硬件资源来提高推理性能。通过将计算任务均衡地分配到两个核心上,减少推理时间和延迟,从而提高整体的推理效率,以此满足现有稀疏数据的AIoT应用的实时性需求。
[0007]本专利技术的目的是通过以下技术方案来实现:
[0008]一种面向异构双核MCU的算子内并行加速方法,包括以下步骤:
[0009]步骤一:通过深度学习模型的计算图构建有向无环图G;
[0010]步骤二:统计所述有向无环图G中的算子信息,包括算子类型、算子的输入输出信
息和算子的超参数信息;
[0011]步骤三:基于步骤二得到的算子信息,为每类算子构建相应的算子时延模型,以此预测算子在不同工作负载下的推理时间;
[0012]步骤四:基于步骤三得到的算子时延模型,为深度学习模型的每个算子选择一种最优的划分策略,即划分维度和划分比例;
[0013]步骤五:基于步骤四得到的算子划分策略,在编译器编译深度学习模型生成相应代码的过程中嵌入步骤四得到的划分策略,以此加速神经网络模型的推理。
[0014]进一步地,所述步骤二包括如下子步骤:
[0015]统计深度学习模型内算子的输入输出信息和超参数;所述输入输出信息包括输入的高IH、输入的宽IW、输入通道数IC、输出的高OH、输出的宽OW、输出的通道数OC;所述超参数包括卷积算子的卷积核大小(KH
SC
,KW
SC
)、卷积步长(SH
SC
,SW
SC
)、卷积填充(PH
SC
,PW
SC
)、卷积膨胀率和池化层的窗口大小(KH
POOL
,KW
POOL
)、池化层步长(SH
POOL
,SW
POOL
)、池化层填充(PH
POOL
,PW
POOL
)。
[0016]进一步地,所述步骤三中,首先为每个算子构建单核时延模型,然后基于每个算子的单核时延模型构建异构双核算子时延模型;
[0017]所述异构双核算子时延模型和单核时延模型的关系为:
[0018][0019]其中,T
mult
表示异构双核的时延,T
i
表示在给定划分维度和划分比例下单个算子划分后的负载在对应核上推理时延。
[0020]进一步地,所述单核时延模型包括标准卷积算子的单核时延模型、全连接算子的单核时延模型、深度卷积算子的单核时延模型、最大池化算子的单核时延模型、平均池化算子的单核时延模型、算数加算子的单核时延模型、布局转换算子的单核时延模型。
[0021]进一步地,所述标准卷积算子的单核时延模型为:
[0022][0023]M=OH
×
OW
[0024]K=KH
×
KW
×
IC
[0025]N=OC
[0026]MK=M
×
K
[0027]KN=K
×
N
[0028]MN=M
×
N
[0029]MKN=M
×
K
×
N
[0030]其中,SC表示标准卷积算子;T
SC
表示标准卷积算子的推理时延;表示标准卷积算子的相关系数,这些相关系数通过数据集线性拟合所得。
[0031]进一步地,所述全连接算子的单核时延模型为:
[0032][0033]其中,FC表示全连接算子;T
FC
表示全连接算子的推理时延;为全连
接算子的相关系数,这些相关系数通过数据集线性拟合所得。
[0034]进一步地,所述深度卷积算子、最大池化算子和平均池化算子的单核时延模型的计算公式相同,各自代入对应的相关系数即可;
[0035]T= T
BEU
×
FLOPs/Size
BEU
[0036][0037]FLOPs=2
×
OH
×
OW
×
OC
×
KH
×
KW
[0038]其中,T表示算子的推理时间,T
BEU
表示一个基本执行单元的运行时间,FLOPs/Size
BEU
表示算子中基本执行单元的运算次数,Size
BEU
表示基本执行单元的浮点运算次数,FLOPs表示算子的浮点运算次数;为基本执行单元的相关系数。
[0039本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向异构双核MCU的算子内并行加速方法,其特征在于,包括以下步骤:步骤一:通过深度学习模型的计算图构建有向无环图G;步骤二:统计所述有向无环图G中的算子信息,包括算子类型、算子的输入输出信息和算子的超参数信息;步骤三:基于步骤二得到的算子信息,为每类算子构建相应的算子时延模型,以此预测算子在不同工作负载下的推理时间;步骤四:基于步骤三得到的算子时延模型,为深度学习模型的每个算子选择一种最优的划分策略,即划分维度和划分比例;步骤五:基于步骤四得到的算子划分策略,在编译器编译深度学习模型生成相应代码的过程中嵌入步骤四得到的划分策略,以此加速神经网络模型的推理。2.根据权利要求1所述的面向异构双核MCU的算子内并行加速方法,其特征在于,所述步骤二包括如下子步骤:统计深度学习模型内算子的输入输出信息和超参数;所述输入输出信息包括输入的高IH、输入的宽IW、输入通道数IC、输出的高OH、输出的宽OW、输出的通道数OC;所述超参数包括卷积算子的卷积核大小(KH
SC
,KW
SC
)、卷积步长(SH
SC
,SW
SC
)、卷积填充(PH
SC
,PW
SC
)、卷积膨胀率和池化层的窗口大小(KH
POOL
,KW
POOL
)、池化层步长(SH
POOL
,SW
POOL
)、池化层填充(PH
POOL
,PW
POOL
)。3.根据权利要求1所述的面向异构双核MCU的算子内并行加速方法,其特征在于,所述步骤三中,首先为每个算子构建单核时延模型,然后基于每个算子的单核时延模型构建异构双核算子时延模型;所述异构双核算子时延模型和单核时延模型的关系为:;其中,T
mult
表示异构双核的时延,T
i
表示在给定划分维度和划分比例下单个算子划分后的负载在对应核上推理时延。4.根据权利要求3所述的面向异构双核MCU的算子内并行加速方法,其特征在于,所述单核时延模型包括标准卷积算子的单核时延模型、全连接算子的单核时延模型、深度卷积算子的单核时延模型、最大池化算子的单核时延模型、平均池化算子的单核时延模型、算数加算子的单核时延模型、布局转换算子的单核时延模型。5.根据权利要求4所述的面向异构双核MCU的算子内并行加速方法,其特征在于,所述标准卷积算子的单核时延模型为:;M=OH
×
OWK=KH
×
KW
×
ICN=OCMK=M
×
KKN=K
×
NMN=M
×
N
MKN=M
×
K
×
N其中,SC表示标准卷积算子;T
SC
表示标准卷积算子的推理时延;表示标准卷积算子的相关系数,这些相关系数通过数据集线性拟合所得。6.根据权利要求4所述的面向异构双核MCU的算子内并行加速方法,其特征在于,所述全连接算子的单...

【专利技术属性】
技术研发人员:李超
申请(专利权)人:之江实验室
类型:发明
国别省市:

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

1