大模型与深度学习
模型量化
量化
Float 转 int 的过程就是量化,在这个转换过程中想办法尽量减少量化后的模型的误差
为什么需要量化?
想象你有一张图片,但是你手机内存不够了,那怎么办,只有两个办法,要么压缩图像大小,要么压缩像素点数量。量化就是在确保还能正常认出这张图片内容的前提,尽可能减少所需的资源消耗。



量化后,可以看到随着量化精度的不同,高精度颜色值压到低精度整数呈现出的效果 也会相应不同。
优势:
减少模型存储空间和显存占用
减少显存和tensorcore之间的数据传输量,加快推理时间
显卡对整数运算快于浮点数,加快推理速度
量化不能直接去掉后面浮点位,因为使用时,还是需要浮点位,需要整转浮点,这就需要策略,
存在问题,有异常值会造成一部分被舍弃,以及多个浮点数值被量化为同一个整数值。
训练后动态量化问题:每一次推理每一层都要对输入统计量量化参数,耗时
每一层计算完都转换为fp32,存入显存,占用显存带宽。