System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种面向NPU计算架构的量化训练无损推理协同设计方法技术_技高网

一种面向NPU计算架构的量化训练无损推理协同设计方法技术

技术编号:40917313 阅读:2 留言:0更新日期:2024-04-18 14:43
本发明专利技术涉及一种面向NPU计算架构的量化训练无损推理协同设计方法。本发明专利技术包括以下步骤:1)为神经网络模型训练选用合适的量化计算实现方式,对量化训练参数进行初始化;2)使用量化设计后的方式对模型超参数进行设计;3)在神经网络模型训练阶段引入量化约束,完成模型的低比特量化训练,生成量化训练模型权重;4)使用相同数据,对量化训练后的模型推理结果进行正确性验证;5)设计NPU计算架构支持低比特量化模型的推理,实现模型推理过程与模型量化训练过程完全相同;6)使用NPU推理训练量化后的模型,对比NPU与PC端推理结果。本发明专利技术以神经网络算法通用框架模型量化技术流程,通过研究算子量化中的操作,在NPU端涉及模型量化训练无损推理方法,使得量化后的神经网络模型达到无损推理和加速的目的。

【技术实现步骤摘要】

本专利技术属于人工智能算法加速计算领域,尤其涉及一种面向npu计算架构的量化训练无损推理协同设计方法。


技术介绍

1、随着计算架构与深度学习技术的不断发展,图像处理等各类型神经网络算法也加速落地,神经网络算法性能不断提高的同时也带来了巨大的参数量和计算量。常见的神经网络模型通常包含着大量的参数和数百万的浮点数计算,实时的运行这些模型需要耗费巨大的内存和算力,这使得他们难以部署在低功耗边缘设备。为了进一步的推动神经网络算法在低功耗边缘设备的部署,深度学习技术提出了模型量化等一系列模型压缩加速技术。

2、模型量化技术是一种将浮点数计算转化为更低比特计算的技术,可以有效的降低模型的参数量、计算量和内存消耗,但往往会随之带来相应的精度损失。目前,常用的深度学习部署后端pytorch、tensorflow等已开发出特定的量化加速方案,但其大多情况运行在cpu或gpu端,在算法的实际落地应用过程中,仍然存在部署困难的问题。


技术实现思路

1、为了解决
技术介绍
中存在的上述技术问题,本专利技术提供了一种面向npu计算架构的量化训练无损推理协同设计方法,以神经网络算法通用框架模型量化技术流程,通过研究算子量化中的操作,在npu端涉及模型量化训练无损推理方法,使得量化后的神经网络模型达到无损推理和加速的目的。

2、本专利技术的技术解决方案是:本专利技术为一种面向npu计算架构的量化训练无损推理协同设计方法,其特殊之处在于,该方法包括以下步骤:

3、1)为神经网络模型训练选用合适的量化计算实现方式,对量化训练参数进行初始化;

4、2)使用量化设计后的方式对模型超参数进行设计;

5、3)在神经网络模型训练阶段引入量化约束,完成模型的低比特量化训练,生成量化训练模型权重;

6、4)使用相同数据,对量化训练后的模型推理结果进行正确性验证;

7、5)设计npu计算架构支持低比特量化模型的推理,实现模型推理过程与模型量化训练过程完全相同;

8、6)使用npu推理训练量化后的模型,对比npu与pc端推理结果,验证达到无损推理精度量化,最终实现神经网络量化模型在npu上的训练即推理。

9、进一步的,步骤1)的具体步骤如下:

10、1.1)确定典型量化的计算流程,确定量化参数类型,在此基于如下方式选定量化参数;给定浮点类型的输入、权重等数值,可通过如下方式将其转化为8bit量化值:

11、

12、其中s表示量化的scale,qmin与qmax分别表示量化值区域的最大值和最小值,x表示输入浮点值,表示量化后的值;量化值转化为浮点值只需要执行反向操作即可:

13、

14、1.2)以卷积操作为例,将输入数据与权重量化后,使用32bit存储中间结果,与bias相加后,再利用量化公式将其量化为8bit;根据其下一层的量化op,选择输出的数据类型,若下一层为量化op,则直接输出;若下一层为非量化op,则进行反量化操作,转化为浮点值进行输出;

15、1.3)其次,根据不同的深度学习框架,选用合适的量化计算方式;以pytorch为例,其量化对象为conv2d,weight采用对称量化,activation采用非对称量化。

