资讯

模型量化是什么?用更少的比特表示参数,让模型变小变快

2026-11-053 分钟阅读百科
TL;DR模型量化是把神经网络的权重和激活从高精度(如 32 位或 16 位浮点数)转换成低精度(如 8 位、4 位整数)表示的技术,能显著减小模型体积和内存占用、加快推理速度,是在消费级显卡和手机上运行大模型的关键手段。

模型量化(Model Quantization)是一种减小神经网络模型大小和内存占用的技术,它可以降低深度神经网络对内存和计算的需求。最常见的是权重量化:把神经网络的权重,以及有时还包括激活值,从高精度的数值格式,转换成低精度的格式表示。

它是怎么做到的

神经网络中的每一个参数都是一个数字。训练时,这些数字通常用 32 位浮点数(FP32)或 16 位浮点数(FP16、BF16)来存储,每个数占 4 个或 2 个字节。量化就是用更少的比特来表示这些数字,比如 8 位整数(INT8)或 4 位整数(INT4),每个数只占 1 个字节甚至半个字节。

直观地理解:高精度的数可以表示非常精细的数值,比如 0.123456;量化后,只能用有限的几个“刻度”来近似表示,比如 8 位整数只有 256 个不同的值。量化的过程,就是确定一个合适的缩放比例和零点,把原来连续的浮点数映射到这有限的几个刻度上。比如把 -1 到 1 之间的数,均匀地映射到 -128 到 127 这 256 个整数上。这样必然会损失一些精度,关键是如何让这种损失对模型效果的影响尽可能小。

为什么量化很重要

模型变小:一个 70 亿参数的模型,用 16 位存储需要约 14GB,量化到 4 位后只需要约 4GB,一张普通的消费级显卡甚至一台笔记本电脑就能装下。速度更快:大模型推理的瓶颈常常在于从内存中读取参数,数据量变小,读取就更快;很多硬件对整数运算也有专门的加速。成本更低、更省电:同样的硬件可以服务更多的用户,更适合部署在手机、边缘设备上。正是有了量化技术,普通人才能在自己的电脑上运行开源的大模型。

两种主要方式

训练后量化(PTQ):在模型训练完成之后,直接对它进行量化,不需要重新训练,简单快捷,通常只需要少量的校准数据。对于大语言模型,研究者开发了多种专门的训练后量化方法,比如 GPTQ、AWQ 等,能把模型量化到 4 位而损失很小。量化感知训练(QAT):在训练过程中就模拟量化的效果,让模型提前适应低精度,量化后的效果通常更好,但需要额外的训练成本。

注意事项

量化的位数越低,模型越小越快,但效果损失通常也越大:8 位量化往往几乎没有损失,4 位量化通常也能保持不错的效果,再往下到 3 位、2 位,效果就可能明显下降。大模型中少数数值特别大的“异常值”是量化的难点,需要专门的处理。社区中常见的 GGUF 格式模型,以及“Q4”“Q8”等标识,指的就是不同的量化版本。如今,一些模型甚至直接用 FP8 或更低的精度进行训练,量化正从部署阶段延伸到训练阶段。