用于深度学习模型推理硬件加速的模型转换方法和系统技术方案

技术编号:37135004 阅读:37 留言:0更新日期:2023-04-06 21:33
本发明专利技术提供一种用于深度学习模型推理硬件加速的模型转换方法、系统、存储介质和电子设备,涉及深度学习技术领域。本发明专利技术包括:对深度学习模型中无法直接部署于硬件的原始的大卷积核,采用多层小卷积核替换大卷积核;根据大卷积核、各层小卷积核的权重差异,采用遗传算法分别确定各层小卷积核的权重;将转换后的深度学习模型部署在硬件上,用于获取输入特征图的卷积结果,从而获取深度学习模型的最终推理结果。通过多个串行执行的小卷积核替换大卷积核,多个小卷积核的权重通过大卷积核的权重直接计算得到,尽可能减少替换过程对输出的影响,不需要重新训练网络模型,且计算量小,实现直接部署网络模型。直接部署网络模型。直接部署网络模型。

【技术实现步骤摘要】
用于深度学习模型推理硬件加速的模型转换方法和系统


[0001]本专利技术涉及深度学习
,具体涉及一种用于深度学习模型推理硬件加速的模型转换方法、系统、存储介质和电子设备。

技术介绍

[0002]为了更高效地完成深度学习模型的推理,专用于深度学习计算的人工智能芯片逐渐兴起。这种人工智能芯片包含专用于深度学习推理计算的加速核,用于高能效地执行深度学习模型推理。这些深度学习加速核一般利用很多计算器件并行执行计算,并且利用了数据的复用性,尽可能减少数据的移动。
[0003]卷积计算是深度学习模型中最常见的计算之一,据统计,卷积神经网络中,卷积计算所占的计算量在90%以上。受硬件实现的限制,任何一种深度学习硬件架构所同时支持的并行计算的数量都是有限的。例如,若硬件设计为高效支持3x3大小的卷积核的卷积运算,这种硬件架构一旦确定,就无法直接支持更大的(如5x5或7x7)卷积核的计算。若神经网络结构设计为包含更大的卷积核,如5x5大小的卷积核,则无法直接在这种硬件架构上部署。
[0004]目前,有两种方法可以解决上述问题:
[0005](1)一种方法是把5x5卷积核拆为4个3x3大小的卷积核,分别执行卷积计算,再把卷积结果加起来,得到最终的卷积计算结果。这种拆分方式下新的4个3x3卷积核的权重与原始5x5大小卷积核的权重的关系如图1所示。这种拆分方式下,新的小卷积核的权重可以直接从原始的大卷积核的权重获得,不需要重新训练网络。这种拆分方式下,可以认为把原来的5x5的卷积核拆为4个3x3的并行执行的卷积核,新的网络架构与原始网络架构的关系如图2所示。这种拆分方式下,应确保原卷积核所有权重都被拆分到小的适应硬件大小的卷积核。对于原卷积核拆分后不足小卷积核大小的部分,填充0。
[0006](2)另一种方法是把一层大卷积核的神经网络层拆分为多个串行执行的小卷积核层。应确保拆分为串行的卷积层后,下一层每个输出的感受野保持不变,这样才能避免替换过程导致信息丢失。例如,如图3所示,对于一个5x5的卷积核,其一个输出的感受野是5x5的窗口,则需要使用两层3x3的小卷积核层替换。再如,对于一个7x7的卷积核,每个输出的感受野是7x7的窗口,需要使用3层3x3的小卷积层来替换。这种方法执行卷积核替换后,原来的大卷积核的层不存在了,新加入若干层串行执行的小卷积核层,需要重新训练网络,获取替换后若干层小卷积层的权重。即这种方法需要重新设计网络结构,重新训练。而训练过程往往大量数据,且需要很长时间。这种方法无法达到快速部署的效果。
[0007]因此上述方法,或面临推理计算量大的问题,或面临需要重新训练,无法快速部署的问题。

技术实现思路

