基于权重预编码的稀疏卷积神经网络加速器和计算设备制造技术

技术编号:35900663 阅读:16 留言:0更新日期:2022-12-10 10:36
本发明专利技术公开了基于权重预编码的稀疏卷积神经网络加速器和计算设备,稀疏卷积神经网络加速器包括若干引擎和预编码模块,每一引擎包括若干块;预编码模块用于对每一引擎的权重数据进行编码,得到该引擎中各块的编码权重数据;每一块包括:激活选择器用于获取掩码数据和若干激活数据,根据掩码数据从各激活数据中确定若干目标激活数据;乘法模块用于根据编码权重数据和各目标激活数据,确定部分积数据;加法树用于对各部分积数据进行累加,得到乘加运算数据。本发明专利技术通过掩码数据对激活数据进行筛选,实现了各种稀疏度场景下的卷积神经网络加速。解决了可变稀疏密度约束块受权重稀疏度限制,导致低权重稀疏度场景下难以实现卷积神经网络加速的问题。经网络加速的问题。经网络加速的问题。

【技术实现步骤摘要】
基于权重预编码的稀疏卷积神经网络加速器和计算设备


[0001]本专利技术涉及数字电路领域,尤其涉及的是基于权重预编码的稀疏卷积神经网络加速器和计算设备。

技术介绍

[0002]卷积神经网络(CNN)在边缘设备上的推理应用要求低功耗和高性能计算,因此开发高效节能的乘加单元和高通量稀疏CNN加速器具有重要意义。由于数据中的零可以显著降低计算和存储成本,因此数据稀疏性引起了人们的极大关注。常规的稀疏卷积神经网络加速器利用接受压缩稀疏列(CSC)格式的PE跳过0,但是常规的稀疏卷积神经网络加速器存在必要的存储和控制逻辑,难以满足低功耗设计的要求。因此可变稀疏密度CNN加速器更符合低功耗需求,然而可变稀疏密度CNN加速器是通过支持可变稀疏密度约束块(VDBB)的空间展开结构来实现稀疏机制的,因此不支持权重稀疏度低于50%的情况,难以满足各种稀疏度场景下的卷积神经网络加速需求。
[0003]因此,现有技术还有待改进和发展。

技术实现思路

