模型量化方法、方法、电子设备及存储介质技术

技术编号:37598646 阅读:11 留言:0更新日期:2023-05-18 11:47
本申请提供一种模型量化方法、装置、电子设备和计算机可读存储介质,所述方法包括:获取神经网络模型中各层的输出数据;针对所述神经网络模型中的每一层,从该层对应的输出数据中确定第一数据集合和第二数据集合;其中,所述第一数据集合为该层对应的输出数据中最大的第一预设数量个输出数据,所述第二数据集合为该层对应的输出数据中最小的第二预设数量个输出数据;基于所述第一数据集合的方差和所述第二数据集合的方差确定该层的量化规格值;基于该层的量化规格值对该层进行模型量化。该方法用以解决在进行模型量化时,减少因离群点干扰而导致量化精度降低的问题。干扰而导致量化精度降低的问题。干扰而导致量化精度降低的问题。

【技术实现步骤摘要】
模型量化方法、方法、电子设备及存储介质


[0001]本申请涉及计算机
,具体而言,涉及一种模型量化方法、装置、电子设备和计算机可读存储介质。

技术介绍

[0002]随着机器学习的快速发展,神经网络模型的尺寸和层数以及各类参数等数量不断增加,导致机器学习网络需要更大的空间需求,更低的推理效率。神经网络模型参数一般为浮点数,在存储时需要占用较大的存储空间且浮点数进行运算时,需要占用较多的内存资源。目前,通常采用模型量化的方式解决上述问题。模型量化指将深度神经网络中的浮点型参数转换为定点型(例如int8)参数,从而实现减少模型存储大小、减少模型内存消耗以及加快模型推理速度的目的。
[0003]在进行模型量化时,关键是根据模型各层的输出确定量化范围。目前,通常是根据模型各层的输出的最大值和最小值确定量化。然而,由于模型各层的输出存在离群点,通过上述方式确定的量化范围会包含较大的无效区间,从而导致量化精度较低。

技术实现思路

