System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及计算机,尤其涉及一种神经网络模型的训练方法及装置、电子设备和存储介质。
技术介绍
1、随着人工智能技术的不断发展,人工智能相关的模型结构也被设计的越来越复杂,对应的模型的权重参数越来越庞大,模型的推理的时间越来越长,对硬件设备的算力要求也越来越高,这给硬件设备带来了更大的挑战。
2、为了加快模型的推理速度,可以对训练好的模型进行量化处理,将模型量化到更低的比特位。但量化过程会引入量化误差,造成量化后模型推理精度下降,而为了减小量化误差,相关技术通常需要对模型权重进行定量分析及微调模型权重。在神经网络模型应用越来越广泛的当下,以上方法在神经网络模型(例如包括大语言模型)中实践会产生较高的时间、人力成本。
技术实现思路
1、本公开提出了一种神经网络模型训练技术方案。
2、根据本公开的一方面,提供了一种神经网络模型的训练方法,所述方法包括:获取待训练的第一神经网络模型;将所述第一神经网络模型中第一网络层更新为第二网络层,得到第二神经网络模型,所述第二网络层比所述第一网络层增加了量化模拟结构;根据第二模型优化器,对所述第二神经网络模型进行训练,得到训练好的第二神经网络模型;其中,所述第二模型优化器是根据所述量化模拟结构和初始的第一模型优化器确定的,所述第二模型优化器用于调整至少一个所述第二网络层权重参数的更新步长,所述量化模拟结构用于对所述权重参数执行模拟量化操作,并根据所述模拟量化操作带来的量化误差,调整所述模拟量化操作的量化位数。
3、在一
4、在一种可能的实现方式中,根据验证数据集对第一量化标签进行更新,得到第二量化标签,包括:确定第一结果和第二结果;其中,所述第一结果和第二结果分别指示在启用和停用所述量化模拟结构的情况下,根据所述验证数据集中的验证数据与所述第二网络层的权重参数得到的验证结果;将所述第二结果与所述第一结果之间的损失,确定为第三结果;根据所述第三结果,更新所述第二网络层的量化标签。
5、在一种可能的实现方式中,所述第二网络层的所述量化标签包括第一标签、第二标签和第三标签,所述第一标签用于标记所述第二网络层启用或停用所述量化模拟结构;所述第二标签用于标记所述模拟量化操作的量化误差;所述第三标签用于标记所述模拟量化操作的量化位数;根据所述第三结果,更新所述第二网络层的量化标签,包括:响应于所述第三结果与所述第二标签的差值大于或等于第一预设阈值,在所述第三标签为预设的最大值的情况下,将所述第一标签设置为第一标识,在所述第三标签小于预设的最大值的情况下,将所述第三标签扩大第一预设倍数,其中,所述第一标识表征所述第二网络层停用所述量化模拟结构来执行模拟量化操作;响应于所述第三结果与所述第二标签的差值小于或等于第二预设阈值,将所述第三标签缩小第二预设倍数,将所述第一标签设置为第二标识,其中,所述第二标识表征所述第二网络层启用所述量化模拟结构来执行模拟量化操作;响应于所述第三结果与所述第二标签的差值小于第一预设阈值且大于第二预设阈值,将所述第二标签设置为所述第三结果。
6、在一种可能的实现方式中,利用所述第二模型优化器根据所述第二量化标签,以及当前轮每步训练使用的训练数据,确定当前轮每步训练中所述第二网络层的更新步长,包括:所述第二模型优化器在所述第一标签为第二标识的情况下,根据所述第三标签和所述训练数据,对所述第二网络层的权重参数的梯度进行量化操作,得到量化梯度;所述第二模型优化器根据所述量化梯度,确定所述第二网络层的更新步长。
7、在一种可能的实现方式中,所述量化模拟结构包括第一量化参数、第二量化参数、第一量化算子、第二量化算子,所述量化模拟结构用于:将所述第二网络层的权重参数、所述第一量化参数、所述第二量化参数输入第一量化算子,得到第一量化结果;将所述第一量化结果、所述第一量化参数、所述第二量化参数输入第二量化算子,得到第二量化结果,所述第二量化结果为所述模拟量化操作后的权重参数;其中,所述第一量化参数表征缩放比例,所述第二量化参数表征零点位置;所述第一量化算子用于将所述第二网络层的权重参数与所述第一量化参数商的嵌位操作结果,与所述第二量化参数相加;所述第二量化算子用于将所述第一量化结果与所述第二量化参数的差值,与所述第一量化参数相乘。
8、在一种可能的实现方式中,所述方法还包括:根据所述量化标签对训练好的第二神经网络模型进行量化,得到量化模型;将待处理数据输入所述量化模型中处理,得到处理结果,其中,所述量化模型是用于执行图像分类、目标检测、图像分割、语音识别中至少一种任务的模型,所述待处理数据包括图像数据、语音数据、文本数据中的至少一种。
9、根据本公开的一方面,提供了一种神经网络模型训练装置,包括:获取模块,用于获取待训练的第一神经网络模型;更新模块,用于将所述第一神经网络模型中第一网络层更新为第二网络层,得到第二神经网络模型,所述第二网络层比所述第一网络层增加了量化模拟结构;训练模块,用于根据第二模型优化器,对所述第二神经网络模型进行训练,得到训练好的第二神经网络模型;其中,所述第二模型优化器是根据所述量化模拟结构和初始的第一模型优化器确定的,所述第二模型优化器用于调整至少一个所述第二网络层权重参数的更新步长,所述量化模拟结构用于对所述权重参数执行模拟量化操作,并根据所述模拟量化操作带来的量化误差,调整所述模拟量化操作的量化位数。
10、在一种可能的实现方式中,所述训练模块用于训练所述第二神经网络模型中任一第二网络层,所述第二神经网络模型中任一第二网络层的训练过程包括:响应于训练步数到达预设的验证步数,根据验证数据集对第一量化标签进行更新,得到第二量化标签;其中,所述第一量化标签是指上一轮多步训练共用的所述第二网络层的量化标签,所述第二量化标签是指当前轮多步训练共用的所述第二网络层的量化标签;利用所述第二模型优化器根据所述第二量化标签,以及当前轮每步训练使用的训练数据,确定当前轮每步训练中所述第二网络层的更新步长;根据当前轮每步训练中所述第二网络层的更新步长,对所述第二网络层的权重参数进行更新,得到更新后的第二网络层;在满足预设的训练结束条件的情况下,将当前步训练得到的更新后的第二网络层,确定为训练好的第二网络层。
11、在一种可能的实现方式本文档来自技高网...
【技术保护点】
1.一种神经网络模型的训练方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述第二神经网络模型中任一第二网络层的训练过程包括:
3.根据权利要求2所述的方法,其特征在于,根据验证数据集对第一量化标签进行更新,得到第二量化标签,包括:
4.根据权利要求3所述的方法,其特征在于,所述第二网络层的所述量化标签包括第一标签、第二标签和第三标签,所述第一标签用于标记所述第二网络层启用或停用所述量化模拟结构;所述第二标签用于标记所述模拟量化操作的量化误差;所述第三标签用于标记所述模拟量化操作的量化位数;
5.根据权利要求4所述的方法,其特征在于,利用所述第二模型优化器根据所述第二量化标签,以及当前轮每步训练使用的训练数据,确定当前轮每步训练中所述第二网络层的更新步长,包括:
6.根据权利要求2-5中任一项所述的方法,其特征在于,所述量化模拟结构包括第一量化参数、第二量化参数、第一量化算子、第二量化算子,所述量化模拟结构用于:
7.根据权利要求2-5中任一项所述的方法,其特征在于,所述方法还包括
8.一种神经网络模型,其特征在于,包括第二网络层,所述第二网络层包括量化模拟结构,所述神经网络模型基于第二模型优化器训练得到;
9.一种神经网络模型的训练装置,其特征在于,包括:
10.一种电子设备,其特征在于,包括:
11.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至7中任意一项所述的方法。
12.一种计算机程序产品,包括计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至7中任意一项所述的方法。
...【技术特征摘要】
1.一种神经网络模型的训练方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述第二神经网络模型中任一第二网络层的训练过程包括:
3.根据权利要求2所述的方法,其特征在于,根据验证数据集对第一量化标签进行更新,得到第二量化标签,包括:
4.根据权利要求3所述的方法,其特征在于,所述第二网络层的所述量化标签包括第一标签、第二标签和第三标签,所述第一标签用于标记所述第二网络层启用或停用所述量化模拟结构;所述第二标签用于标记所述模拟量化操作的量化误差;所述第三标签用于标记所述模拟量化操作的量化位数;
5.根据权利要求4所述的方法,其特征在于,利用所述第二模型优化器根据所述第二量化标签,以及当前轮每步训练使用的训练数据,确定当前轮每步训练中所述第二网络层的更新步长,包括:
6.根据权利要求...
【专利技术属性】
技术研发人员:请求不公布姓名,
申请(专利权)人:摩尔线程智能科技北京有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。