什么是模型量化?为什么大模型能压进你的显卡
同一个模型为什么有 Q4、Q8 好多版本?量化是什么、为什么能大幅省显存、会不会变笨、本地跑该选哪个量化档,一文用大白话讲清。
想在自己电脑上跑开源大模型的人,都会撞见一堆看不懂的后缀:同一个模型有 Q4、Q5、Q8、FP16 好多版本,体积从几个 G 到几十个 G 不等。这背后就是量化(Quantization)——一项让大模型能塞进普通显卡的关键技术。这篇用大白话讲清它是什么、为什么省、以及会不会让模型变笨。
先搞懂:模型为什么那么占空间
大模型由海量参数组成,每个参数就是一个数字。原始模型里,每个数字用 16 位(FP16) 来存储——精度高,但也重。
一个 7B(70 亿参数)模型,光参数就有 70 亿个数字,每个占 2 字节,光加载就要约 14GB 显存——普通游戏显卡直接劝退。参数越多越夸张,70B 的原始版本个人根本跑不动。
量化是什么:给数字”减位数”
量化的思路特别直观:把每个参数用更少的位数来存。
- 原始:每个参数 16 位(FP16)
- 量化后:压到 8 位(Q8)、4 位(Q4),甚至更低
位数减半,体积和显存占用也大致减半。同样那个 7B 模型:
| 精度 | 大致体积 | 能不能本地跑 |
|---|---|---|
| FP16(原始) | ~14GB | 需高端显卡 |
| Q8 | ~7GB | 中高端可跑 |
| Q4 | ~4GB | 主流显卡就行 |
一个绝佳的类比:量化就像把无损音乐压成 MP3,或把高清大图存成压缩图——体积小了一大截,但听感/观感的损失,多数场景下你几乎察觉不到。
会不会变笨?看你压到多狠
天下没有免费的午餐,减位数必然带来精度损失,问题是损失多大:
- Q8 / Q5:损失极小,日常几乎感觉不出差别,性价比很高
- Q4:损失轻微,是本地部署最常用的甜点档,体积和质量平衡得最好
- Q3 及以下:压得太狠,模型开始明显变”笨”、更容易胡说,一般不推荐
所以你会看到 Q4_K_M 这类命名最流行——它在「够小」和「够聪明」之间找到了大多数人满意的平衡点。
量化 vs 参数量:别搞混
两者都影响模型大小和硬件门槛,但是两回事:
- 参数量(7B/70B):模型有多少个”旋钮”——决定聪明的上限
- 量化(Q4/Q8):每个旋钮用多少位来存——决定同一个模型占多大、跑多快
一个实用结论:与其用一个高精度的小模型,不如用一个适度量化的大模型——比如同样占 8G 显存,一个 Q4 的 13B 往往比 FP16 的 7B 更能打。这也是为什么本地玩家都爱用量化版。
本地部署怎么选量化档
给个省心的经验:
- 显存充裕:选 Q8 或 Q5,质量几乎无损
- 显存吃紧(主流游戏卡):选 Q4(如 Q4_K_M),甜点档,闭眼入
- 显存非常有限:可以试 Q3,但要接受它会变笨一些
- 配合 MoE 架构的模型时还要注意:量化省的是存储,但所有专家仍要装进显存
主流的本地推理工具(如 llama.cpp、Ollama 等)都内置了各种量化版本,直接下带 Q4、Q8 后缀的文件即可。
小结
量化的本质,是用更少的位数存储模型参数——就像把无损音乐压成 MP3,体积和显存大幅下降,而质量损失在 Q4/Q8 这些常用档位上小到可以接受。正是量化,让原本要专业显卡的大模型,能塞进普通人的游戏电脑。记住选型口诀:显存够就 Q5/Q8,显存紧就 Q4,别压太狠。想把本地大模型这套彻底搞明白,可再读什么是参数量和什么是混合专家 MoE;想在量化后的模型上做定制,还要了解 LoRA 轻量微调——两者搭配就是常说的 QLoRA。