模型量化(Quantization)
AI TERM术语词条Model Quantization
术语释义
把模型参数从高精度浮点转换为低位宽表示,显存占用与带宽需求成倍下降、精度损失可控,是让大模型从云端走向单机与端侧的关键部署技术。
模型量化(Quantization)是把模型参数与计算从高精度浮点转换为低精度表示的技术,例如从 32 位浮点压到 8 位或 4 位整数。它是部署环节最实用的压缩手段:显存占用与带宽需求成倍下降,让原本只能跑在服务器集群上的模型有机会落到单机、笔记本甚至手机端。
为什么量化有效
神经网络的权重与激活值分布通常比较集中,对少量数值误差并不敏感。量化正是利用这种冗余:用有限的离散刻度去近似原本连续的数值,并记录缩放因子(scale)以便还原。精度越低,数值表示越粗糙,但显存占用与计算量也随之成倍下降,这就是量化能换取部署可行性的原因。
精度与资源对比
- FP32:每个参数占 32 位,精度最高、占用最大,多用于训练。
- FP16 / BF16:位宽减半,显存与带宽需求约为 FP32 的一半,是常见的推理与混合精度训练格式。
- INT8:8 位整数表示,显存进一步减半,精度损失通常较小。
- INT4:4 位整数表示,显存约为 FP32 的八分之一,是消费级硬件运行大模型的关键。
- 直观差别:以 70B 级模型为例,FP32 约需 280GB 显存,FP16 约 140GB,INT8 约 70GB,INT4 约 35GB。
主流方法
- GPTQ:训练后量化,逐层用校准数据最小化量化误差,适合离线把模型压到低位宽。
- AWQ:激活感知的权重量化,重点保护对输出影响大的权重通道。
- GGUF:面向本地推理的格式,对 CPU 与混合推理友好,便于在个人设备上加载运行。
- bitsandbytes:与主流训练框架集成,同时支持推理与低比特微调。
- NF4:4 位正态浮点表示,是低位宽微调方案常用的数值格式。
典型落地场景
- 单机跑大模型:一张 24GB 显存的消费级旗舰显卡,配合 4 位量化即可承载 70B 级模型。
- 笔记本本地推理:中等规模模型量化后可在笔记本的内存条件下运行,适合隐私敏感场景。
- 移动端:手机 NPU 上运行的通常是 7B 级小模型,用低位宽换取内存与功耗的平衡。
- 成本敏感服务:在同等硬件上部署量化模型,可以显著提高单卡并发与吞吐。
实践要点
- 先明确目标硬件:设备支持的位宽与算子决定可选方案,并非所有低位宽都能真正提速。
- 准备校准集:训练后量化需要一批有代表性的数据来统计数值分布。
- 分任务评估:量化对生成、长文本推理等任务的损伤程度不同,要按业务场景复测。
- 权重与激活分开考虑:只量化权重实现简单,同时量化激活收益更大但难度更高。
- 实测端到端延迟:反量化与格式转换会带来额外计算,收益必须用真实请求测出来。
常见误区
- 「量化必然掉点」:合理设置下低位宽的精度损失通常很小,关键在于校准与位宽选择。
- 「位宽越低越好」:过低的位宽在复杂推理任务上退化明显,需要按场景取舍。
- 把量化当成训练加速:它主要服务于推理与部署,训练中的低精度更多属于混合精度策略。
- 忽略显存之外的限制:上下文长度、批大小与框架实现同样决定模型能否真正跑起来。