一种神经网络模型量化损失评估方法与流程

文档序号:34708845发布日期:2023-07-07 13:22阅读:82来源:国知局
一种神经网络模型量化损失评估方法与流程

本发明涉及量化损失评估、模型量化、神经网络、深度学习领域,尤其涉及一种神经网络模型量化损失评估方法。


背景技术:

1、近年来,深度学习神经网络模型被广泛应用在许多领域,并取得了非常好的效果。同时,神经网络模型参数量和计算量较大,需要较强的计算和存储资源。在模型推理阶段,往往需要对神经网络模型进行剪枝、量化等操作,以便减小资源占用的压力。另外,神经网络模型对模型量化不敏感,模型量化导致的损失在许多情况下较小,因此模型量化得到广泛的使用。虽然,神经网络模型对模型量化不敏感,但不合理的量化方法仍会导致较大的模型量化损失,而有些模型和任务量化难度较大,容易出现大的量化损失。因此,分析量化损失是模型量化的必备操作。目前,对于模型量化损失评估方法研究较少,大多数是比较量化前后模型在测试集上的准确率等指标。在某些没有测试集的场景,或者测试集不方便获取的场景下,难以评判量化损失。另外,缺少对量化损失的度量方法和评估指标,以便客观衡量模型量化损失。


技术实现思路

1、为了解决以上技术问题,本发明提供一种神经网络模型量化损失评估方法。

2、本发明的技术方案是:

3、一种神经网络模型量化损失评估方法,包括:

4、准备并预处理评估数据;

5、量化神经网络模型;

6、构建量化损失评估指标;

7、评估模型单层量化损失;

8、评估模型整体量化损失;

9、量化损失统计和可视化;

10、量化损失分析。

11、进一步的,

12、基于数据类型,准备样本数据,并按照模型训练时数据预处理方式进行数据预处理;

13、在模型量化时,样本数据作为校准数据集,校准激活值阈值;

14、在量化损失评估时,样本数据作为评估数据集,用于评估量化损失。

15、进一步的,

16、训练神经网络模型,并选择合适的量化方法和量化数据类型,对神经网络模型进行量化。

17、进一步的,

18、量化损失评估是评估两个张量的差异,用t1和t2分别表示这两个张量;评估指标选择余弦相似度,要先将张量t1和t2转换为向量v1和v2;另外,为了避免除0的情况出现,设置∈变量,并取值为0.0001;量化损失loss如下:

19、loss=1-similarity(v1-v2)  (1)

20、

21、进一步的,

22、评估模型单层量化损失,针对神经网络中的每一层,进行模拟量化,模拟量化就是对权重和激活值进行量化和反量化,模拟量化公式如下:

23、

24、其中x表示权重或激活值,x_new为模拟量化的权重或激活值,scale表示量化因子,round()表示取整函数,clamp()表示裁剪函数,用于将量化后数据裁剪到目标量化范围;使用模拟量化的权重和激活值进行推理,得到该层的模拟量化输出t1;同时,使用正常的权重和激活值进行推理,得到该层输出为t2;对所有评估样本数据推理,并将所有样本的t1合并为t1_all,所有样本的t2合并为t2_all,将t1_all和t2_all转化成向量,并使用公式(1)计算两者的评估损失lossi,i表示模型第i层。对模型需要量化的每一层重复上述步骤,统计得到各层的量化损失losslayer,n表示模型中需要量化的层数;

25、losslayer={loss1,loss2,…lossn}。

26、进一步的,

27、评估模型整体量化损失,选择评估数据中的一个样本,使用浮点数模型进行推理,得到模型输出t1;然后,使用量化后的模型进行推理,得到模型输出t2,将t1和t2转化成向量,并使用公式(1)计算两者的评估损失lossi,i表示第i个样本;对评估数据中的每个样本重复上述步骤,统计得到各样本的模型整体量化损失lossmodel,m表示评估样本数量;

28、lossmodel={loss1,loss2,…lossm}。

29、进一步的,

30、量化损失统计和可视化,将各层的量化损失losslayer画成直方图,并计算各样本的模型整体量化损失lossmodel的均值、方差和上下四分位数。

31、进一步的,

32、量化损失分析,通过分析各层的量化损失直方图,可以定位到量化损失较高的层,进而进行针对性优化。

33、本发明的有益效果是

34、本发明分别对每层的量化损失和整个模型量化损失进行衡量。基于量化损失结果,通过可视化和统计分析的方式,衡量量化损失对模型性能影响。通过上述方式,可以有效衡量量化对模型性能影响,适用于神经网络模型量化场景。



技术特征:

1.一种神经网络模型量化损失评估方法,其特征在于,

2.根据权利要求1所述的方法,其特征在于,

3.根据权利要求1所述的方法,其特征在于,

4.根据权利要求1所述的方法,其特征在于,

5.根据权利要求1所述的方法,其特征在于,

6.根据权利要求1所述的方法,其特征在于,

7.根据权利要求1所述的方法,其特征在于,

8.根据权利要求1所述的方法,其特征在于,


技术总结
本发明提供一种神经网络模型量化损失评估方法,属于量化损失评估领域,本发明分别对每层的量化损失和整个模型量化损失进行衡量。基于量化损失结果,通过可视化和统计分析的方式,衡量量化损失对模型性能影响。通过上述方式,可以有效衡量量化对模型性能影响,适用于神经网络模型量化场景。

技术研发人员:陈其宾,段强,姜凯,李锐,魏子重
受保护的技术使用者:山东浪潮科学研究院有限公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1