GGUF 量化怎么选:Q3 / Q4 / Q6 / Q8 的质量与体积取舍
下载页上的一串后缀,劝退了很多人
打开任何一个本地模型的下载页,都会看到 q4_k_m、q6_k、iq4_xs 这样的后缀。选高了,显存放不下;选低了,输出质量肉眼可见地下降。量化档位的选择,直接决定你的显卡是在白白装体积,还是在承受质量损失。这篇文章把 GGUF 量化讲透:文件名怎么读、各档差多少、怎么按显存做决策。
量化的直觉:训练要精度,推理要"够准"
模型权重默认以 FP16/BF16 存储,每个参数 2 字节。量化做的事,是把权重压缩到 4-8 bit——体积降到原来的 1/4 到 1/2,代价是每个参数引入一点点误差。关键在于:训练时误差会累积,所以训练必须高精度;推理时误差彼此抵消,4 bit 的"够准"通常就够用。量化技术的分类与原理,见量化词条。
对绝大多数日常任务(对话、写作、翻译、总结),Q6/Q8 与原版的差异几乎测不出来;Q4 档开始能被仔细的对比测出,但多数人日常感知不到。举个直观的数:14B 模型的 FP16 权重约 28GB,Q4 量化后约 8.4GB——同一张 16G 显卡,前者完全放不下,后者装完还有富余开长上下文。这就是量化被称为大模型"进消费级硬件的门票"的原因。
GGUF 文件名怎么读
以 qwen3-14b-instruct-q4_k_m.gguf 为例,从左到右:
- qwen3-14b-instruct:模型家族、参数量、用途(instruct = 对话指令版)
- q4:量化到 4 bit
- k_m:k-quants 方案的 M(medium)档,同 bit 下的平衡选择
补充两个常见标记:K_S / K_M / K_L 是同 bit 下的三档(S 更小更糙,L 更大更精,M 居中);IQ 前缀(如 iq4_xs)是更新的 i-quants 方案,在更低 bit 下尽量保质量,属于极限压榨场景的选择。GGUF 格式本身是什么,GGUF 词条有完整解释。
再练一个蒸馏模型的例子:deepseek-r1-distill-qwen-14b-q4_k_m.gguf,按同样的顺序拆,就是"DeepSeek-R1 的 Qwen-14B 蒸馏版,Q4_K_M 量化"。这套命名规则在各下载站通用,读熟之后,任何模型文件看一眼文件名就知道该不该下载。
档位对照表
以每 1B 参数的体积为基准(14B 作实际示例):
| 档位 | 每 1B 参数 | 14B 实际体积 | 质量 | 适合 |
|---|---|---|---|---|
| Q3_K_M | 约 0.5 GB | 约 7 GB | 有可感知损失 | 显存极限压榨 |
| Q4_K_M | 约 0.6 GB | 约 8.4 GB | 社区默认平衡点 | 绝大多数人 |
| Q5_K_M | 约 0.7 GB | 约 9.8 GB | 介于 Q4 与 Q6 之间 | 略有富余 |
| Q6_K | 约 0.8 GB | 约 11.2 GB | 与原版差异极小 | 显存富余 |
| Q8_0 | 约 1.0 GB | 约 14.8 GB | 近乎无损 | 极致质量/二次加工 |
为什么社区默认总是 Q4_K_M?因为它卡在质量悬崖的安全侧:再往下(Q3 及以下)开始出现可感知的退化,再往上(Q5/Q6)每 1B 参数要多付 0.1-0.2GB,收益却很小。
按显存三档决策
用 GPU 检测与模型推荐工具确认可用显存后,按三种情况对号入座:
- 显存富余(权重 ≤ 显存的 60%):上 Q6_K 甚至 Q8_0,白拿的质量提升
- 刚好装下:Q4_K_M,并控制上下文长度,给 KV Cache 留出空间
- 装不下:优先换更小的参数量,而不是降到 Q3 以下。经验参考:大参数低量化通常强于小参数高量化,但这个经验只在 Q4 附近成立——Q2/Q3 的"大模型",实际表现往往不如 Q8 的小模型可靠
落到具体硬件上感受一下:8G 卡基本都在"刚好"档,跑 7B Q4_K_M(4.2GB 权重)留足了余量;16G 卡可以给 14B 上 Q5/Q6(9.8-11.2GB);24G 卡跑 32B 时 Q4_K_M(19.2GB,占八成)就是典型的"刚好"状态,再往上就得换 Q3 了。
实测有个笨但有效的办法:从 Prompt 提示词库挑三五个固定模板(一段翻译、一段代码、一篇总结),在不同档位各跑一遍对比输出——差异比你想象的直观。
AWQ / GPTQ 和 GGUF 是什么关系
它们是另外两套量化方案,常见于 vLLM 这类服务化推理引擎,面向高并发批量吞吐场景;GGUF 则面向 llama.cpp / Ollama 这类单机消费级运行时。同为 4bit,两套方案的质量损失在同一量级,不必纠结谁更强——真正要先确认的是格式兼容性:自己本地用选 GGUF;要搭对外服务、撑多用户并发,再去研究 AWQ/GPTQ,下载前确认自己的运行时吃哪种格式。
常见问题
量化后还能微调吗
直接微调 GGUF 文件不现实——量化格式本身不是为训练设计的。常规做法是回到 FP16 母模型上做 LoRA;显存极限的场景可以用 QLoRA:把母模型量化到 4bit 再训练,24G 甚至 16G 显存就能微调 8B 模型。训练显存的具体数字,用 LoRA 微调显存计算器按模型与批次设置估算。顺带提醒:QLoRA 训练完的适配层要合并回母模型、重新量化成 GGUF 才能部署,训练底座和部署文件不要混为一谈。
Q4_K_S 和 Q4_K_M 差多少
同 bit 下的两档:S 的体积小约 10%,质量略低。M 是社区的默认平衡点,除非显存精确卡在一两百 MB,否则直接选 M。两档之间的质量差距,通常远小于"降一整个 bit 档"的影响。
选错了怎么办
量化选错没有任何沉没成本:换一个档位的文件重新拉取即可,模型行为立刻"回滚"。这也是本地量化的隐性福利——同一家族的所有档位随便试,API 可没有"换个量化档"的选项。
小结
量化选择的口诀:富余上 Q6,刚好 Q4_K_M,紧张换小模型不降档。各参数量对应多少显存、什么显卡,见显存速查表;从硬件检测到部署跑通的完整流程,参考16G Mac 部署实录。本文相关工具都收录在本地跑大模型场景专题里。