模型压缩方法、装置、电子设备及存储介质制造方法及图纸

技术编号:38013644 阅读:13 留言:0更新日期:2023-06-30 10:36
本公开提供了一种模型压缩方法、装置、电子设备及存储介质,涉及计算机技术领域,尤其涉及深度学习、模型量化等人工智能领域。包括:获取待压缩模型中的各个模型参数及目标数据位宽;将各个模型参数由小到大依次排序,以获取第一排序结果;基于目标数据位宽对应的数据范围内包含的数据量,将第一排序结果进行均匀划分,以获取与数据量相同的多个第一集合;确定每个第一集合对应的第一量化参数;基于每个第一集合对应的第一量化参数,对每个第一集合中的模型参数进行量化,以获取压缩后的模型。由此,提高了量化准确度,在减少压缩后的模型的计算损失的情况下,降低了压缩后的模型占用的计算资源和存储空间,提高了压缩后的模型的计算速度和效率。计算速度和效率。计算速度和效率。

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


[0001]本公开涉及计算机
,尤其涉及深度学习、模型量化等人工智能
,具体涉及一种模型压缩方法、装置、电子设备及存储介质。

技术介绍

[0002]近年来,随着人工智能技术的迅猛发展,深度学习神经网络在模式识别方面取得了巨大的成功,例如图像分类、目标检测、图像分割、语音识别以及机器翻译等。然而,性能较好的神经网络通常具有规模较大的模型参数,使得其计算复杂度较高。计算的复杂度同时体现在空间存储量(庞大的模型存储体积和运行时的内存占用)和时间计算量(单次推理所需数百亿次浮点运算)两方面上。因此,对神经网络进行压缩和加速变得尤为重要。

技术实现思路

[0003]本公开提供了一种模型压缩方法、装置、电子设备及存储介质。
[0004]根据本公开的第一方面,提供了一种模型压缩方法,包括:
[0005]获取待压缩模型中的各个模型参数及所述模型参数对应的目标数据位宽;
[0006]将所述各个模型参数由小到大依次排序,以获取第一排序结果;
[0007]基于所述目标数据位宽对应的数据范围内包含的数据量,将所述第一排序结果进行均匀划分,以获取与所述数据量相同的多个第一集合;
[0008]确定每个所述第一集合对应的第一量化参数,其中,第一集合i中包含的模型参数,大于第一集合j中包含的模型参数,且第一集合i对应的第一量化参数大于第一集合j对应的第一量化参数,i与j为不同的值;
[0009]基于每个所述第一集合对应的第一量化参数,对每个所述第一集合中的模型参数进行量化,以获取压缩后的模型。
[0010]根据本公开的第二方面,提供了一种数据处理方法,包括:
[0011]获取待处理数据、与预设的模型关联的各个数据分界点、及每组相邻的两个数据分界点间的数据对应的第二量化参数;
[0012]基于所述各个数据分界点,对所述待处理数据进行划分,以获取每组相邻的两个数据分界点内包含的目标待处理数据;
[0013]基于所述每组相邻的两个数据分界点间的数据对应的第二量化参数,对每组相邻的两个数据分界点内包含的目标待处理数据进行量化,以获取所述待处理数据对应的目标量化数据;
[0014]将所述目标量化数据输入所述预设的模型中,以获取所述待处理数据对应的预测结果,其中,所述预设的模型为基于如权利要求1