[0008](一)解决的技术问题
[0009]针对现有技术的不足,本专利技术提供了一种用于深度学习模型推理硬件加速的模型转换方法、系统、存储介质和电子设备,解决了面临数据计算量大,或需要重新训练无法快速部署的技术问题。
[0010](二)技术方案
[0011]为实现以上目的,本专利技术通过以下技术方案予以实现:
[0012]一种用于深度学习模型推理硬件加速的模型转换方法,包括:
[0013]S1、对深度学习模型中无法直接部署于硬件的原始的大卷积核,采用多层小卷积核替换大卷积核;
[0014]S2、根据大卷积核、各层小卷积核的权重差异,采用遗传算法分别确定各层小卷积核的权重;
[0015]S3、将转换后的深度学习模型部署在硬件上,用于获取输入特征图的卷积结果。
[0016]优选的,所述原始的大卷积核的行数和列数均为奇数时,所述S2具体包括:
[0017]S21、设定输入特征图在原始大卷积核的感受野中心位置的坐标为(0,0),则该感受野左上角位置的坐标右上角位置的坐标为左下角位置的坐标为右下角位置的坐标为其余位置的坐标依次类推;其中,r、c分别表示大卷积核的行数、列数,各坐标的左半部分表示行索引号、右半部分表示列索引号;且大卷积核中各权重的坐标按同样的方法约定;
[0018]在未使用多个小卷积核进行替换前,原始的卷积计算结果如下:
[0019][0020]其中,x
j,k
表示输入特征图在原始大卷积核的感受野中坐标(j,k)处的值;u
j,k
表示大卷积核中坐标(j,k)处的权重;
[0021]S22、设定使用n层小卷积核替换原始大卷积核,第i层小卷积核的中心位置坐标为(0,0),左上角位置的坐标右上角位置的坐标为左下角位置的坐标为右下角位置的坐标为其余位置的坐标依次类推;其中,r
i
、c
i
分别表示第i层小卷积核的行数、列数,均为奇数,且应满足:和
[0022]将上述计算过程层层代入卷积计算公式,直至替换至原始感受野中的特征图,并对所有原始感受野中的特征图参与计算的项执行合并同类项,分别提取特征图的值,获取最终计算结果表述方式如下:
[0023][0024]其中,u
i,s,t
表示第i层小卷积核内部坐标(s,t)处的权重;对于合并前x
j,k
参与计算的任意一项,s
i
为参与该项计算的第i层小卷积核权重的行索引号;t
i
为参与该项计算的第i层小卷积核权重的列索引号,应满足∑
i s
i
=j且∑
i t
i
=k,该项系数为合并同类项后,x
j,k
的系数为
[0025]S23、基于步骤S21和S22中的两个公式,以替换后的最终卷积结果与原始的卷积结果之间的误差最小化为目标,以输入特征图xj,k作为变量,则两式的系数之间的差异表示为:
[0026][0027]S24、设定S23公式中u
j,k
的值不变,以所有的u
i,s,t
作为待求解的变量,以使S23公式中的diff值最小为目标,采用遗传算法求解S23中的公式,分别获取各层小卷积核的权重u
i,s,t

[0028]优选的,所述原始的大卷积核的行数或列数任一项为偶数时,所述S2具体包括:
[0029](1)若行数r为偶数,且列数c为奇数
[0030]在替换后的多个小卷积核中首先使用一个高度为2、宽度为1的卷积核,使执行完此次卷积运算之后特征图的行数为r

1,成为奇数,再使用n层小卷积核,共n+1层小卷积核替换原始大卷积核,r
i
、c
i
分别表示后面n层小卷积核第i层小卷积核的行数、列数,均为奇数,且应满足:和之后,再按各层小卷积核与原始大卷积核的权重差异,通过遗传算法获取各层小卷积核的权重;
[0031](2)若列数c为偶数,且行数r为奇数
[0032]在替换后的多个小卷积核中首先使用一个宽度为2、高度为1的卷积核,使执行完此次卷积运算之后特征图的列数为c

