System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及计算机,尤其涉及一种量化模型确定方法、装置及终端设备。
技术介绍
1、用户可以通过人工智能模型(例如,卷积神经网络模型、深度学习模型等),进行业务处理。由于终端设备不能满足人工智能模型的计算需求,在通过终端设备运行人工智能模型之前,需要对人工智能模型进行量化感知训练,以减少量化后的人工智能模型的计算量。
2、在相关技术中,可以通过如下方式进行模型量化:确定待量化的初始模型,初始模型为通过预设精度训练得到的。初始化初始模型,并对初始化后的初始模型进行量化训练,得到目标量化参数。根据目标量化参数,确定每个模型参数对应的最大浮点值和最小浮点值。根据初始模型,以及每个模型参数对应的最大浮点值和最小浮点值,得到量化模型。通过量化模型中每个模型参数对应的最大浮点值和最小浮点值,对量化模型进行压缩处理,得到目标模型,并将目标模型存储至终端设备。此时,终端设备可以满足目标模型运行时所需的计算量。
3、在上述过程中,可以通过全局最大最小值、滑动平均最大最小值和最后批值最大最小值等方法,确定每个模型参数对应的最大浮点值和最小浮点值。若存在异常值或者离群值时,使得确定的最大浮点值和最小浮点值不准确。从而造成量化模型的精度损失较大,导致确定量化模型的准确性较低。
技术实现思路
1、本申请实施例提供一种量化模型确定方法、装置及终端设备,用以解决确定量化模型的准确性较低的问题。
2、第一方面,本申请实施例提供一种量化模型确定方法,包括:
3、确定
4、确定所述至少一个模型参数所在的数值范围,并在所述数值范围中确定至少一个中间值、以及每个中间值对应的参数频率;
5、根据所述至少一个中间值、以及每个中间值对应的参数频率,在多个待选量化参数中确定目标量化参数;
6、根据所述目标量化参数,确定每个模型参数对应的最大浮点值和最小浮点值,并根据每个模型参数对应的最大浮点值和最小浮点值,确定所述初始模型对应的量化模型。
7、在一种可能的实施方式中,根据所述至少一个中间值、以及每个中间值对应的参数频率,在多个待选量化参数中确定目标量化参数,包括:
8、针对任意一个待选量化参数,根据所述至少一个中间值、以及每个中间值对应的参数频率,确定所述待选量化参数对应的误差值;
9、将对应的误差值最小的待选量化参数,确定为所述目标量化参数。
10、在一种可能的实施方式中,根据所述至少一个中间值、以及每个中间值对应的参数频率,确定所述待选量化参数对应的误差值,包括:
11、根据所述待选量化参数,对每个中间值进行量化及反量化处理,得到每个中间值对应的中间量化值;
12、根据每个中间值对应的中间量化值,确定所述待选量化参数对应的误差值。
13、在一种可能的实施方式中,针对任意一个中间值;根据所述待选量化参数,对所述中间值进行量化及反量化处理,得到所述中间值对应的中间量化值,包括:
14、根据所述待选量化参数确定量化缩放因子;
15、根据所述量化缩放因子对所述中间值进行量化及反量化处理,确定所述中间值对应的中间量化值。
16、在一种可能的实施方式中,根据每个中间值对应的中间量化值,确定所述待选量化参数对应的误差值,包括:
17、针对任意一个中间值,确定所述中间值与所述中间量化值之间的中间差值;
18、根据每个中间值对应的中间差值、以及每个中间值对应的参数频率,确定所述误差值。
19、在一种可能的实施方式中,在所述数值范围中确定至少一个中间值、以及每个中间值对应的参数频率,包括:
20、按照预设长度,对所述数值范围进行划分处理,得到多个子范围,每个子范围对应的长度为所述预设长度;
21、针对任意一个子范围,确定所述子范围对应的中间值、以及在所述子范围内对应的至少一个模型参数的总数量,并将所述总数量确定为所述中间值对应的参数频率;
22、根据每个子范围对应的中间值、以及所述中间值对应的参数频率,得到所述至少一个中间值、以及每个中间值对应的参数频率。
23、在一种可能的实施方式中,根据所述目标量化参数,确定每个模型参数对应的最大浮点值和最小浮点值,包括:
24、获取量化精度,所述量化精度小于所述初始模型的训练精度;
25、根据所述目标量化参数确定目标量化缩放因子;
26、根据所述量化精度和所述目标量化缩放因子,确定每个模型参数对应的最大浮点值和最小浮点值。
27、在一种可能的实施方式中,所述初始模型还包括至少一个模型算子;根据每个模型参数对应的最大浮点值和最小浮点值,确定所述初始模型对应的量化模型,包括:
28、确定每个模型算子对应的至少一个模型参数;
29、对每个模型参数对应的最大浮点值和最小浮点值与每个模型算子进行匹配处理,得到每个模型算子对应的最大浮点值和最小浮点值;
30、确定所述量化模型包括所述初始模型中至少一个模型算子、每个模型算子对应的至少一个模型参数、以及每个模型算子对应的最大浮点值和最小浮点值。
31、第二方面,本申请实施例提供一种量化模型确定装置,所述装置包括:
32、第一确定模块,用于确定初始模型,所述初始模型包括至少一个模型参数;
33、第二确定模块,用于确定所述至少一个模型参数所在的数值范围,并在所述数值范围中确定至少一个中间值、以及每个中间值在所述至少一个模型参数中的每个中间值对应的参数频率;
34、第三确定模块,用于根据所述至少一个中间值、以及所述中间值在所述至少一个模型参数中的出现概率,在多个待选量化参数中确定目标量化参数;
35、第四确定模块,用于根据所述目标量化参数,确定每个模型参数对应的最大浮点值和最小浮点值,并根据每个模型参数对应的最大浮点值和最小浮点值,确定所述初始模型对应的量化模型。
36、在一种可能的实施方式中,所述第三确定模块具体用于:
37、针对任意一个待选量化参数,根据所述至少一个中间值、以及每个中间值对应的参数频率,确定所述待选量化参数对应的误差值;
38、将对应的误差值最小的待选量化参数,确定为所述目标量化参数。
39、在一种可能的实施方式中,所述第三确定模块具体用于:
40、根据所述待选量化参数,对每个中间值进行量化及反量化处理,得到每个中间值对应的中间量化值;
41、根据每个中间值对应的中间量化值,确定所述待选量化参数对应的误差值。
42、在一种可能的实施方式中,所述第三确定模块具体用于:
43、根据所述待选量化参数确定量化缩放因子;
44、根据所述量化缩放因子对所述中间值进行量化及反量化处理,确定所述中间值对应的中间量化值。
...【技术保护点】
1.一种量化模型确定方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,根据所述至少一个中间值、以及每个中间值对应的参数频率,在多个待选量化参数中确定目标量化参数,包括:
3.根据权利要求2所述的方法,其特征在于,根据所述至少一个中间值、以及每个中间值对应的参数频率,确定所述待选量化参数对应的误差值,包括:
4.根据权利要求3所述的方法,其特征在于,针对任意一个中间值;根据所述待选量化参数,对所述中间值进行量化及反量化处理,得到所述中间值对应的中间量化值,包括:
5.根据权利要求3或4所述的方法,其特征在于,根据每个中间值对应的中间量化值,确定所述待选量化参数对应的误差值,包括:
6.根据权利要求1-5任一项所述的方法,其特征在于,在所述数值范围中确定至少一个中间值、以及每个中间值对应的参数频率,包括:
7.根据权利要求1-6任一项所述的方法,其特征在于,根据所述目标量化参数,确定每个模型参数对应的最大浮点值和最小浮点值,包括:
8.根据权利要求1-7任一项所述的方法,其特征在于,
9.一种量化模型确定装置,其特征在于,所述装置包括:
10.一种终端设备,其特征在于,包括:
11.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,其中,所述计算机指令用于使计算机执行根据权利要求1至8中任一项所述的方法。
12.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法。
...【技术特征摘要】
1.一种量化模型确定方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,根据所述至少一个中间值、以及每个中间值对应的参数频率,在多个待选量化参数中确定目标量化参数,包括:
3.根据权利要求2所述的方法,其特征在于,根据所述至少一个中间值、以及每个中间值对应的参数频率,确定所述待选量化参数对应的误差值,包括:
4.根据权利要求3所述的方法,其特征在于,针对任意一个中间值;根据所述待选量化参数,对所述中间值进行量化及反量化处理,得到所述中间值对应的中间量化值,包括:
5.根据权利要求3或4所述的方法,其特征在于,根据每个中间值对应的中间量化值,确定所述待选量化参数对应的误差值,包括:
6.根据权利要求1-5任一项所述的方法,其特征在于,在所述数值范围中确定至少一个中间值、以及每个...
【专利技术属性】
技术研发人员:刘叮咚,
申请(专利权)人:西安紫光展锐科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。