为什么手机也能跑大模型?INT4/INT8 是什么?
计算机用不同的"精度"来表示数字。精度越高,能表示的数值越多、越精确,但占用的空间也越大。大模型的每个参数都是一个数字——精度决定了存储这些数字需要多少内存。
FP32(32位浮点):每个数占 4 字节,可以表示约 40 亿种不同数值。这是传统训练使用的标准精度。
FP16(16位浮点):每个数占 2 字节,可表示 65,536 种数值。精度够用,体积减半。
INT8(8位整数):每个数占 1 字节,只有 256 种数值。量化的常见选择。
INT4(4位整数):每个数仅半字节,只有 16 种数值。极致压缩。
点击不同精度,观察渐变条的"分辨率"变化。精度越低,色块越粗糙。
量化的核心价值在于三点:体积更小、速度更快、门槛更低。 一个 7B 参数的模型,FP16 需要 14 GB 内存,但量化到 Q4_K_M 只需 4.1 GB——普通笔记本就能运行。
量化的核心思想很简单:把连续的浮点数映射到有限的整数上。这个过程需要两个关键参数——scale(缩放因子)和 zero_point(零点偏移)。
公式很直观:q = round(x / scale) + zero_point
反量化时:x' = (q - zero_point) * scale
其中不可避免地会有误差,但只要 scale 选得好,误差就很小。
观察浮点数(橙色)如何被映射到 INT8 网格(青色)。拖动滑块调整缩放因子。
● 原始浮点值 ■ INT8 量化网格 注意相近的值如何合并到同一个整数
不同量化级别在模型大小和输出质量之间做出不同的取舍。通过困惑度(Perplexity)指标,我们可以精确量化这种取舍。下图展示了各量化级别的性价比——Q6_K 位于帕累托前沿,是质量和体积的最佳平衡点。
研究来自 AtomGradient 的 Apple Silicon LLM 推理基准测试。Y 轴为困惑度增长百分比,越低越好。
"量化让大模型从云端走向口袋——同样的智能,十分之一的体积。"