1,成为本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于深度学习模型推理硬件加速的模型转换方法,其特征在于,包括:S1、对深度学习模型中无法直接部署于硬件的原始的大卷积核,采用多层小卷积核替换大卷积核;S2、根据大卷积核、各层小卷积核的权重差异,采用遗传算法分别确定各层小卷积核的权重;S3、将转换后的深度学习模型部署在硬件上,用于获取输入特征图的卷积结果。2.如权利要求1所述的用于深度学习模型推理硬件加速的模型转换方法,其特征在于,所述原始的大卷积核的行数和列数均为奇数时,所述S2具体包括:S21、设定输入特征图在原始大卷积核的感受野中心位置的坐标为(0,0),则该感受野左上角位置的坐标右上角位置的坐标为左下角位置的坐标为右下角位置的坐标为其余位置的坐标依次类推;其中,r、c分别表示大卷积核的行数、列数,各坐标的左半部分表示行索引号、右半部分表示列索引号;且大卷积核中各权重的坐标按同样的方法约定;在未使用多个小卷积核进行替换前,原始的卷积计算结果如下:其中,x
j,k
表示输入特征图在原始大卷积核的感受野中坐标(j,k)处的值;u
j,k
表示大卷积核中坐标(j,k)处的权重;S22、设定使用n层小卷积核替换原始大卷积核,第i层小卷积核的中心位置坐标为(0,0),左上角位置的坐标右上角位置的坐标为左下角位置的坐标为右下角位置的坐标为其余位置的坐标依次类推;其中,r
i
、c
i
分别表示第i层小卷积核的行数、列数,均为奇数,且应满足:和将上述计算过程层层代入卷积计算公式,直至替换至原始感受野中的特征图,并对所有原始感受野中的特征图参与计算的项执行合并同类项,分别提取特征图的值,获取最终计算结果表述方式如下:其中,u
i,s,t
表示第i层小卷积核内部坐标(s,t)处的权重;对于合并前x
j,k
参与计算的任意一项,s
i
为参与该项计算的第i层小卷积核权重的行索引号;t
i
为参与该项计算的第u层小
卷积核权重的列索引号,应满足∑
i
s
i
=j且∑
i
t
i
=k,该项系数为合并同类项后,x
j,k
的系数为S23、基于步骤S21和S22中的两个公式,以替换后的最终卷积结果与原始的卷积结果之间的误差最小化为目标,以输入特征图x
j,k
作为变量,则两式的系数之间的差异表示为:S24、设定S23公式中u
j,k
的值不变,以所有的u
i,s,t
作为待求解的变量,以使S23公式中的diff值最小为目标,采用遗传算法求解S23中的公式,分别获取各层小卷积核的权重u
i,s,t
。3.如权利要求1所述的用于深度学习模型推理硬件加速的模型转换方法,其特征在于,所述原始的大卷积核的行数或列数任一项为偶数时,所述S2具体包括:(1)若行数r为偶数,且列数c为奇数在替换后的多个小卷积核中首先使用一个高度为2、宽度为1的卷积核,使执行完此次卷积运算之后特征图的行数为r

1,成为奇数,再使用n层小卷积核,共n+1层小卷积核替换原始大卷积核,r
i
、c
i
分别表示后面n层小卷积核第i层小卷积核的行数、列数,均为奇数,且应满足:和之后,再按各层小卷积核与原始大卷积核的权重差异,通过遗传算法获取各层小卷积核的权重;(2)若列数c为偶数,且行数r为奇数在替换后的多个小卷积核中首先使用一个宽度为2、高度为1的卷积核,使执行完此次卷积运算之后特征图的列数为c

1,成为奇数,再使用n层小卷积核,共n+1层小卷积核替换原始大卷积核,r
i
、c
i
分别表示后面n层小卷积核第i层小卷积核的行数、列数,均为奇数,且应满足:和之后,再按各层小卷积核与原始大卷积核的权重差异,通过遗传算法获取各层小卷积核的权重;(3)若行数r为偶数,且列数c也为偶数在替换后的多个小卷积核中首先使用一个宽度为2、高度为2的卷积核,使执行完此次卷积运算之后特征图的行数为r

1,列数为c

1,均成为奇数,再使用n层小卷积核,共n+1层小卷积核替换原始大卷积核,r
i
、c
i
分别表示后面n层小卷积核第i层小卷积核的行数、列数,均为奇数,且应满足:和之后,再按各层小卷积核与原始大卷积核的权重差异,通过遗传算法获取各层小卷积核的权重。4.一种用于深度学习模型推理硬件加速的模型转换系统,其特征在于,包括:替换模块,用于对深度学习模型中无法直接部署于硬件的原始的大卷积核,采用多层小卷积核替换大卷积核;确定模块,根据大卷积核、各层小卷积核的权重差异,采用遗传算法分别确定各层小卷积核的权重;...

【专利技术属性】
技术研发人员:林广栋陆俊峰洪一
申请(专利权)人:中国电子科技集团公司第三十八研究所
类型:发明
国别省市:

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

1