一种基于神经网络的部分和量化处理方法及装置制造方法及图纸

技术编号:36455026 阅读:16 留言:0更新日期:2023-01-25 22:52
本发明专利技术提供一种基于神经网络的部分和量化处理方法及装置,所述方法包括:对每个卷积核的输入数据和权重分别进行分区处理,获得每个卷积核的各个分区数据;对每个卷积核的各个分区数据进行阵列量化,获得每个卷积核的各个分区量化数据;对每个卷积核的各个分区量化数据进行乘法累加运算,获得每个卷积核的各个分区的部分和;对每个卷积核的各个分区的部分和进行模数转换,获得每个卷积核的各个分区的整数输出数据;对每个卷积核的各个分区的整数输出数据进行反量化操作,获得每个卷积核的浮点输出数据。所述装置用于执行上述方法。本发明专利技术实施例提供的基于神经网络的部分和量化处理方法及装置,提高了计算效率。提高了计算效率。提高了计算效率。

【技术实现步骤摘要】
一种基于神经网络的部分和量化处理方法及装置


[0001]本专利技术涉及数据处理
,具体涉及一种基于神经网络的部分和量化处理方法及装置。

技术介绍

[0002]卷积神经网络通常需要大量的参数和复杂的计算来实现高性能,导致对内存带宽和硬件资源的需求不断增加。
[0003]目前,基于冯诺依曼架构的传统加速器存在内存墙的困扰,阻碍了能效的进一步提升。存算一体计算技术(Computing

In

Memory,简称CIM)通过将计算转移到内存中来解决这一问题,从而避免大量数据移动并降低功耗。量化可以有效将浮点数据转换为低比特数据,显著减少延迟和能耗,量化神经网络在基于CIM的加速器中被广泛采用。然而,CIM的存储器阵列通常容量有限,因此,单个卷积操作中的矩阵向量乘法(Matrix Vector Multiplication,简称MVM)需要拆分为多个小分区,其中涉及部分和。由于模数转换器(Analog

to

Digital Converter,简称ADC)的精度有限,需要对部分和进行额外的量化步骤,大多采用使用高精度ADC进行部分和,带来了额外的硬件开销。

技术实现思路

