神经网络模型的量化方法、装置和系统、电子设备和存储介质制造方法及图纸

技术编号:31797331 阅读:27 留言:0更新日期:2022-01-08 10:57
本公开实施例公开了一种神经网络模型的量化方法、装置和系统、电子设备和介质,其中,方法包括:分别针对待量化神经网络模型中的任一待量化网络层,获取所述任一待量化网络层的权重矩阵;对所述任一待量化网络层的权重矩阵进行矩阵变换,得到所述任一待量化网络层的待量化权重矩阵;对所述任一待量化网络层的待量化权重矩阵进行量化,得到所述任一待量化网络层的量化后权重矩阵;基于所述待量化神经网络模型中的任一待量化网络层的量化后权重矩阵,得到量化后神经网络模型。本公开实施例可以降低权重矩阵中各通道的权重数据的分布差异,能够减少量化误差,有助于提升量化后神经网络的精度。精度。精度。

【技术实现步骤摘要】
神经网络模型的量化方法、装置和系统、电子设备和存储介质


[0001]本公开涉及人工智能技术,尤其是一种神经网络模型的量化方法、装置和系统、电子设备和存储介质。

技术介绍

[0002]随着人工智能的快速发展,人工神经网络的应用越来越广泛。在人工神经网络中主要操作为矩阵向量乘法操作,如卷积层和全连接层等都是矩阵向量乘法操作。存算一体神经网络加速器将计算单元整合到存储单元中,可以高效运行矩阵向量乘法,从而在很大程度上减少了计算单元与存储单元之间频繁的数据交互,同时也可以大幅减少中间数据与片外主存的数据交互。因此使用存算一体技术是未来神经网络加速器很有潜力的发展方向。
[0003]存算一体结构使用的存算单元阵列(crossbar)有固定大小。例如128
×
128的大小的存算单元阵列可以支持最多128个输入与一个128
×
128的矩阵的乘法。一个比存算单元阵列的大小更大的矩阵需要映射到多个存算单元阵列上,由每个存算单元阵列执行矩阵向量乘法运算的一部分运算。由于几乎所有神经网络加速器都采用低比特的权重和激活值进行本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种神经网络模型的量化方法,其特征在于,包括:分别针对待量化神经网络模型中的任一待量化网络层,获取所述任一待量化网络层的权重矩阵;对所述任一待量化网络层的权重矩阵进行矩阵变换,得到所述任一待量化网络层的待量化权重矩阵;对所述任一待量化网络层的待量化权重矩阵进行量化,得到所述任一待量化网络层的量化后权重矩阵;基于所述待量化神经网络模型中的任一待量化网络层的量化后权重矩阵,得到量化后神经网络模型。2.根据权利要求1所述的方法,其特征在于,所述对所述任一待量化网络层的待量化权重矩阵进行量化,得到所述任一待量化网络层的量化后权重矩阵,包括:根据存算一体加速器中的存算单元阵列的大小,将所述任一待量化网络层的待量化权重矩阵进行划分,得到多个待量化子权重矩阵;分别对所述多个待量化子权重矩阵中的任一待量化子权重矩阵进行量化,得到多个量化后的子权重矩阵;将所述多个量化后的子权重矩阵分别映射到所述存算一体加速器中的多个存算单元阵列,由所述多个存算单元阵列存储所述多个量化后的子权重矩阵。3.根据权利要求1或2所述的方法,其特征在于,所述基于所述待量化神经网络模型中的任一待量化网络层的量化后权重矩阵,得到量化后神经网络模型之后,还包括:从校准样本集合中获取多个校准样本,将所述多个校准样本分别作为输入提供给所述量化后神经网络模型,经由所述量化后神经网络模型对输入的多个校准样本进行处理,得到所述量化后神经网络模型的输出;根据所述量化后神经网络模型的输出与所述待量化神经网络模型的输出之间的余弦距离,调整所述任一待量化网络层的待量化权重矩阵;其中所述待量化神经网络模型的输出为将所述多个校准样本分别作为输入,提供给所述待量化神经网络模型,经由所述待量化神经网络模型对输入的多个校准样本进行处理得到的输出。4.根据权利要求1

