首页  专利技术  电子电路装置的制造及其应用技术

一种降低计算量化参数时显存占用的方法与流程

2026-05-21 14:20:01 498次浏览
一种降低计算量化参数时显存占用的方法与流程

本发明属于神经网络量化,特别涉及一种降低计算量化参数时显存占用的方法。


背景技术:

1、现有技术中,模型量化就是将训练好的深度神经网络的权值,激活值等从高精度转化成低精度的操作过程,例如将32位浮点数转化成8位整型数int8。

2、模型量化的基本公式:

3、r=s(q-z)

4、

5、以上量化公式就是量化与反量化的公式。r和q分别表示量化前的浮点数和量化后的定点数。s和z是两个重要的量化参数scale(步长)和zero point(零点)。要想实现量化与反量化就得求出s和z这两个参数。

6、

7、

8、公式里面的qmax、qmin表示定点数q的数值范围。也表示量化的范围,例如8bit的非对称量化,量化后的数值范围一般就是0~255,即qmax=255,qmin=0。

9、还有两个非常重要的量化参数:rmin、rmax,分别表示浮点数r的数值范围。对于一个常规的神经网络来说,只要知道了每一层特征(feature map)的rmin、rmax,就可以求出s和z,就可以将神经网络的每一层特征进行量化。这个量化每一层的过程简称为量化feature。

10、因为在量化feature的过程中需要统计rmin、rmax,需要大量的校正集来作为统计rmin、rmax的样本,使得rmin、rmax处在一个合适的区间,使得量化更加的精准。对于量化某一个feature时,统计它这一层feature的样本往往是比较大,在实际的过程中,这些统计样本会统一存储在显存中,当统计样本过大时,就会造成显存不足、显存溢出的情况。本文介绍的方法就是减小在这个过程的显存占用。本文所介绍的方法就是一种在统计rmin、rmax的过程中,减少统计过程中的显存占用的方法。

11、下文所提及到的min和max所指代的就是上述公式中的rmin、rmax。

12、现有的降低显存的方法有:

13、1.低精度计算:神经网络计算使用的是32-bit float类型的数,而所谓低精度计算,则是指用更少的比特表示神经网络中的数值,比如,float16或者int8等。

14、2.分段计算:将一个模型分成几个部分来进行计算。从而可以减少显存的使用,但是同样代价就是会使得计算速度变慢。

15、然而,目前现有的计算模型量化参数的方式,一般都是通过模型推理校正集,通过在显存中保存校正集通过模型每一层的输出,再统计模型每一层的输出中的min和max来进行模型的量化。一般情况下,模型的校正集数量越多,计算出来的min和max也会更加的准确,进而提高模型的量化效果。目前存在的问题,当模型的输入的校正集较大时,或模型原本的输入分辨率很大时,在计算min和max时,就会占用更多的显存,导致显存溢出的情况。

16、此外,现有技术中常用技术术语包括:

17、1.模型量化:模型量化就是将训练好的深度神经网络的权值,激活值等从高精度转化成低精度的操作过程。

18、2.量化参数:在定点与浮点等数据之间建立一种数据映射关系时,所产生的一些参数。

19、3.显存:显卡内存。也被叫做帧缓存,显存是用来存储要处理的图形信息的部件。它的作用是用来存储显卡芯片处理过或者即将提取的渲染数据。

20、4.显存占用:处理过或者即将提取的渲染数据占总显存的比重。

21、5.tensor:张量,表示一个多维矩阵。

22、6.min、max:一个张量中存储的浮点值的最小值和最大值。


技术实现思路

1、为了解决上述问题,本申请的目的在于:本方法可以在大批量的校正集下,去获得模型量化的min和max,降低计算过程中的显存占用,减少显存溢出的问题。并且计算出的min和max,基本上不影响量化的效果。

2、具体地,本发明提供一种降低计算量化参数时显存占用的方法,所述方法包括以下步骤:

3、s1,获取一个有精度的网络模型:

4、需要一个有精度的网络模型,使用统计min和max方法进行量化,即求得浮点范围的最大值rmax和最小值rmin,另外量化范围的最大值为qmax和最小值qmin,然后通过尺度s=(rmax-rmin)/(qmax-qmin),z=qmax-rmax/s进行线性映射:q=r/s+z,测试量化前后的一个精度损失,以及在量化过程中使用不同分辨率的校正集进行统计,统计过程中的显存占用情况;

5、s2,分批次输入校正数据集:

6、s2.1,在模型中分批次输入校正集,获取校正集在模型中每一层feature中的输出结果;

7、s2.2,统计每一层feature的min和max,并保存;

8、将校正数据集输入所述网络模型中进行推理,当校正集被推理到统计量化的min和max的层时,使用量化策略求出校正集在当前层的输出结果,再对输出的结果进行min和max统计工作;

9、s2.3,在每一批次校正输集之后都进行一次min和max的统计工作,统计结束后,就将显存中保存的模型推理当前批次的中间层进行删除,只保留当前统计出来的min和max;

10、s2.4,依次迭代更新模型的min和max,即,当下一批次的校正集在计算完min和max之后,根据统计出来的min和max与上一次批次保存的min和max的实际情况对min和max进行迭代;

11、s3,获取到最终的min、max作为量化参数。

12、所述步骤s3通过滑动平均迭代量化参数的方法,即使用滑动平均的方式更新min和max:

13、将当前批次统计出来的min_n和max_n,与上一个批次更新后的min_o和max_o进行比较将4个数min_n和min_o,max_n和max_o中的最大和最小值乘上一个的系数,再加上4个数值中的其他两个数值乘上l,将所得出来的min和max进行保存:

14、这里两个系数的对应关系

15、

16、其中,min_o,max_o代表上一批次的最小最大值,min_n,max_n代表当前批次的最大最小值,和均为小于1的系数,且相加为1,分别代表前一次保留*100%,当前保留*100%。

17、由此,本申请的优势在于:本方法简单,通过一种计算量化参数时减少显存占用的方法。通过分批次统计模型量化参数,每一个批次都计算量化参数并通过滑动平均迭代量化参数的方法,来减少计算量化参数中的显存占用。



技术特征:

1.一种降低计算量化参数时显存占用的方法,其特征在于,所述方法包括以下步骤:

2.根据权利要求1所述的一种降低计算量化参数时显存占用的方法,其特征在于,所述步骤s3通过滑动平均迭代量化参数的方法,即使用滑动平均的方式更新min和max:


技术总结
本发明提供一种降低计算量化参数时显存占用的方法,包括:S1,获取一个有精度的网络模型;S2,分批次输入校正数据集,通过分批次统计模型量化参数,每一个批次都计算量化参数并采用滑动平均迭代量化参数的方法;S3,获取到最终的min、max作为量化参数。本方法减少计算量化参数中的显存占用。

技术研发人员:余慧
受保护的技术使用者:北京君正集成电路股份有限公司
技术研发日:
技术公布日:2024/11/28
文档序号 : 【 40163708 】

技术研发人员:余慧
技术所有人:北京君正集成电路股份有限公司

备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除
余慧北京君正集成电路股份有限公司
分段递减单井商业油流标准图版建立方法、系统及设备与流程 一种气液计量测试标定系统及计量应用方法与流程
相关内容