[0004]针对现有技术中的问题,本专利技术实施例提供一种基于神经网络的部分和量化处理方法及装置,能够至少部分地解决现有技术中存在的问题。
[0005]第一方面,本专利技术提出一种基于神经网络的部分和量化处理方法,包括:
[0006]对每个卷积核的输入数据和权重分别进行分区处理,获得每个卷积核的各个分区数据;
[0007]对每个卷积核的各个分区数据进行阵列量化,获得每个卷积核的各个分区量化数据;
[0008]对每个卷积核的各个分区量化数据进行乘法累加运算,获得每个卷积核的各个分区的部分和;
[0009]对每个卷积核的各个分区的部分和进行模数转换,获得每个卷积核的各个分区的整数输出数据;
[0010]对每个卷积核的各个分区的整数输出数据进行反量化操作,获得每个卷积核的浮点输出数据。
[0011]进一步地,所述对每个卷积核的各个分区数据进行阵列量化,获得每个卷积核的各个分区量化数据包括:
[0012]根据公式获得所述分区量化数据中的量化权重
[0013]根据公式获得所述分区量化数据中的量化输入数据
[0014]其中,W
f
表示卷积核的第f个分区量化数据中的权重,A
f
表示卷积核的第f个分区量化数据中的输入数据,表示第f个分区量化数据中权重的比例因子,表示第f个分区量化数据中输入数据的比例因子,b表示将数据量化到b比特,clip函数表示将目标数据截断到[Q
n
,Q
p
]范围内,表示四舍五入操作,对于无符号数,[Q
n
,Q
p
]=[0,2
b

1],对于有符号数,[Q
n
,Q
p
]=[
‑2b
‑1,2
b
‑1‑
1],f为正整数。
[0015]进一步地,在对每个卷积核的各个分区的部分和进行模数转换之前,还包括:
[0016]通过可学习比例因子对每个卷积核的各个分区的部分和进行量化。
[0017]进一步地,所述模数转换的精度低于预设精度。
[0018]第二方面,本专利技术提供一种基于神经网络的部分和量化处理装置,包括:
[0019]获得单元,用于对每个卷积核的输入数据和权重分别进行分区处理,获得每个卷积核的各个分区数据;
[0020]阵列量化单元,用于对每个卷积核的各个分区数据进行阵列量化,获得每个卷积核的各个分区量化数据;
[0021]乘法累加单元,用于对每个卷积核的各个分区量化数据进行乘法累加运算,获得每个卷积核的各个分区的部分和;
[0022]模数转换单元,用于对每个卷积核的各个分区的部分和进行模数转换,获得每个卷积核的各个分区的整数输出数据;
[0023]反量化单元,用于对每个卷积核的各个分区的整数输出数据进行反量化操作,获得每个卷积核的浮点输出数据。
[0024]进一步地,所述阵列量化单元具体用于:
[0025]根据公式获得所述分区量化数据中的量化权重
[0026]根据公式获得所述分区量化数据中的量化输入数据
[0027]其中,W
f
表示卷积核的第f个分区量化数据中的权重,A
f
表示卷积核的第f个分区量化数据中的输入数据,表示第f个分区量化数据中权重的比例因子,表示第f个分区量化数据中输入数据的比例因子,b表示将数据量化到b比特,clip函数表示将目标数据截断到[Q
n
,Q
p
]范围内,表示四舍五入操作,对于无符号数,[Q
n
,Q
p
]=[0,2
b

1],对于有符号数,[Q
n
,Q
p
]=[
‑2b
‑1,2
b
‑1‑
1],V表示添加在权重上的连续变量,f为正整数。
[0028]进一步地,本专利技术实施例提供的基于神经网络的部分和量化处理方法还包括:
[0029]部分和量化单元,用于通过可学习比例因子对每个卷积核的各个分区的部分和进
行量化。
[0030]进一步地,所述模数转换的精度低于预设精度。
[0031]第三方面,本专利技术提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述的基于神经网络的部分和量化处理方法。
[0032]第四方面,本专利技术提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一实施例所述的基于神经网络的部分和量化处理方法。
[0033]本专利技术实施例提供的基于神经网络的部分和量化处理方法及装置,对每个卷积核的输入数据和权重分别进行分区处理,获得每个卷积核的各个分区数据,对每个卷积核的各个分区数据进行阵列量化,获得每个卷积核的各个分区量化数据,对每个卷积核的各个分区量化数据进行乘法累加运算,获得每个卷积核的各个分区的部分和,对每个卷积核的各个分区的部分和进行模数转换,获得每个卷积核的各个分区的整数输出数据,对每个卷积核的各个分区的整数输出数据进行反量化操作,获得每个卷积核的浮点输出数据,通过对每个卷积核的输入数据和权重进行分区以及阵列量化,使分区量化数据更适配CIM架构,提高了计算效率。
附图说明
[0034]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于神经网络的部分和量化处理方法,其特征在于,包括:对每个卷积核的输入数据和权重分别进行分区处理,获得每个卷积核的各个分区数据;对每个卷积核的各个分区数据进行阵列量化,获得每个卷积核的各个分区量化数据;对每个卷积核的各个分区量化数据进行乘法累加运算,获得每个卷积核的各个分区的部分和;对每个卷积核的各个分区的部分和进行模数转换,获得每个卷积核的各个分区的整数输出数据;对每个卷积核的各个分区的整数输出数据进行反量化操作,获得每个卷积核的浮点输出数据。2.根据权利要求1所述的方法,其特征在于,所述对每个卷积核的各个分区数据进行阵列量化,获得每个卷积核的各个分区量化数据包括:根据公式获得所述分区量化数据中的量化权重根据公式获得所述分区量化数据中的量化输入数据其中,W
f
表示卷积核的第f个分区量化数据中的权重,A
f
表示卷积核的第f个分区量化数据中的输入数据,表示第f个分区量化数据中权重的比例因子,表示第f个分区量化数据中输入数据的比例因子,b表示将数据量化到b比特,clip函数表示将目标数据截断到[Q
n
,Q
p
]范围内,表示四舍五入操作,对于无符号数,[Q
n
,Q
p
]=[0,2
b

1],对于有符号数,[Q
n
,Q
p
]=[
‑2b
‑1,2
b
‑1‑
1],f为正整数。3.根据权利要求1所述的方法,其特征在于,在对每个卷积核的各个分区的部分和进行模数转换之前,还包括:通过可学习比例因子对每个卷积核的各个分区的部分和进行量化。4.根据权利要求1至3任一项所述的方法,其特征在于,所述模数转换的精度低于预设精度。5.一种基于神经网络的部分和量化处理装置,其特征在于,包括:获得单元,用于对每个卷积核的输入数据和权重分别进行分区处理,获得每个卷积核的各个分区数据;阵列量化单元,用于对每...

【专利技术属性】
技术研发人员:白金宇薛文路张和康旺
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

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

1