6中任一所述的方法生成的。
[0015]根据本公开的第三方面,提供了一种模型压缩装置,包括:
[0016]第一获取模块,用于获取待压缩模型中的各个模型参数及所述模型参数对应的目标数据位宽;
[0017]第二获取模块,用于将所述各个模型参数由小到大依次排序,以获取第一排序结果;
[0018]第三获取模块,用于基于所述目标数据位宽对应的数据范围内包含的数据量,将所述第一排序结果进行均匀划分,以获取与所述数据量相同的多个第一集合;
[0019]第一确定模块,用于确定每个所述第一集合对应的第一量化参数,其中,第一集合i中包含的模型参数,大于第一集合j中包含的模型参数,且第一集合i对应的第一量化参数大于第一集合j对应的第一量化参数,i与j为不同的值;
[0020]第四获取模块,用于基于每个所述第一集合对应的第一量化参数,对每个所述第一集合中的模型参数进行量化,以获取压缩后的模型。
[0021]根据本公开的第四方面,提供了一种数据处理装置,包括:
[0022]第一获取模块,用于获取待处理数据、与预设的模型关联的各个数据分界点、及每组相邻的两个数据分界点间的数据对应的第二量化参数;
[0023]第二获取模块,用于基于所述各个数据分界点,对所述待处理数据进行划分,以获取每组相邻的两个数据分界点内包含的目标待处理数据;
[0024]第三获取模块,用于基于所述每组相邻的两个数据分界点间的数据对应的第二量化参数,对每组相邻的两个数据分界点内包含的目标待处理数据进行量化,以获取所述待处理数据对应的目标量化数据;
[0025]第三获取模块,用于将所述目标量化数据输入所述预设的模型中,以获取所述待处理数据对应的预测结果,其中,所述预设的模型为基于如权利要求8

