GGUF 量化档位
GGUF 是 llama.cpp 生态的权重格式,把权重、分词器与元数据打进一个文件,并内置多档量化:Q4_K_M、Q5_K_M、Q8_0 等。K 系列采用混合精度策略,对敏感层保留更高精度;档位越高越接近原精度,文件也越大。它是 CPU 与边缘设备上最常用的分发格式。
基本信息
| 格式归属 | llama.cpp 生态 |
|---|---|
| 常见档位 | Q4_K_M、Q5_K_M、Q6_K、Q8_0 |
| 文件内容 | 权重 + 分词器 + 元数据 |
| 档位越高 | 越接近原精度、体积越大 |
| 典型场景 | 本地与边缘部署 |
典型使用场景
- 笔记本或迷你主机上跑本地模型
- Jetson 等边缘设备做端侧推理
- 分发模型时兼顾体积与质量
- 显存或内存不足时先降档位,而不是急着换模型
- 把候选档位各跑一遍冒烟集,按质量与速度两项一起决策
运行与再量化
运行与再量化
llama-server -m model.Q4_K_M.gguf -c 4096 # 本地起服务
llama-quantize f16.gguf out.gguf Q4_K_M # 把 F16 权重再量化(工具名以文档为准)
ls -lh *.gguf # 对比不同档位的文件体积档位怎么选
| 档位 | 体积 | 适用 |
|---|---|---|
| Q4_K_M | 小 | 通用起点 |
| Q5_K_M | 中 | 质量较敏感 |
| Q6_K | 较大 | 接近原精度要求 |
| Q8_0 | 大 | 内存宽裕、追求保真 |
通用起点用 Q4_K_M:质量与体积平衡较好;对质量敏感上移 Q5 或 Q6,资源充裕时用 Q8 或 F16。档位越高内存占用越大,边缘设备的余量要一并计入。
带校准数据的量化方法可以进一步改善低比特质量,具体命令与工具名随版本变化,以官方文档为准,不要照抄旧教程。
比较档位时要固定其它条件:线程数、上下文长度与后端都会明显影响速度,几项一起变就比不出档位本身的影响。
低档位在长上下文下的质量退化通常比短问答明显:验收样本要包含长输入,否则容易得出「没差别」的错误结论。