OpenPPL / ppq

PPL Quantization Tool (PPQ) is a powerful offline neural network quantization tool.
Apache License 2.0
1.58k stars 236 forks source link

为什么量化之后的int8模型比fp32模型参数要多呢? #458

Closed Elasine closed 1 year ago

Elasine commented 1 year ago

量化策略使用了per-channel机制,这个是因为引入的额外计算太多了吗?或者还能从什么方面分析或者角度去降低参数量呢?

ZhangZhiPku commented 1 year ago

如果您是选择的onnx qdq格式导出的模型,需要注意到该格式保存权重时既可以是fp32的,也可以是int8的,您需要使用netron打开模型文件看看是哪一种。如果您选择的模式是fp32,那这个onnx文件不会变小。

而当您真正部署模型时,需要注意onnx文件仅是一个中间文件,它只用来传递网络结构,网络参数以及量化信息。推理框架需要读取这个文件并进一步对其进行优化,并最终生成可执行的二进制文件。不论您采用何种方式保存待量化信息的onnx文件,不论其中权重是fp32还是int8的,推理框架都会将其转换为int8的可执行文件并缩小体积。

Elasine commented 1 year ago

好,感谢,明白啦