3任一所述的方法,其特征在于,所述对所述任一待量化网络层的权重矩阵进行矩阵变换,得到所述任一待量化网络层的待量化权重矩阵之后,还包括:将矩阵变换次数初始化为预设值;随机选取所述任一待量化网络层的待量化权重矩阵中的任意两行或两列进行交换,得到所述任一待量化网络层的新的待量化权重矩阵;对所述任一待量化网络层的新的待量化权重矩阵进行量化,得到所述任一待量化网络层的新的量化后权重矩阵,并基于所述任一待量化网络层的新的量化后权重矩阵,得到新的量化后神经网络模型;确定所述新的量化后神经网络模型的输出与所述待量化神经网络模型的输出之间的余弦距离,并确定所述余弦距离是否小于预设余弦距离,以及确定所述矩阵变换次数是否小于预设阈值;若所述余弦距离小于所述预设余弦距离且所述矩阵变换次数小于所述预设阈值,基于所述余弦距离和所述预设余弦距离确定目标概率,并确定所述目标概率是否大于预设概率;
若所述目标概率大于所述预设概率,将所述余弦距离作为预设余弦距离,所述矩阵变换次数加1,并执行所述随机选取所述任一待量化网络层的待量化权重矩阵中的任意两行或两列进行交换的操作;若所述目标概率不大于所述预设概率将所述任一待量化网络层的新的待量化权重矩阵作为所述任一待量化网络层的待量化权重矩阵。5.根据权利要求4所述的方法,其特征在于,还包括:若所述余弦距离小于所述预设余弦距离且所述矩阵变换次数不小于所述预设阈值,将所述任一待量化网络层的新的待量化权重矩阵作为所述任一待量化网络层的待量化权重矩阵;若所述余弦距离不小于所述预设余弦距离且所述矩阵变换次数小于所述预设阈值,将所述余弦距离作为预设余弦距离,所述矩阵交换次数加1,并执行所述随机选取所述任一待量化网络层的待量化权重矩阵中的任意两行或两列进行交换的操作。6.根据权利要求4或5所述的方法,其特征在于,所述对所述任一待量化网络层的权重矩阵进行矩阵变换,得到所述任一待量化网络层的待量化权重矩阵,包括:确定所述任一待量化网络层的联合网络层,所述联合网络层为所述待量化神经网络模型中的除所述任一待量化网络层以外的其它任一待量化网络层,所述联合网络层以所述任一待量化网络层的输出作为输入;确定所述任一待量化网络层的权重矩阵的第一变换矩阵,并利用所述第一变换矩阵对所述任一待量化网络层的权重矩阵进行矩阵变换得到所述任一待量化网络层的待量化权重矩阵;将所述第一变换矩阵的转置矩阵作为所述联合网络层的权重矩阵的第二变换矩阵,并利用所述第二变换矩阵对所述联合网络层的权重矩阵进行矩阵变换得到所述联合网络层的待量化权重矩阵。7.根据权利要求6所述的方法,其特征在于,所述确定所述任一待量化网络层的权重矩阵的第一变换矩阵,包括:基于所述联合网络层的输入通道与所述任一待量化网络层的输出通道之间的对应关系,确定所述任一待量化网络层的权重矩阵中各输出通道的权重数据与所述联合网络层的权重矩阵中各输入通道的权重数据的对应关系;确定所述各输出通道的权重数据的分布特征值,以及所述各输入通道的权重数据的分布特征值,并将所述各输出通道的权重数据的分布特征值与对应的各输入通道的权重数据的分布特征值分别相乘,得到所述各输出通道的权重数据的目标特征值;按照所述各输出通道的权重数据的目标特征值由小到大的顺序,对所述任一待量化网络层的权重矩阵中各输出通道的权重数据进行位置变换,得到所述任一待量化网络层的待量化权重矩阵,并将所述任一待量化网络层的待量化权重矩阵相对于所述任一待量化网络层的权重矩阵的变换矩阵作为所述第一变换矩阵。8.一种神经网络模型的量化装置,其特征在于,包括:获取模块,用于分别针对待量化神经网络模型中的任一待量化网络层,获取所述任一待量化网络层的权重矩阵;矩阵变换模块,用于对所述任一待量化网络层的权重矩阵进行矩阵变换,得到...

【专利技术属性】
技术研发人员:袁之航陈亮赵亦彤王辉吴强
申请(专利权)人:南京后摩智能科技有限公司
类型:发明
国别省市:

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

1