模型量化

为什么手机也能跑大模型?INT4/INT8 是什么?

量化 GGUF INT4/INT8
阅读时间 约 10 分钟
Chapter 01

什么是精度?

计算机用不同的"精度"来表示数字。精度越高,能表示的数值越多、越精确,但占用的空间也越大。大模型的每个参数都是一个数字——精度决定了存储这些数字需要多少内存。

FP32(32位浮点):每个数占 4 字节,可以表示约 40 亿种不同数值。这是传统训练使用的标准精度。

FP16(16位浮点):每个数占 2 字节,可表示 65,536 种数值。精度够用,体积减半。

INT8(8位整数):每个数占 1 字节,只有 256 种数值。量化的常见选择。

INT4(4位整数):每个数仅半字节,只有 16 种数值。极致压缩。

交互演示 — 精度对比

点击不同精度,观察渐变条的"分辨率"变化。精度越低,色块越粗糙。

256 个色阶 4 bytes / 参数
精度就像图片分辨率——FP32 是 4K,INT4 是缩略图。大部分时候缩略图就够用了。
Chapter 02

为什么要量化?

量化的核心价值在于三点:体积更小速度更快门槛更低。 一个 7B 参数的模型,FP16 需要 14 GB 内存,但量化到 Q4_K_M 只需 4.1 GB——普通笔记本就能运行。

交互演示 — GGUF 量化级别对比 (7B 模型)
量化就像 MP3 压缩——去掉人耳听不出的细节,文件小了 10 倍,但听起来差不多。
Chapter 03

量化原理

量化的核心思想很简单:把连续的浮点数映射到有限的整数上。这个过程需要两个关键参数——scale(缩放因子)和 zero_point(零点偏移)。

公式很直观:q = round(x / scale) + zero_point

反量化时:x' = (q - zero_point) * scale

其中不可避免地会有误差,但只要 scale 选得好,误差就很小。

交互演示 — 浮点 → 整数映射

观察浮点数(橙色)如何被映射到 INT8 网格(青色)。拖动滑块调整缩放因子。

1.00

原始浮点值    INT8 量化网格    注意相近的值如何合并到同一个整数

量化就像把精确到厘米的身高四舍五入到最近的 5 厘米——170.3cm → 170cm,几乎没区别。
Chapter 04

质量 vs 大小权衡

不同量化级别在模型大小和输出质量之间做出不同的取舍。通过困惑度(Perplexity)指标,我们可以精确量化这种取舍。下图展示了各量化级别的性价比——Q6_K 位于帕累托前沿,是质量和体积的最佳平衡点。

交互演示 — 质量-大小散点图

研究来自 AtomGradient 的 Apple Silicon LLM 推理基准测试。Y 轴为困惑度增长百分比,越低越好。

选择量化级别就像选座位——头等舱(FP16)最舒适但最贵,经济舱(Q4_K_M)性价比最高。
Chapter 05

总结

🎯
精度是关键
从 FP32 到 INT4,精度每降一级,模型体积几乎减半。理解精度是理解量化的基础。
Q4_K_M 是甜蜜点
对于大多数应用场景,Q4_K_M 在大小、速度和质量之间取得了最佳平衡,体积仅为 FP16 的 30%。
🏆
Q6_K 是帕累托最优
如果你追求更高质量且内存允许,Q6_K 在质量损失极小的前提下实现了显著的压缩。
📱
让 AI 触手可及
量化让曾经需要服务器集群运行的大模型能在笔记本甚至手机上流畅运行。

"量化让大模型从云端走向口袋——同样的智能,十分之一的体积。"

在 AtomGradient 计算器中查看你的设备能跑什么模型 → 下一篇:推理 vs 训练 →