[0004]本申请实施例的目的在于提供一种模型量化方法、方法、电子设备和计算机可读存储介质,用以解决在进行模型量化时,减少因离群点干扰而导致量化精度降低的问题。
[0005]第一方面,本专利技术提供一种模型量化方法,包括:获取神经网络模型中各层的输出数据;针对所述神经网络模型中的每一层,从该层对应的输出数据中确定第一数据集合和第二数据集合;其中,所述第一数据集合为该层对应的输出数据中最大的第一预设数量个输出数据,所述第二数据集合为该层对应的输出数据中最小的第二预设数量个输出数据;基于所述第一数据集合的方差和所述第二数据集合的方差确定该层的量化规格值;基于该层的量化规格值对该层进行模型量化。
[0006]在上述实施方式中,选取神经网络模型中各层的输出数据中最大的第一预设数量个输出数据组成第一数据集合,选取神经网络模型中各层的输出数据中最小的第二预设数量个输出数据组成第二数据集合。由于第一数据集合的方差和第二数据集合的方差分别反映两个数据集合中输出数据的离散程度,进而根据第一数据集合的方差和第二数据集合的方差确定量化规格值,相较于直接根据神经网络模型中各层的输出数据中的最大值和最小值确定量化规格值而言,采用上述方式可以有效减少因离群点干扰而导致量化精度降低的问题。
[0007]在可选的实施方式中,所述基于所述第一数据集合的方差和所述第二数据集合的方差确定该层的量化规格值,包括:根据所述第一数据集合的方差确定第一离群趋势值,并根据所述第一离群趋势值和所述第一预设数量确定第一索引值;根据所述第二数据集合的方差确定第二离群趋势值,并根据所述第二离群趋势值和所述第二预设数量确定第二索引值;根据所述第一索引值从所述第一数据集合中确定量化上限值;根据所述第二索引值从
所述第二数据集合中确定量化下限值;根据所述量化上限值和所述量化下限值确定该层的量化规格值。
[0008]在可选的实施方式中,所述根据所述第一数据集合的方差确定第一离群趋势值,并根据所述第一离群趋势值和所述第一预设数量确定第一索引值,包括:基于公式:确定第一离群趋势值;其中,r
D
为所述第一离群趋势值,var(D)为所述第一数据集合的方差,α为第一控制参数;基于公式:I
D
=int(r
D
*k1)确定第一索引值;其中,I
D
为所述第一索引值,r
D
为所述第一离群趋势值,k1为所述第一预设数量。
[0009]在可选的实施方式中,所述根据所述第二数据集合的方差确定第二离群趋势值,并根据所述第二离群趋势值和所述第二预设数量确定第二索引值,包括:基于公式:确定第二离群趋势值;其中,r
Q
为所述第二离群趋势值,var(Q)为所述第二数据集合的方差,β为第二控制参数;基于公式:I
Q
=int(r
Q
*k2)确定第二索引值;其中,I
Q
为所述第二索引值,r
Q
为所述第二离群趋势值,k2为所述第二预设数量。
[0010]在可选的实施方式中,所述根据所述量化上限值和所述量化下限值确定该层的量化规格值,包括:基于公式:确定该层的量化规格值;其中,S为所述该层的量化规格值,d
D
为所述量化上限值,d
Q
为所述量化下限值,b为量化宽度;或基于公式:确定该层的量化规格值;其中,S为所述该层的量化规格值,d
D
为所述量化上限值,d
Q
为所述量化下限值,b为量化宽度。
[0011]在上述实施方式中,确定出的量化规格值可以用于对神经网络模型进行对称量化或非对称量化,从而实现减少模型存储大小、减少模型内存消耗以及加快模型推理速度的目的。
[0012]第二方面,本专利技术提供一种模型量化方法,包括:获取神经网络模型中各层对应的各个通道的输出数据;针对所述神经网络模型中每一层的每一个通道,从该通道对应的输出数据中确定第一数据集合和第二数据集合;其中,所述第一数据集合为该通道对应的输出数据中最大的第一预设数量个输出数据,所述第二数据集合为该通道对应的输出数据中最小的第二预设数量个输出数据;基于所述第一数据集合的方差和所述第二数据集合的方差确定该通道的量化规格值;基于该通道的量化规格值对该通道进行模型量化。
[0013]在可选的实施方式中,所述基于所述第一数据集合的方差和所述第二数据集合的方差确定该通道的量化规格值,包括:根据所述第一数据集合的方差确定第一离群趋势值,并根据所述第一离群趋势值和所述第一预设数量确定第一索引值;根据所述第二数据集合的方差确定第二离群趋势值,并根据所述第二离群趋势值和所述第二预设数量确定第二索引值;根据所述第一索引值从所述第一数据集合中确定量化上限值;根据所述第二索引值从所述第二数据集合中确定量化下限值;根据所述量化上限值和所述量化下限值确定该通道的量化规格值。
[0014]在可选的实施方式中,所述根据所述第一数据集合的方差确定第一离群趋势值,并根据所述第一离群趋势值和所述第一预设数量确定第一索引值,包括:基于公式:确定第一离群趋势值;其中,r
D
为所述第一离群趋势值,var(D)为所
述第一数据集合的方差,α为第一控制参数;基于公式:I
D
=int(r
D
*k1)确定第一索引值;其中,I
D
为所述第一索引值,r
D
为所述第一离群趋势值,k1为所述第一预设数量。
[0015]在可选的实施方式中,所述根据所述第二数据集合的方差确定第二离群趋势值,并根据所述第二离群趋势值和所述第二预设数量确定第二索引值,包括:基于公式:确定第二离群趋势值;其中,r
Q
为所述第二离群趋势值,var(Q)为所述第二数据集合的方差,β为第二控制参数;基于公式:I
Q
=int(r
Q
*k2)确定第二索引值;其中,I...

【技术保护点】

