本发明涉及基于特定计算模型的计算机系统领域,尤其涉及一种卷积计算方法和装置。
背景技术:
1、深度学习计算中,权重(weight)和输入特征(feature)之间的卷积运算需到进行大量乘累加(mac)运算,传统计算方法中,计算流程未经过优化时,会有如下问题:1、输入特征数据、权重数据以及输出数据会反复读写,导致存储空间、带宽浪费,以及数据搬移带来的大量能耗浪费;2、计算并行度低,导致计算速度满,算力低;3、数据之间存在竞争,导致计算阻塞,降低算力。
2、现有对于卷积计算的优化算法通常只针对stride=1的情况,并没有针对stride≥2进行优化,对于stride≥2的卷积时,通常使用传统计算方法计算,或继续使用针对stride=1的优化算法计算。
3、使用传统计算方法会导致输入特征数据、权重数据以及输出数据会反复读写,导致存储空间、带宽浪费已经数据搬移带来的大量能耗浪费;计算并行度低,导致计算速度慢,算力低;而继续使用针对stride=1的优化算法会导致大量的冗余计算,导致计算速度慢,产生大量不必要的功耗。
4、此外,当输入权重数据和特征数据均为稀疏时,数值中存在大量的0值数据,卷积运算中0值数据的mac运算结果对最终输出结果没有影响,但实际运算时0值也会进行读写,并进行mac计算,导致存储空间、带宽、算力和功耗的浪费。
技术实现思路
1、本发明提供一种卷积计算方法和装置,用于解决在深度学习的计算流程中,stride≥2的情况下存在的计算速度慢、功耗大的问题,本方法也同时兼容stride=1的场景。
2、本发明提供一种卷积计算方法,包括以下步骤:
3、s1,压缩权重数据,所述图像权重数据是图像经神经网络模型训练完成后得到的;
4、s2,调整权重数据进入计算单元的顺序;
5、s3,将权重数据和图像特征数据输入乘法计算单元进行计算,得到第一计算结果;
6、s4,将所述第一计算结果与存储器内特定位置数据进行加法计算,得到第二计算结果,并将所述第二计算结果存入所述存储器内特定位置,得到加权求和后的特征图像;
7、其中:当至少两个所述第一计算结果存在竞争时,将所述至少两个第一计算结果中的一个暂存,待竞争消失后再进行计算。
8、优选的,根据计算结果的相干度,在具有相同列坐标的权重数据中,调整所述权重数据进入计算单元的顺序。
9、优选的,所述特征数据输入乘法计算单元前和/或输入乘法计算单元后,需要重复计算的特征数据通过脉动复用进行计算。
10、优选的,所述存储器内特定位置根据所述权重数据和特征数据的坐标消息唯一确定。
11、优选的,所述压缩权重数据包括:
12、将权重数据展开为行向量,重新组成权重数据矩阵;
13、采用压缩算法对权重数据进行压缩。
14、优选的,所述计算结果的相干度通过预先试验得到。
15、优选的,其特征在于,所述预先试验具体为:
16、选取部分或全部权重数据;
17、穷举所述权重数据的排列顺序,分别进行预计算,得到所述计算结果的相干度;
18、优选的,所述权重数据是语音、文字经神经网络模型训练完成后得到的,步骤s3中为语音特征数据、文字特征数据,步骤s4中相应为加权后的特征语音、特征文字。
19、本发明还提供一种卷积计算装置,包括:
20、存储模块,包括外部存储器、内部存储器和输出存储器;
21、计算模块,包括乘法器单元和加法器单元;
22、控制模块,包括选择器单元,用于控制存储器中数据的存储位置;
23、所述外部存储器用于存储特征数据和压缩后的权重数据;
24、所述特征数据和权重数据通过所述内部存储器传入计算模块,所述权重数据在内部存储器中调整进入计算模块的顺序;
25、所述乘法器单元用于计算特征数据与权重数据的乘积;
26、所述选择器单元用于确定计算结果的存入位置。
27、本发明存在以下有益效果:
28、1、优化计算流程,降低计算单元同一时间的输出结果相干概率,减少数据竞争,并添加额外硬件处理潜在的竞争数据。
29、2、复用权重数据和脉动复用输入特征数据,降低带宽需求和数据搬移功耗;
30、3、支持多个计算单元并行计算;
31、4、支持权重数据压缩,降低带宽需求和数据搬移功耗,且跳过0值计算,权重数据稀疏时可以显著提高算力,降低功耗;
32、5、对于stride≥2的输入数据,无需额外的计算或者带宽与数据搬移,提升算力并且降低功耗;
33、6、所述计算方法兼容stride=1时的卷积计算。
1.一种卷积计算方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的卷积计算方法,其特征在于,根据计算结果的相干度,在具有相同列坐标的权重数据中,调整所述权重数据进入计算单元的顺序。
3.根据权利要求1所述的卷积计算方法,其特征在于,所述特征数据输入乘法计算单元前和/或输入乘法计算单元后,需要重复计算的特征数据通过脉动复用进行计算。
4.根据权利要求1所述的卷积计算方法,其特征在于,所述存储器内特定位置根据所述权重数据和特征数据的坐标消息唯一确定。
5.根据权利要求1所述的卷积计算方法,其特征在于,所述压缩权重数据包括:
6.根据权利要求2所述的卷积计算方法,其特征在于,所述计算结果的相干度通过预先试验得到。
7.根据权利要求6所述的卷积计算方法,其特征在于,所述预先试验具体为:
8.根据权利要求1所述的卷积计算方法,所述权重数据是语音、文字经神经网络模型训练完成后得到的,步骤s3中为语音特征数据、文字特征数据,步骤s4中相应得到加权后的特征语音、特征文字。
9.一种使用如权利要求1-8所述方法的卷积计算装置,包括: