模型量化后推理速度更慢
int8 量化速度更快
- 直接 run
- OS: Ubuntu 20.04
- Python:3.8
- Transformers:
- PyTorch:
- CUDA Support (`python -c "import torch; print(torch.cuda.is_available())"`) :
模型量化后推理速度更慢
int8 量化速度更快
- OS: Ubuntu 20.04
- Python:3.8
- Transformers:
- PyTorch:
- CUDA Support (`python -c "import torch; print(torch.cuda.is_available())"`) :
我做了实验,也是类似的结论
我做了实验,也是类似的结论
感觉像是量化模块功能并没有起作用,我用官方提供的权重能达到和 FP16 相同的速度,但没有加速效果。
因为量化的时候只量化了参数,计算还是在 fp16 做的,如果用 INT8 做计算的话准确性损失会很大
因为量化的时候只量化了参数,计算还是在 fp16 做的,如果用 INT8 做计算的话准确性损失会很大
我理解没错的话,就是还需要实现相应的 int8 量化推理层,fasterformer 框架实现了很多层的量化推理层,如下所示。
为什么性能下降有结果吗?
在chatglm的量化时,遇到了activation outliers问题
因此chatglm-int8的做法是,只对模型参数进行量化,对activation value(可以理解为中间计算)仍然使用fp16精度
这样一来,确实可以节省显存,但推理速度会降低
楼主这个图在哪看的
楼主这个图在哪看的
我自己做的。
这个问题也有可能是推理硬件并没有对int4 int8这些数据类型做优化导致的
在chatglm的量化时,遇到了activation outliers问题
因此chatglm-int8的做法是,只对模型参数进行量化,对activation value(可以理解为中间计算)仍然使用fp16精度
这样一来,确实可以节省显存,但推理速度会降低
如果中间结果使用fp16精度的话,推理速度不应该和之前fp16差不多吗?