13中任一所述的装置生成的。
[0026]根据本公开的第五方面,提供了一种电子设备,包括:
[0027]至少一个处理器;以及
[0028]与所述至少一个处理器通信连接的存储器;其中,
[0029]所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面所述的模型压缩方法,或者能够执行如第二方面所述的数据处理方法。
[0030]根据本公开第六方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如第一方面所述的模型压缩方法,或者能够执行如第二方面所述的数据处理方法。
[0031]根据本公开的第七方面,提供了一种计算机程序产品,包括计算机指令,所述计算机指令在被处理器执行时实现如第一方面所述的模型压缩方法的步骤,或者实现如第二方面所述的数据处理方法的步骤。
[0032]本公开提供的模型压缩方法、装置、电子设备及存储介质,存在如下有益效果:
[0033]本公开实施例中,先获取待压缩模型中的各个模型参数及模型参数对应的目标数据位宽,将各个模型参数由小到大依次排序,以获取第一排序结果,之后基于目标数据位宽对应的数据范围内包含的数据量,将第一排序结果进行均匀划分,以获取与数据量相同的多个第一集合;确定每个第一集合对应的第一量化参数,最后基于每个第一集合对应的第一量化参数,对每个第一集合中的模型参数进行量化,以获取压缩后的模型。由此,通过对模型参数由小到大依次均匀划分为与目标数据位宽的数据量相同数量的第一集合,并为每
个第一集合分配一个第一量化参数,从而可以基于每个集合中模型参数的数量均匀地对模型参数进行量化,提高了量化准确度,进而在减少压缩后的模型的计算损失的情况下,降低了压缩后的模型占用的计算资源和存储空间,提高了压缩后的模型的计算速度和计算效率。
[0034]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0035]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0036]图1是根据本公开一实施例提供的一种模型压缩方法的流程示意图;
[0037]图2是根据本公开又一实施例提供的一种模型压缩方法的流程示意图;
[0038]图3是根据本公开又一实施例提供的一种数据处理方法的流程示意图;
[0039]图4是根据本公开一实施例提供的一种模型压缩装置的结构示意图;
[0040]图5是根据本公开又一实施例提供的一种数据处理装置的结构示意图;
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种模型压缩方法,包括:获取待压缩模型中的各个模型参数及所述模型参数对应的目标数据位宽;将所述各个模型参数由小到大依次排序,以获取第一排序结果;基于所述目标数据位宽对应的数据范围内包含的数据量,将所述第一排序结果进行均匀划分,以获取与所述数据量相同的多个第一集合;确定每个所述第一集合对应的第一量化参数,其中,第一集合i中包含的模型参数,大于第一集合j中包含的模型参数,且第一集合i对应的第一量化参数大于第一集合j对应的第一量化参数,i与j为不同的值;基于每个所述第一集合对应的第一量化参数,对每个所述第一集合中的模型参数进行量化,以获取压缩后的模型。2.根据权利要求1所述的方法,其中,还包括:获取与所述待压缩模型的任务类型对应的多组初始样本数据;对每组所述初始样本数据进行量化,以获取每组所述初始样本数据对应的量化样本数据;根据每组所述初始样本数据及对应的所述量化样本数据,确定每组所述初始样本数据对应的量化损失;根据对应的量化损失最小的一组目标样本数据,确定各个数据分界点;基于所述目标数据位宽,确定每组相邻的两个数据分界点间的数据对应的第二量化参数,其中,第m组相邻的两个数据分界点间的数据,大于第n组相邻的两个数据分界点间的数值,且所述第m组相邻的两个数据分界点间的数据对应的第二量化参数大于所述第n组相邻的两个数据分界点间的数据对应的第二量化参数,m与n为不同的值。3.根据权利要求2所述的方法,其中,所述根据对应的量化损失最小的一组目标样本数据,确定各个数据分界点,包括:将所述目标样本数据由小到大依次排序,以获取所述目标样本数据对应的第二排序结果;基于所述数据量,将所述第二排序结果进行均匀划分,以获取与所述数据量相同的多个第二集合;将每相邻两个第二集合中前一个第二集合中的最后一个元素的数值,与后一个第二集合中的第一个元素的数值之间的均值,确定为一个数据分界点。4.根据权利要求2所述的方法,其中,所述根据每组所述初始样本数据及对应的所述量化样本数据,确定每组所述初始样本数据对应的量化损失,包括:将每组所述初始样本数据分别输入所述待压缩模型中,以获取每组所述初始样本数据对应的第一输出向量;将每组所述量化样本数据分别输入所述压缩后的模型中,以获取每组所述量化样本数据对应的第二输出向量;基于损失函数及每组所述初始样本数据对应的第一输出向量及所述第二输出向量,确定每组所述初始样本数据对应的量化损失。5.根据权利要求4所述的方法,其中,所述基于损失函数及每组所述初始样本数据对应的第一输出向量及所述第二输出向量,确定每组所述初始样本数据对应的量化损失,包括:
根据每组所述初始样本数据对应的第一输出向量及所述第二输出向量,确定各参考损失值;根据所述各参考损失值及各预设的衰减因子,确定每组所述初始样本数据对应的量化损失。6.根据权利要求5所述的方法,其中,所述各参考损失值为以下任一项:所述第一输出向量与所述第二输出向量间的各个次方差;所述第一输出向量的绝对值与所述第二输出向量的绝对值间的各个次方差;所述第一输出向量对应的第一差值与所述第二输出向量对应的第二差值间的各个次方差;及所述第一差值的绝对值与所述第二差值的绝对值间的各个次方差;其中,所述第一差值为所述第一输出向量中每个元素与所述第一输出向量的均值之间的差值,所述第二差值为所述第二输出向量中每个元素与所述第二输出向量的均值之间的差值。7.一种数据处理方法,包括:获取待处理数据、与预设的模型关联的各个数据分界点、及每组相邻的两个数据分界点间的数据对应的第二量化参数;基于所述各个数据分界点,对所述待处理数据进行划分,以获取每组相邻的两个数据分界点内包含的目标待处理数据;基于所述每组相邻的两个数据分界点间的数据对应的第二量化参数,对每组相邻的两个数据分界点内包含的目标待处理数据进行量化,以获取所述待处理数据对应的目标量化数据;将所述目标量化数据输入所述预设的模型中,以获取所述待处理数据对应的预测结果,其中,所述预设的模型为基于如权利要求1

6中任一所述的方法生成的。8.一种模型压缩装置,包括:第一获取模块,用于获取待压缩模型中的各个模型参数及所述模型参数对应的目标数据位宽;第二获取模块,用于将所述各个模型参数由小到大依次排序,以获取第一排序结果;第三获取模块,用于基于所述目标数据位宽对应的数据范围内包含的数据量,将所述第一排序结果进行均匀划分,以获取与所述数据量相同的多个第一集合;第一确定模块,用于确定每个所述第一集合对应的第一量化参...

【专利技术属性】
技术研发人员:李泽政杨歌梁津
申请(专利权)人:百度时代网络技术北京有限公司
类型:发明
国别省市:

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

1