【技术特征摘要】
1.一种模型量化方法,其特征在于,包括:获取神经网络模型中各层的输出数据;针对所述神经网络模型中的每一层,从该层对应的输出数据中确定第一数据集合和第二数据集合;其中,所述第一数据集合为该层对应的输出数据中最大的第一预设数量个输出数据,所述第二数据集合为该层对应的输出数据中最小的第二预设数量个输出数据;基于所述第一数据集合的方差和所述第二数据集合的方差确定该层的量化规格值;基于该层的量化规格值对该层进行模型量化。2.根据权利要求1所述的模型量化方法,其特征在于,所述基于所述第一数据集合的方差和所述第二数据集合的方差确定该层的量化规格值,包括:根据所述第一数据集合的方差确定第一离群趋势值,并根据所述第一离群趋势值和所述第一预设数量确定第一索引值;根据所述第二数据集合的方差确定第二离群趋势值,并根据所述第二离群趋势值和所述第二预设数量确定第二索引值;根据所述第一索引值从所述第一数据集合中确定量化上限值;根据所述第二索引值从所述第二数据集合中确定量化下限值;根据所述量化上限值和所述量化下限值确定该层的量化规格值。3.根据权利要求2所述的模型量化方法,其特征在于,所述根据所述第一数据集合的方差确定第一离群趋势值,并根据所述第一离群趋势值和所述第一预设数量确定第一索引值,包括:基于公式:确定第一离群趋势值;其中,r
D
为所述第一离群趋势值,var(D)为所述第一数据集合的方差,α为第一控制参数;基于公式:I
D
=int(r
D
*k1)确定第一索引值;其中,I
D
为所述第一索引值,r
D
为所述第一离群趋势值,k1为所述第一预设数量。4.根据权利要求2所述的模型量化方法,其特征在于,所述根据所述第二数据集合的方差确定第二离群趋势值,并根据所述第二离群趋势值和所述第二预设数量确定第二索引值,包括:基于公式:确定第二离群趋势值;其中,r
Q
为所述第二离群趋势值,var(Q)为所述第二数据集合的方差,β为第二控制参数;基于公式:I
Q
=int(r
Q
*k2)确定第二索引值;其中,I
Q
为所述第二索引值,r
Q
为所述第二离群趋势值,k2为所述第二预设数量。5.根据权利要求2所述的模型量化方法,其特征在于,所述根据所述量化上限值和所述量化下限值确定该层的量化规格值,包括:基于公式:确定该层的量化规格值;其中,S为所述该层的量化规格值,d
D
为所述量化上限值,d
Q
为所述量化下限值,b为量化宽度;
或基于公式:确定该层的量化规格值;其中,S为所述该层的量化规格值,d
D
为所述量化上限值,d
Q
为所述量化下限值,b为量化宽度。6.一种模型量化方法,其特征在于,包括:获取神经网络模型中各层对应的各个通道的输出数据;针对所述神经网络模型中每一层的每一个通道,从该通道对应的输出数据中确定第一数据集合和第二数据集合;其中,所述第一数据集合为该通道对应的输出数据中最大的第一预设数量个输出数据,所述第二数据集合为该通道对应的输出数据中最小的第二预设数量个输出数据;基于所述第一数据集合的方差和所述第二数据集合的方差确定该通道的量化规格值;基于该通道的量化规格值对该通道进行模型量化。7.根据权利要求6所述的模型量化方法,其特征在于,所述基于所述第一数据集合的方差和所述第二数据集合的方差确定该通道的量化规格值,包括:根据所述第一数据集合的方差确定第一离群趋势值,并根据所述第一离群趋势值和所述第一预设数量确定第一索引值;根据所述第二数据集合的方差确定第二离群趋势值,并根据所述第二离群趋势值和所述第二预设数量确定第二索引值;...

【专利技术属性】
技术研发人员:巩宁李倩陈锦明
申请(专利权)人:恒玄科技上海股份有限公司
类型:发明
国别省市:

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

1