16、进一步的,步骤2)中模型超参数进行设计是根据训练后量化方式得来的量化参数初始化训练量化中的量化参数,选取典型数据,使用与预训练模型进行推理,统计待量化的激活信息;再使用均方误差方式计算最佳的scale。

17、进一步的,步骤3)中在神经网络模型训练阶段引入量化约束,是根据步骤1)的量化方法对算子添加量化约束,根据步骤2)中的方式初始化量化训练参数,对模型进行量化训练,得到量化训练模型。

18、进一步的,步骤4)中对量化后的模型进行正确性验证,是使用未量化模型与量化训练模型推理相同数据,验证推理结果的正确性。

19、进一步的,步骤5)中设计npu计算架构支持低比特量化模型的推理是根据训练量化方式,设计npu内部结构以支持步骤1)中的量化方式。

20、进一步的,步骤6)中验证npu端的量化训练模型推理结果是使用相同数据在npu上进行验证推理,其结果与pc上使用未量化模型进行推理的结果保持一致,实现在npu上的无损推理。

21、本专利技术的优点是:本专利技术提供的一种面向npu计算架构的量化训练无损推理协同设计方法,根据通用模型无精度损失训练量化方法的计算流程,设计npu计算架构,使其支持量化训练模型的推理,达到训练即推理的目的。

本文档来自技高网...

【技术保护点】

1.一种面向NPU计算架构的量化训练无损推理协同设计方法,其特征在于:该方法包括以下步骤:

2.根据权利要求1所述的面向NPU计算架构的量化训练无损推理协同设计方法,其特征在于:所述步骤1)的具体步骤如下:

3.根据权利要求2所述的面向NPU计算架构的量化训练无损推理协同设计方法,其特征在于:所述步骤2)中模型超参数进行设计是根据训练后量化方式得来的量化参数初始化训练量化中的量化参数,选取典型数据,使用与预训练模型进行推理,统计待量化的激活信息;再使用均方误差方式计算最佳的scale。

4.根据权利要求3所述的面向NPU计算架构的量化训练无损推理协同设计方法,其特征在于:所述步骤3)中在神经网络模型训练阶段引入量化约束,是根据步骤1)的量化方法对算子添加量化约束,根据步骤2)中的方式初始化量化训练参数,对模型进行量化训练,得到量化训练模型。

5.根据权利要求4所述的面向NPU计算架构的量化训练无损推理协同设计方法,其特征在于:所述步骤4)中对量化后的模型进行正确性验证,是使用未量化模型与量化训练模型推理相同数据,验证推理结果的正确性

6.根据权利要求5所述的面向NPU计算架构的量化训练无损推理协同设计方法,其特征在于:所述步骤5)中设计NPU计算架构支持低比特量化模型的推理是根据训练量化方式,设计NPU内部结构以支持步骤1)中的量化方式。

7.根据权利要求6所述的面向NPU计算架构的量化训练无损推理协同设计方法,其特征在于:所述步骤6)中验证NPU端的量化训练模型推理结果是使用相同数据在NPU上进行验证推理,其结果与PC上使用未量化模型进行推理的结果保持一致,实现在NPU上的无损推理。

...

【技术特征摘要】

1.一种面向npu计算架构的量化训练无损推理协同设计方法,其特征在于:该方法包括以下步骤:

2.根据权利要求1所述的面向npu计算架构的量化训练无损推理协同设计方法,其特征在于:所述步骤1)的具体步骤如下:

3.根据权利要求2所述的面向npu计算架构的量化训练无损推理协同设计方法,其特征在于:所述步骤2)中模型超参数进行设计是根据训练后量化方式得来的量化参数初始化训练量化中的量化参数,选取典型数据,使用与预训练模型进行推理,统计待量化的激活信息;再使用均方误差方式计算最佳的scale。

4.根据权利要求3所述的面向npu计算架构的量化训练无损推理协同设计方法,其特征在于:所述步骤3)中在神经网络模型训练阶段引入量化约束,是根据步骤1)的量化方法对算子添加量化约束,根据步骤2)中的方式初始化量化训练...

【专利技术属性】
技术研发人员:田泽孙成璐马城城毕瑞星兰栋超周梦涛
申请(专利权)人:西安翔腾微电子科技有限公司
类型:发明
国别省市:

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

1