type
status
date
slug
summary
tags
category
icon
password
URL-TEXT
本文介绍推理的动态量化与静态量化
📝 参数的动态量化和静态量化
动态量化
运行时参与计算
权重量化
在部署之前,对权重进行量化。
- 找到权重的最小值和最大值:
- 计算权重的量化参数(scale 和 zero_point):
其中,quant_min 和 quant_max 是量化范围,对于UINT8,通常为0和255。
- 量化权重:
激活值动态量化
在推理时,对每个输入动态计算激活值的量化参数。
- 获取当前输入激活值的最小值和最大值:
- 计算激活值的量化参数(动态):
- 量化激活值:
量化推理
使用量化的权重和激活值进行推理,计算量化后的输出,后续可在必要时反量化。
权重量化:
激活值动态量化
静态量化
使用校准数据集来预先确定激活值的量化参数。
收集校准数据
计算激活值的量化参数
激活值量化
权重量化
• 与动态量化相同,提前量化权重。
量化推理
数值示例:
激活值静态量化:
注意:
🤗 总结归纳
总结文章的内容
- 动态量化:
- 激活值量化参数:在推理时根据输入数据动态计算。
- 适用场景:快速部署,无需校准数据,但推理时有额外的计算开销。
- 静态量化:
- 激活值量化参数:在部署前通过校准数据预先计算并固定。
- 适用场景:对性能要求高的场景,推理效率更高,但需要额外的校准步骤。
- 作者:木白
- 链接:https://www.xiebaiyuan.top/technology/Quantization_Dynamic_Static
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。