System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及计算机,尤其涉及一种模型量化方法及装置、电子设备和存储介质。
技术介绍
1、随着人工智能技术的不断发展,人工智能相关的模型结构也被设计的越来越复杂,对应的模型的权重参数越来越庞大,模型的推理的时间越来越长,对硬件设备的算力要求也越来越高,这给硬件设备带来了更大的挑战。相关技术中的量化方法难以保证模型精度,如何在算力有限的硬件设备上,既满足模型精度又不降低模型推理速度,会变得越来越重要。
技术实现思路
1、本公开提出了一种模型量化技术方案。
2、根据本公开的一方面,提供了一种模型量化方法,包括:获取待量化模型,所述待量化模型包括至少一个待量化层;确定所述待量化模型的至少一个待量化层对应的初始的超参数,所述超参数表示所述待量化层的权重矩阵中共用同一量化参数的权重元素数量,所述量化参数用于将高精度表示的权重矩阵转换为低精度的表示形式;根据校准数据集,调整所述待量化模型中每个待量化层的超参数;根据调整后的每个待量化层的超参数,对所述待量化模型进行量化处理,得到目标量化模型。
3、在一种可能的实现方式中,所述待量化模型中任一待量化层的超参数的调整过程包括:针对校准数据集中的第1~t个校准数据,执行以下步骤:根据第i个校准数据与所述待量化层的权重矩阵,确定第一结果,i为小于等于t的正整数;根据校准数据集中的第i个校准数据与所述待量化层的量化权重矩阵,确定第二结果,所述量化权重矩阵是由预设的量化位数、第i-1次调整后的超参数、所述待量化层的权重矩阵确定的;根据所
4、在一种可能的实现方式中,根据所述第三结果调整所述第i-1次调整后的超参数,得到第i次调整后的超参数,包括:在所述第三结果大于第一预设阈值的情况下,对第i-1次调整后的超参数自减预设数值,得到第i次调整后的超参数;在所述第三结果小于第二预设阈值的情况下,对第i-1次调整后的超参数自加所述预设数值,得到第i次调整后的超参数;在所述第三结果小于等于所述第一预设阈值且大于等于所述第二预设阈值的情况下,将第i-1次调整后的超参数作为第i次调整后的超参数。
5、在一种可能的实现方式中,根据校准数据集中的第i个校准数据与所述待量化层的量化权重矩阵,确定第二结果,包括:根据第i-1次调整后的超参数对所述待量化层的权重矩阵进行分块处理,得到至少一个分块矩阵;根据预设的量化位数分别对每个分块矩阵进行量化处理,得到与每个分块矩阵对应的分块量化矩阵;对每个分块量化矩阵进行拼接,得到量化权重矩阵;根据校准数据集中的第i个校准数据与所述量化权重矩阵,确定第二结果。
6、在一种可能的实现方式中,根据预设的量化位数分别对每个分块矩阵进行量化处理,得到与每个分块矩阵对应的分块量化矩阵,包括:根据预设的量化位数、每个所述分块矩阵的最大值和最小值,确定每个分块矩阵的量化参数;根据每个分块矩阵的量化参数对所述分块矩阵进行量化处理,得到与每个分块矩阵对应的分块量化矩阵。
7、在一种可能的实现方式中,所述待量化层包括线性层,所述量化参数包括来自第一矩阵的第一参数,来自第二矩阵的第二参数,以及来自第三矩阵的第三参数,所述第一矩阵、所述第二矩阵、所述第三矩阵的尺寸相同且基于所述权重矩阵的尺寸和所述超参数确定;其中,在所述超参数的值为k的情况下,表示所述待量化层的权重矩阵中共用同一量化参数的权重元素数量为k个,所述第三矩阵中任一位置的第三参数,用于表示权重矩阵中共用所述第一矩阵中相同位置的第一参数、所述第二矩阵中相同位置的第二参数的k个权重元素的位置索引,所述第一矩阵中相同位置的第一参数用于表征所述k个权重元素的缩放比例,所述第二矩阵中相同位置的第二参数用于表征所述k个权重元素的零点位置,k大于等于1并且小于等于权重矩阵中权重元素总量。
8、在一种可能的实现方式中,所述校准数据集与目标任务相匹配,所述目标任务包括图像分类、目标检测、图像分割、语音识别中至少一种,所述方法还包括:将与所述目标任务对应的待处理数据输入所述目标量化模型中处理,得到处理结果,其中,所述待处理数据包括与所述目标任务的任务类型相匹配的图像数据、语音数据、文本数据中的至少一种。
9、根据本公开的一方面,提供了一种模型量化装置,包括:获取模块,用于获取待量化模型,所述待量化模型包括至少一个待量化层;确定模块,用于确定所述待量化模型的至少一个待量化层对应的初始的超参数,所述超参数表示所述待量化层的权重矩阵中共用同一量化参数的权重元素数量,所述量化参数用于将高精度表示的权重矩阵转换为低精度的表示形式;调整模块,用于根据校准数据集,调整所述待量化模型中每个待量化层的超参数;量化模块,用于根据调整后的每个待量化层的超参数,对所述待量化模型进行量化处理,得到目标量化模型。
10、在一种可能的实现方式中,所述调整模块用于:针对校准数据集中的第1~t个校准数据,执行以下步骤:根据第i个校准数据与所述待量化层的权重矩阵,确定第一结果,i为小于等于t的正整数;根据校准数据集中的第i个校准数据与所述待量化层的量化权重矩阵,确定第二结果,所述量化权重矩阵是由预设的量化位数、第i-1次调整后的超参数、所述待量化层的权重矩阵确定的;根据所述第一结果和所述第二结果的偏差,确定第三结果;根据所述第三结果调整所述第i-1次调整后的超参数,得到第i次调整后的超参数,其中,第t次调整后的超参数为调整后的所述待量化层的超参数。
11、在一种可能的实现方式中,根据所述第三结果调整所述第i-1次调整后的超参数,得到第i次调整后的超参数,包括:在所述第三结果大于第一预设阈值的情况下,对第i-1次调整后的超参数自减预设数值,得到第i次调整后的超参数;在所述第三结果小于第二预设阈值的情况下,对第i-1次调整后的超参数自加所述预设数值,得到第i次调整后的超参数;在所述第三结果小于等于所述第一预设阈值且大于等于所述第二预设阈值的情况下,将第i-1次调整后的超参数作为第i次调整后的超参数。
12、在一种可能的实现方式中,根据校准数据集中的第i个校准数据与所述待量化层的量化权重矩阵,确定第二结果,包括:根据第i-1次调整后的超参数对所述待量化层的权重矩阵进行分块处理,得到至少一个分块矩阵;根据预设的量化位数分别对每个分块矩阵进行量化处理,得到与每个分块矩阵对应的分块量化矩阵;对每个分块量化矩阵进行拼接,得到量化权重矩阵;根据校准数据集中的第i个校准数据与所述量化权重矩阵,确定第二结果。
13、在一种可能的实现方式中,根据预设的量化位数分别对每个分块矩阵进行量化处理,得到与每个分块矩阵对应的分块量化矩阵,包括:根据预设的量化位数、每个所述分块矩阵的最大值和最小值,确定每个分块矩阵的量化参数;根据每个分块矩阵的量化参数对所述分块矩阵进行量化处理,得到与每个分块矩阵对应的分块本文档来自技高网...
【技术保护点】
1.一种模型量化方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述待量化模型中任一待量化层的超参数的调整过程包括:
3.根据权利要求2所述的方法,其特征在于,根据所述第三结果调整所述第i-1次调整后的超参数,得到第i次调整后的超参数,包括:
4.根据权利要求2所述的方法,其特征在于,根据校准数据集中的第i个校准数据与所述待量化层的量化权重矩阵,确定第二结果,包括:
5.根据权利要求4所述的方法,其特征在于,根据预设的量化位数分别对每个分块矩阵进行量化处理,得到与每个分块矩阵对应的分块量化矩阵,包括:
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述待量化层包括线性层,所述量化参数包括来自第一矩阵的第一参数,来自第二矩阵的第二参数,以及来自第三矩阵的第三参数,所述第一矩阵、所述第二矩阵、所述第三矩阵的尺寸相同且基于所述权重矩阵的尺寸和所述超参数确定;
7.根据权利要求1-5中任一项所述的方法,其特征在于,所述校准数据集与目标任务相匹配,所述目标任务包括图像分类、目标检测、
8.一种模型量化装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至7中任意一项所述的方法。
...【技术特征摘要】
1.一种模型量化方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述待量化模型中任一待量化层的超参数的调整过程包括:
3.根据权利要求2所述的方法,其特征在于,根据所述第三结果调整所述第i-1次调整后的超参数,得到第i次调整后的超参数,包括:
4.根据权利要求2所述的方法,其特征在于,根据校准数据集中的第i个校准数据与所述待量化层的量化权重矩阵,确定第二结果,包括:
5.根据权利要求4所述的方法,其特征在于,根据预设的量化位数分别对每个分块矩阵进行量化处理,得到与每个分块矩阵对应的分块量化矩阵,包括:
6.根据权利要求1-5中任一项所述的方法,其特征在于,...
【专利技术属性】
技术研发人员:请求不公布姓名,
申请(专利权)人:摩尔线程智能科技北京有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。