术语 · AI

量化

Quantization

用更少的位数存模型的每个参数,比如从 16 位压到 4 位,模型体积缩小到约四分之一,普通电脑也能跑。代价是精度略有损失,压得越狠损失越明显。

每个参数少记几位,模型就小一大截

每个数记得粗一点
用一点精度,换一大截体积
量化把每个参数从 16 位存储压到 8 位或 4 位,相当于把精确的小数四舍五入到少数几个档位。模型体积和内存占用跟着成倍下降,回答质量只是略有损失。

换个角度想

量化像压缩照片:一张 20MB 的原图压成 5MB 的 JPG,放在手机上看几乎没区别,传起来却快得多。可如果硬压到 500KB,就能看出糊和色块了。量化也是这样,适度压缩几乎无感,压过头就会变笨。

16GB 的笔记本,跑得动 8B 模型吗?

  1. 下载页上的 8B 模型

    文件model-fp16 · 16GB

    下载页上的 8B 模型

    文件model-Q4 · 4.9GB

  2. 每个参数 16 位

    保持原样,一位都不省

    每个参数压到 4 位

    只剩 16 个档位,取最接近的那一档

  3. 16GB 内存的笔记本:装不下,加载失败或卡到没法用
    16GB 内存的笔记本:顺利加载,回答流畅
  4. 用不上质量最好,但这台电脑跑不动原版更适合内存充足的服务器
    能用质量略降,日常问答基本感觉不出来别再往 2、3 位压,那时就明显变笨了

多数模型以 16 位(FP16 / BF16)发布,也有的直接用 FP8

什么时候会遇到它

  1. 在自己电脑上跑模型

    本地运行工具里下载的模型大多已经量化好了,所以笔记本也能跑几十亿参数的模型。

  2. 看懂下载页

    FP16 和 BF16 是常见的 16 位原版;FP8 是 8 位,体积减半、质量几乎不变,多用在服务器上;Q4、Q8、GGUF 多见于本地运行工具。数字越小,文件越小。

  3. 省钱部署

    在服务器上部署时,量化后一张显卡就能放下原本要两张卡的模型,能省下不少成本。

想一想

你的笔记本有 16GB 内存,想在本地跑一个 8B 模型。下载页上有 FP16(16GB)、Q8(8.5GB)、Q4(4.9GB)三个版本,该选哪个?

看答案

选 Q8 或 Q4。FP16 版本有 16GB,加上系统和其他软件,16GB 内存根本装不下。Q8 质量几乎没损失,但内存会比较紧张;Q4 最轻快,质量损失也不大,是大多数人的首选。

最容易踩的坑

量化省的是内存和算力,不会让模型变聪明。位数压得太低(2、3 位)时,模型更容易答非所问、算错数。FP8 版本也不一定是压缩过的,有些模型训练时就用 FP8,它本来就是原版。同样是 4 位,不同的量化方法效果也有差别,重要的用途最好拿自己的任务试一试。

⌘K搜索知识库

最近收录

正在载入知识索引…