大模型量化,简单来说,就是给模型“减肥”和“提速”。它通过降低模型参数的数值精度(比如从32位浮点数降到8位整数),来显著减少模型对存储空间和计算能力的需求,同时尽可能保持其原有的性能。在大模型时代,量化已成为部署模型的核心技术之一,尤其是在资源受限的设备(如手机、边缘设备)上。
量化本质是将浮点数(通常为FP32)映射到低比特整数(如INT8、INT4)的过程,其基本公式为:
$$ Q = round \left(\frac {W - zero\_point} {scale} \right)^2 $$
其中,W 是原始浮点权重,scale(缩放因子)和 zero_point(零点)决定了映射的范围。量化后,矩阵乘法可由整数运算完成,大幅提升速度并减少显存占用(FP32转INT8理论可减少75%大小)。
现代大语言模型(LLMs)的参数量动辄数百亿甚至上千亿。以GPT-3为例,其175B参数在16位精度下就需要约350GB的显存才能加载,这对硬件是巨大的挑战。量化的目标就是直接解决这个痛点:
减少存储:模型体积可压缩至原来的1/4甚至更小。
加速推理:低精度计算更快,推理速度可提升2-4倍。
降低能耗:减少计算所需的能源消耗。
根据量化的介入时机,主要分为两大流派:
训练后量化 (Post-Training Quantization, PTQ):这是最主流、最便捷的方式。它直接在已训练好的模型上应用量化,无需重新训练。优点是速度快、成本低,适合计算资源有限的场景。缺点是可能带来1-3%的精度损失,尤其是在低比特(如4-bit)时。
量化感知训练 (Quantization-Aware Training, QAT):这是一种更精细的方法。它在模型训练或微调的过程中就模拟量化效果(“伪量化”),让模型提前适应精度降低带来的影响,从而在最终量化时最大程度地恢复精度。QAT是追求极致精度时的选择。
选型建议:对于大模型,PTQ(如GPTQ、AWQ算法)因其零训练成本更受欢迎;若精度不达标,再考虑对关键层做QAT微调。