[发明专利]一种神经网络的4比特量化方法及系统在审
申请号: | 202010589233.5 | 申请日: | 2020-06-24 |
公开(公告)号: | CN111882058A | 公开(公告)日: | 2020-11-03 |
发明(设计)人: | 王曦辉 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06N3/08 | 分类号: | G06N3/08;G06N3/04 |
代理公司: | 济南诚智商标专利事务所有限公司 37105 | 代理人: | 王申雨 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 神经网络 比特 量化 方法 系统 | ||
本申请公开了一种神经网络的4比特量化方法及系统,该方法包括:加载神经网络的预训练模型;在预训练模型中,统计各饱和激活层satRelu的初始值;在神经网络中添加伪量化节点,并利用satRelu的初始值进行神经网络的重训练,获取伪量化模型;判断伪量化模型的精度是否收敛到设定的精度;如果是,对伪量化模型进行推理前处理,转换为可用于推理运算的4比特的推理模型;否则返回进行神经网络的重训练。该系统主要包括:加载模块、统计模块、重训练模块、判断模块和转换模块。通过本申请,能够在确保训练结果准确性的基础上,有效提高训练效率。
技术领域
本申请涉及神经网络模型压缩技术领域,特别是涉及一种神经网络的4比特量化方法及系统。
背景技术
在神经网络中,Neural Network模型一般会占用很大的磁盘空间,比如AlexNet的模型文件超过了200MB。模型包含了数百万的参数,绝大部分的磁盘空间都用于存储模型参数。由于模型参数是浮点数类型的,普通的压缩算法很难压缩其空间,因此,引入模型量化,通过减少表示每个权重所需的比特数来压缩原始网络,能够大大提高网络的运行速度。因此,如何对神经网络进行量化是个重要的技术问题。
目前神经网络量化的主流方法是8bit量化,大多数训练和推理框架都支持8比特量化。然而相比于8比特量化,4比特量化可以在8比特的基础上将模型的体积继续压缩1倍,运行速度提升50%。因此,4比特量化也逐渐引起人们重视。
目前的4比特量化算法通常是从头开始训练一个网络,直到整个网络训练完毕,以imagenet这种大型数据集一般需要训练100个以上的周期数才能训练完毕。且采用非线性量化的方式提升模型精度。
然而,目前的4比特量化算法中,由于量化周期数较多,训练时间较长,使得量化效率较低。
发明内容
本申请提供了一种神经网络的4比特量化方法及系统,以解决现有技术中的神经网络量化方法量化效率较低的问题。
为了解决上述技术问题,本申请实施例公开了如下技术方案:
一种神经网络的4比特量化方法,所述方法包括:
加载神经网络的预训练模型;
在所述预训练模型中,统计各饱和激活层satRelu的初始值;
在所述神经网络中添加伪量化节点,并利用satRelu的初始值进行神经网络的重训练,获取伪量化模型;
判断所述伪量化模型的精度是否收敛到设定的精度;
如果是,对所述伪量化模型进行推理前处理,转换为可用于推理运算的4比特的推理模型,所述推理前处理过程包括:常量折叠、二次量化以及激活等价变换;
如果否,继续进行神经网络的重训练。
可选地,在所述预训练模型中,统计各饱和激活层satRelu的初始值的方法,包括:
将所述神经网络中所有的激活层relu替换为饱和激活层satRelu;
根据所获取的命令,获取各饱和激活层satRelu的激活值;
根据所述激活值,利用直方图统计分布数据;
选取所述直方图中位于99.999%点位的激活值作为饱和激活层satRelu中参数max的初始值,其中,satRelu定义为:
且反向传播中,satRelu对于参数max的梯度为:satRelu对于输入x的梯度为max为饱和激活层satRelu的最大值。
可选地,在神经网络重训练过程中,采用L2正则化的方法对参数max进行压缩。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010589233.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种轮胎分解机
- 下一篇:一种基因序列优化方法、装置、设备及介质