GGUF 是什么
GGUF 是 llama.cpp 生态的单文件权重格式,把权重、配置、分词器与对话模板都封装在一个文件里,文件名后缀标明量化档位。档位命名里的数字越小、体积越小、精度损失越大;带 K 的档位表示混合量化,对关键层保留更高精度。它也是 Ollama 与各类本地推理工具的主要加载格式。
常见档位(近似)
| 档位 | 7B 模型体积量级 | 特点 |
|---|---|---|
| Q8_0 | 约 7 GB | 接近原始精度,体积仍偏大 |
| Q6_K | 约 6 GB | 质量损失很小,容量要求高 |
| Q5_K_M | 约 5 GB | 质量与体积较平衡 |
| Q4_K_M | 约 4.4 GB | 常用起点,显存占用低 |
| Q3_K_M | 约 3.3 GB | 质量开始出现可见下降 |
| Q2_K | 约 2.7 GB | 仅在极端受限场景使用 |
基本信息
| 适用生态 | llama.cpp、Ollama 及各类本地推理工具 |
|---|---|
| 文件形态 | 单文件,含权重、配置、分词器与对话模板 |
| 档位信息 | 写在文件名里,加载前先核对 |
| 转换来源 | 从 Hugging Face 权重转换并量化,需按工具链版本操作 |
转换与量化
转换与量化
# 第一步:把 HF 权重转成 GGUF(f16 保留高精度)
python convert_hf_to_gguf.py ./models/<模型> --outfile model-f16.gguf --outtype f16
# 第二步:量化到目标档位
./build/bin/llama-quantize model-f16.gguf model-Q4_K_M.gguf Q4_K_M
# 第三步:跑一次确认能加载并输出正常
./build/bin/llama-cli -m model-Q4_K_M.gguf -p "你好" -n 64典型使用场景
- 显存受限环境部署:按档位在质量与体积之间取平衡
- 边缘与桌面设备:单文件便于分发,不需要额外的配置目录
- 量化档位对比实验:同一模型不同档位在同一台机器上跑基准
- 本地快速验证:先在单机确认模型效果,再决定是否上服务端引擎
- 离线交付:把单个文件拷进内网即可使用,避免多文件缺失
体积为近似值,随模型结构与工具链版本浮动:上线前用固定评测集对比质量,不要只看体积估算。
转换脚本名在新旧版本之间变化过,照抄旧教程会报找不到文件:先看工具链仓库当前目录下的脚本名再执行。