[0004]本专利技术要解决的技术问题在于,针对现有技术的上述缺陷,提供基于权重预编码的稀疏卷积神经网络加速器和计算设备,旨在解决现有技术中通过可变稀疏密度约束块的空间展开结构来实现卷积神经网络加速,无法应用于权重稀疏度低于50%的场景的问题。
[0005]本专利技术解决问题所采用的技术方案如下:
[0006]第一方面,本专利技术实施例提供一种基于权重预编码的稀疏卷积神经网络加速器,其中,所述稀疏卷积神经网络加速器包括若干引擎和预编码模块,每一所述引擎包括若干块;
[0007]所述预编码模块,用于获取每一所述引擎对应的权重数据,对该引擎对应的所述权重数据进行编码,得到该引擎中各所述块分别对应的编码权重数据;
[0008]每一所述块包括:
[0009]激活选择器,用于获取掩码数据和若干激活数据,根据所述掩码数据从各所述激活数据中确定若干目标激活数据,其中,每一所述块对应的所述掩码数据基于该块对应的所述权重数据确定;
[0010]乘法模块,用于根据所述编码权重数据和各所述目标激活数据,确定各所述目标激活数据分别对应的部分积数据;
[0011]加法树,用于对各所述部分积数据进行累加,得到该块对应的乘加运算数据。
[0012]在一种实施方式中,所述预编码模块基于基4booth乘法器对应的编码器构成。
[0013]在一种实施方式中,所述根据所述掩码数据从各所述激活数据中确定若干目标激活数据,包括:
[0014]获取所述掩码数据对应的稀疏度,其中,所述稀疏度基于所述掩码数据对应的零
位个数与比特位数的比值确定;
[0015]当所述稀疏度大于或者等于稀疏阈值时,根据所述掩码数据中各非零位分别对应的标准值确定所述掩码数据对应的选择数据,其中,所述选择数据包括预设个数的若干选择值;
[0016]根据所述选择数据从各激活数据中确定若干所述目标激活数据,其中,各所述选择值与各所述目标激活数据一一对应。
[0017]在一种实施方式中,所述根据所述掩码数据从各所述激活数据中确定若干目标激活数据,包括:
[0018]获取所述掩码数据对应的稀疏度,其中,所述稀疏度基于所述掩码数据对应的零位个数与比特位数的比值确定;
[0019]当所述稀疏度小于稀疏阈值时,将所述掩码数据分为若干段;
[0020]根据各所述段分别对应的各非零位的标准值,确定各所述段分别对应的选择数据,其中,每一所述段对应的所述选择数据包括预设个数的若干选择值;
[0021]根据各所述选择数据和各所述激活数据,确定各所述选择数据分别对应的若干所述目标激活数据,其中,每一所述选择数据中各所述选择值与该选择数据的各所述目标激活数据一一对应。
[0022]在一种实施方式中,所述激活选择器还包括若干多路复用器,每一所述选择数据对应的若干所述目标激活数据的确定方法包括:
[0023]根据该选择数据中的各所述选择值,确定各所述选择值分别对应的选择信号;
[0024]将各所述选择信号和各所述激活数据输入各所述多路复用器,其中,各所述选择信号与各所述多路复用器一一对应,每一所述多路复用器对应的输入数据为一个所述选择信号和各所述激活数据;
[0025]获取各所述多路复用器分别基于各自对应的所述输入数据生成的所述目标激活数据,得到该选择数据对应的若干所述目标激活数据。
[0026]在一种实施方式中,每一所述部分积数据包括若干不同级别的部分积,所述对各所述部分积数据进行累加,得到该块对应的乘加运算数据,包括:
[0027]根据每一所述选择数据对应的各所述部分积数据,确定若干进位输出数据,其中,若干所述进位输出数据分别对应不同所述级别,每一所述进位输出数据基于各所述部分积数据中相同所述级别的所述部分积的和确定;
[0028]根据若干所述进位输出数据,确定该选择数据对应的所述乘加运算数据。
[0029]在一种实施方式中,当所述选择数据的数量为若干个时,各所述选择数据分别对应不同的数据处理周期。
[0030]在一种实施方式中,位于同一所述引擎中的各所述块分别对应的所述编码权重数据相同。
[0031]在一种实施方式中,各所述引擎中位于同一顺序位的各所述块分别对应相同的若干所述激活数据。
[0032]第二方面,本专利技术实施例还提供一种计算设备,其中,所述计算设备包括上述任一所述的基于权重预编码的稀疏卷积神经网络加速器。
[0033]本专利技术的有益效果:本专利技术实施例中的基于权重预编码的稀疏卷积神经网络加速
器包括若干引擎和预编码模块,每一所述引擎包括若干块;所述预编码模块,用于获取每一所述引擎对应的权重数据,对该引擎对应的所述权重数据进行编码,得到该引擎中各所述块分别对应的编码权重数据;每一所述块包括:激活选择器,用于获取掩码数据和若干激活数据,根据所述掩码数据从各所述激活数据中确定若干目标激活数据,其中,每一所述块对应的所述掩码数据基于该块对应的所述权重数据确定;乘法模块,用于根据所述编码权重数据和各所述目标激活数据,确定各所述目标激活数据分别对应的部分积数据;加法树,用于对各所述部分积数据进行累加,得到该块对应的乘加运算数据。本专利技术通过掩码数据对激活数据进行筛选,以实现稀疏机制。可以满足各种稀疏度场景下的卷积神经网络加速需求。解决了现有技术中通过可变稀疏密度约束块的空间展开结构来实现卷积神经网络加速,无法应用于权重稀疏度低于50%的场景的问题。
附图说明
[0034]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0035]图1是本专利技术实施例提供的基于权重预编码的稀疏卷积神经网络加速器的体系结构示意图。
[0036]图2是本专利技术实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于权重预编码的稀疏卷积神经网络加速器,其特征在于,所述稀疏卷积神经网络加速器包括若干引擎和预编码模块,每一所述引擎包括若干块;所述预编码模块,用于获取每一所述引擎对应的权重数据,对该引擎对应的所述权重数据进行编码,得到该引擎中各所述块分别对应的编码权重数据;每一所述块包括:激活选择器,用于获取掩码数据和若干激活数据,根据所述掩码数据从各所述激活数据中确定若干目标激活数据,其中,每一所述块对应的所述掩码数据基于该块对应的所述权重数据确定;乘法模块,用于根据所述编码权重数据和各所述目标激活数据,确定各所述目标激活数据分别对应的部分积数据;加法树,用于对各所述部分积数据进行累加,得到该块对应的乘加运算数据。2.根据权利要求1所述的基于权重预编码的稀疏卷积神经网络加速器,其特征在于,所述预编码模块基于基4booth乘法器对应的编码器构成。3.根据权利要求1所述的基于权重预编码的稀疏卷积神经网络加速器,其特征在于,所述根据所述掩码数据从各所述激活数据中确定若干目标激活数据,包括:获取所述掩码数据对应的稀疏度,其中,所述稀疏度基于所述掩码数据对应的零位个数与比特位数的比值确定;当所述稀疏度大于或者等于稀疏阈值时,根据所述掩码数据中各非零位分别对应的标准值确定所述掩码数据对应的选择数据,其中,所述选择数据包括预设个数的若干选择值;根据所述选择数据从各激活数据中确定若干所述目标激活数据,其中,各所述选择值与各所述目标激活数据一一对应。4.根据权利要求1所述的基于权重预编码的稀疏卷积神经网络加速器,其特征在于,所述根据所述掩码数据从各所述激活数据中确定若干目标激活数据,包括:获取所述掩码数据对应的稀疏度,其中,所述稀疏度基于所述掩码数据对应的零位个数与比特位数的比值确定;当所述稀疏度小于稀疏阈值时,将所述掩码数据分为若干段;根据各所述段分别对应的各非零位的标准值,确定各所述段分别对应的选择数据,其中,每一所述段对应的所述选择数据包括预设个数的若干选择值;根据各所述选择数据和各所述激活...

【专利技术属性】
技术研发人员:余浩毛伟程全李博宇代柳瑶
申请(专利权)人:南方科技大学
类型:发明
国别省市:

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

1