首页/AI/大模型部署与运维速查/GGUF 格式与量化档位
部署形态与选型43 条

GGUF 格式与量化档位

GGUF 是 llama.cpp 生态的单文件格式,文件名里的 Q4_K_M、Q5_K_M、Q8_0 等后缀表示量化档位:数字越小体积越小、质量损失越大。

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

典型使用场景

  • 显存受限环境部署:按档位在质量与体积之间取平衡
  • 边缘与桌面设备:单文件便于分发,不需要额外的配置目录
  • 量化档位对比实验:同一模型不同档位在同一台机器上跑基准
  • 本地快速验证:先在单机确认模型效果,再决定是否上服务端引擎
  • 离线交付:把单个文件拷进内网即可使用,避免多文件缺失
体积为近似值,随模型结构与工具链版本浮动:上线前用固定评测集对比质量,不要只看体积估算。
转换脚本名在新旧版本之间变化过,照抄旧教程会报找不到文件:先看工具链仓库当前目录下的脚本名再执行。

易错点

  • 脚本名照抄旧教程:转换脚本已改名,执行直接失败
  • 用低档位承接对质量敏感的任务:体积省下来了,答案质量明显下降
  • 只看文件名判断档位:命名规则需要对照文档理解,误解会把 3 位当 4 位用
  • 不跑验证就用:量化出错的权重能加载但输出异常,必须先跑小样本
  • 忽略上下文长度限制:本地工具的上下文与显存关系紧密,调大后容易溢出到内存

数据来源与参考

  • llama.cpp 仓库文档与量化说明(github.com/ggml-org/llama.cpp)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