神经网络模型量化技术详解:从基础概念到实践应用
创作时间:
作者:
@小白创作中心
神经网络模型量化技术详解:从基础概念到实践应用
引用
CSDN
1.
https://blog.csdn.net/qq_37424778/article/details/139854969
模型量化是深度学习中一种优化技术,旨在减少模型的计算和存储需求,同时尽量保持模型的性能。具体来说,模型量化通过将模型的权重和激活值从高精度(通常是32位浮点数)缩减到较低精度(如16位、8位甚至更低的整数),从而减少计算复杂度和内存占用。
模型量化具有以下优点:
- 减少存储需求:低精度表示可以显著减少模型的存储空间。
- 加速推理速度:低精度计算通常比高精度计算更快,特别是在支持低精度运算的硬件上。
- 降低功耗:减少计算复杂度和内存访问次数,可以降低功耗,这对于移动和嵌入式设备尤为重要。
模型量化方法分类
按量化参数分类
- 动态量化:在模型推理时对部分权重和激活值进行量化。具体来说,模型的权重在推理前保持为浮点数,在推理时将其动态转换为低精度(如8位整数)进行计算。激活值在推理过程中也会动态地从浮点数转换为低精度值。
- 静态量化:目标是求取量化比例因子,主要通过对称量化、非对称量化方式来求,而找到最大值或阈值的方法有MinMax、KLD、ADMM、EQ等方法。
按量化时间分类
- 训练后量化(PTQ):在模型训练完成后进行量化,不需要重新训练模型。KL散度方法:通过计算原Float32与量化后的参数分布,得到最优。
- 量化感知训练(QAT):是一种在模型训练过程中引入量化操作的技术。通过在训练阶段模拟量化误差,模型能够学习并适应量化带来的精度损失,从而在量化后依然保持较高的准确性。
QAT与PTQ区别
- 训练中量化:QAT,精度高,复杂;训练后量化:PTQ,精度略低,简单。
- 训练后量化 PTQ:它是使用一批校准数据对训练好的模型进行校准, 将训练过的FP32网络直接转换为定点计算的网络,过程中无需对原始模型进行任何训练。只对几个超参数调整就可完成量化过程, 且过程简单快速, 无需训练, 因此此方法已被广泛应用于大量的端侧和云侧部署场景, 优先推荐您尝试PTQ方法来查看是否满足您的部署精度和性能要求 。
- 量化感知训练 QAT:它是将训练过的模型量化后又再进行重训练。由于定点数值无法用于反向梯度计算,实际操作过程是在某些op前插入伪量化节点(fake quantization nodes), 用于在训练时获取流经该op的数据的截断值,便于在部署量化模型时对节点进行量化时使用。我们需要在训练中通过不断优化精度来获取最佳的量化参数。由于它需要对模型进行训练, 对操作人员技术要求较高。
QAT/PTQ量化与静态/动态量化的区别
PTQ(Post-Training Quantization,训练后量化)和QAT(Quantization-Aware Training,量化感知训练)主要是量化方法,而静态量化和动态量化是量化策略。
训练后量化(PTQ)
- 静态量化:PTQ可以用于静态量化,即在量化时使用一组校准数据来确定量化参数(如缩放因子和零点),并在推理时使用这些预先计算的量化参数。
- 动态量化:PTQ也可以用于动态量化,即在推理时根据输入数据动态地确定量化参数。这种方法通常用于激活值的量化,而权重通常在量化后保持静态。
量化感知训练(QAT)
- 静态量化:QAT通常用于静态量化,即在训练过程中模拟量化误差,并在训练完成后使用固定的量化参数进行推理。由于模型已经适应了这些量化参数,推理时可以直接使用预先计算的量化参数,达到高效推理的效果。
- 动态量化:QAT一般不用于动态量化,因为动态量化主要是在推理时动态确定量化参数,而QAT的核心在于训练过程中模拟和适应量化误差。
总结
- PTQ:可以用于静态量化和动态量化。静态量化使用预先计算的量化参数,动态量化在推理时动态确定量化参数。
- QAT:主要用于静态量化,通过在训练过程中模拟量化误差,使模型适应固定的量化参数,从而在推理时达到高效和高精度的效果。
详细可参考下面资料进行深入学习:
GitHub - openppl-public/ppq: PPL Quantization Tool (PPQ) is a powerful offline neural network quantization tool.
深度学习之模型优化—理论实践篇(搞定模型剪枝量化蒸馏神经网络搜索,这一门课就够了)_哔哩哔哩_bilibili
热门推荐
《越整理,越轻松》:拥有怦然心动的人生
如何评估企业的工作环境和职业发展机会?这些因素如何影响职业选择?
红景天的用途和功效
中医怎么解释鼻塞的原因
债市调整、产品承压,机构如何应对?
湖南新化特产,新化有哪些特色小吃
鸡公煲:味蕾上的温馨记忆,中华美食中的璀璨明珠
小区绿化对居住的影响及好处
绿色开学季!环保攻略在手,秒变环保小达人
Redis的zset底层数据结构详解:你真的懂了吗?
优化营商环境大家谈|与河北七成专精特新“小巨人”企业交朋友
吉他新手必看!1000元入门吉他/进阶吉他推荐,选购攻略来啦!建议收藏
物业费有发票吗?如何维护自身权益?
《焕新》,揭秘刘永好和新希望的40年
玉米须泡水真的能降尿酸?科学解析其功效与使用建议
智慧跑道陪伴每一步科学健身
鲁迅论文学:25句关于文学艺术与社会现实的思考
红浩克和绿浩克的区别
避免跑步过量:你的最佳跑量是多少?
数据恢复:全面解析与进阶指南
热播剧以“画眼”开场,揭秘《清明上河图》中的开封虹桥
律师:专业债务纠纷解决之道
王者荣耀杨玉环攻略:铭文出装搭配与实战技巧详解
人类的基因决定人类的未来吗?
首个“世界非遗版”春节怎么过?这些活动为你安排
坏账准备的账务处理怎么做?
高职高考3+证书是什么?一文读懂广东中职生升学路径
一吃油腻的就拉肚子?原因及治疗方法全解析
MySQL事务原理深度剖析:MVCC与Read View机制详解
军校和警校有什么区别?哪个好?看2025军校警校的报考条件