
量化在做什么
模型参数原本是十六位浮点数,量化把它压成八位或四位的整数,体积和显存占用随之下降。
七亿参数的小模型,半精度要十几 G,四比特只要四五 G。这个差别决定了你能不能在一张消费级卡上跑。
代价是精度。原本细微的数值差异被抹平,模型在某些需要精细判断的地方会变差。
量化方法有很多种,效果差别不小。同样是四比特,有的几乎无损,有的明显掉点。
看量化版本时注意两件事:用的什么方法、校准数据是什么。校准数据和你的任务差太远,掉点会更明显。

掉在哪几类任务
长文推理。需要跨段落比较多处细节时,量化模型的遗漏明显增多。
代码生成。语法错误率上升,尤其是复杂结构。
数学与精确计算。本来就不擅长,量化后更不稳。
日常问答、分类、摘要,掉得不明显。这几类任务对数值精度不敏感,量化后基本可用。
分类任务尤其稳,因为最终只取一个类别,中间的小数误差很难改变结果。
怎么测才靠谱
别信通用结论。同一套量化方案,在不同模型、不同任务上表现差别很大。
准备三十到五十道你自己的题,覆盖你最常做的任务。同一批题,跑一遍原始模型,跑一遍量化模型,对比正确率。
重点看“错得离谱”的比例。有些量化模型不是整体变差,是在少数样本上完全崩掉,这种更危险。
跑三次取平均。单次结果受随机性影响,差异可能比量化本身还大。
测的时候把温度调到最低,减少随机性干扰。

什么时候可以用
数据不能出内网,又没有预算买大卡,量化是唯一选择。这时候讨论的不是要不要,是选哪种方案。
任务单一、输出格式固定、有人工复核,量化模型够用。
反过来,任务是长文档分析、复杂代码、需要精确数字的,别用量化模型顶。省下的硬件钱,会以返工的形式还回去。

常见问题
量化后还能微调吗?
能,但效果通常不如在原始精度上微调。常见做法是先微调再量化。
八比特和四比特差多少?
八比特通常接近无损,四比特在复杂任务上有可见差距。显存够就上八比特。
为什么同一个模型,不同量化版本效果差很多?
量化方法、校准数据、分组粒度都不同。下载时说清楚是用什么方法量化的。


