Mindket

量化详解:Q4_K_M、GGUF、AWQ 和 GPTQ 各是什么意思

黑色横幅,标题是“开放权重模型”,下面是“许可证、规模、量化与选择方法”。

量化是用更少的位数存放模型的权重,文件因此变小,占用的内存也更少,代价是准确率略有下降。像 Q4_K_M 这样的 GGUF 名字已经写明了方法:大约 4 位、k-quant 系列和 M 这种混合方案。仓库里有 Q4_K_M 时,Ollama 默认拉取它。AWQ 和 GPTQ 是另外两种方法,各有各的仓库。

本节内容

  • 下载之前先读文件名:Q 后面的数字是位数,最后一个字母是混合方案。
  • 从一个 4 位文件开始,只有答案让你失望时,才拉取更高的级别。
  • 拿未量化的原版去量化,不要拿已经量化过的文件再量化。
  • 先看清仓库用的是哪种方法,因为每一种都有自己的库。
全部课程
本页目录
  1. 开始之前
  2. 读懂 GGUF 名字:Q4_K_M 逐个字母看
  3. 更小的文件让准确率损失多少
  4. AWQ、GPTQ 和其他格式
  5. 三家发布者怎样发布权重
  6. 挑一个文件,运行它
  7. 自己量化一个模型
  8. 常见错误
  9. 自己动手试试
  10. 下一门课:本地 AI
  11. 自测一下
  12. 常见问题
  13. 资料来源

开始之前

Hugging Face 的量化概述说,量化是把权重存成更低的精度,在尽量保住准确率的同时,降低加载和使用模型所需的内存。权重通常存成 16 位或 32 位的数。许多量化后的文件,把它们存成 int8 或 int4 这样的小整数。

硬件那一课把位数换算成了 GB,还有一张尺寸表,所以这一课不再讲尺寸。GGUF 是为快速加载和保存而设计的二进制文件格式,GGUF 文件的名字里带着它的量化级别。这一课讲这些名字怎么读、更小的文件要付出什么代价、有哪些别的格式,以及怎样运行或者自己做一个。请把第 3 课的五条提示词放在手边,因为最后的测试要用它们。

读懂 GGUF 名字:Q4_K_M 逐个字母看

量化者会把同一个模型发布成好几个级别,级别就写在文件名里。llama.cpp 里加入 K 系列名字的那个拉取请求定义了各个部分。

Q4_K_M
│ │ └ M:混合方案,决定哪些张量多分几位
│ └── K:k-quant 系列,权重按超级块存放
└──── 4:每个权重大约 4 位
  1. Q 后面的数字,读作每个权重大约用几位。Q4 大约是 4 位,Q6 大约是 6 位。
  2. K 读作 k-quant 系列。它的 4 位类型 Q4_K 把权重放进超级块里,每个超级块有 8 个块,每块 32 个权重,缩放系数和最小值用 6 位量化,折合每个权重 4.5 位。
  3. 最后的字母读作混合方案,也就是哪些张量多分几位。张量是模型权重的一个块。Q4_K_S 让所有张量都用 Q4_K 类型,拉取请求指出了一个例外:每个变体都给 output.weight 张量 6 位。Q4_K_M 把 6 位的 Q6_K 类型用在一半的 attention.wv 和 feed_forward.w2 张量上,其余用 Q4_K。
  4. 其他前缀读作别的系列。Hugging Face 的 GGUF 页面把没有 K 的较早类型(比如 8 位的 Q8_0)列为如今不常用的旧方法。像 IQ4_XS 这样的名字(4 位类型,每个权重 4.25 位),则被列为用重要性矩阵做出来的类型。

更小的文件让准确率损失多少

困惑度衡量模型预测真实文本的好坏,越低越好。k-quants 拉取请求在 wikitext 数据集上测了 LLaMA 7B。未量化的原版得分 5.9066,图表显示每个量化文件在这个分数上多了多少。

Q6_K 只多 0.004,作者说它的结果与原版相差不到 0.1%。Q4_K_M 多 0.054,Q2_K 多 0.870,大约是前者的 16 倍。作者还发现,更大的模型躲不过这种损失:到了 30B 和 65B,相对误差又回到了 7B 的水平。

LLaMA 7B 是 2023 年的模型,所以图形只能当参考,不能当成你所用模型的预测。困惑度也说明不了你的任务是否还能做好,这要靠你自己的提示词来回答。

比未量化的原版多出来的困惑度,LLaMA 7B每个文件在 wikitext 上的困惑度,减去原版的 5.9066,文件大小照拉取请求的写法(原版是 13.0G)。越低越好。金色那根是 Q4_K_M,也就是 Ollama 默认挑的级别。
  • Q2_K,2.67G+0.870
  • Q3_K_S,2.75G+0.551
  • Q3_K_M,3.06G+0.244
  • Q3_K_L,3.35G+0.180
  • Q4_K_S,3.56G+0.115
  • Q4_K_M,3.80G+0.054
  • Q5_K_S,4.33G+0.035
  • Q5_K_M,4.45G+0.014
  • Q6_K,5.15G+0.004

来源:GitHub:llama.cpp 拉取请求 1684,k-quants (2026年11月6日 查阅)

AWQ、GPTQ 和其他格式

GGUF 只是其中一个家族。Hugging Face 的概述列出了许多方法,有的需要校准才能得到更高的准确率,有的在模型加载时即时量化。Maarten Grootendorst 的GPTQ、GGUF 和 AWQ 对比视频讲的是其中三种,下面的表比较四种。

AWQ 是激活感知权重量化的缩写,出发点是:并非所有权重都同样重要。它 2023 年的论文报告说,只保护 1% 的关键权重,就能大幅降低量化误差。Hugging Face 的 AWQ 页面说,这个方法保留一小部分重要的权重,把模型压缩到 4 位,性能下降很小。

GPTQ 是一次性方法。在 Hugging Face 的 GPTQ 页面里,权重矩阵的每一行单独量化,找出误差最小的那一版。权重存成 int4,推理时即时还原成 fp16。它 2022 年的论文报告说,量化 1750 亿参数的 GPT 模型大约需要四个 GPU 小时,GPTQ 页面则说,在一块 NVIDIA A100 上量化 175B 的模型大约要四小时。

Transformers 不再支持 AutoGPTQ,文档让你改用 GPT-QModel。安装 AutoAWQ 会把 Transformers 降级到 4.47.1 版。要判断一个仓库用的是哪种方法,打开它的 config.json,读 quantization_config 里的 quant_method。AWQ 模型写的是 "quant_method": "awq"。

四种量化方法并排比较
GGUF(llama.cpp)AWQGPTQ(GPT-QModel)bitsandbytes
位数,照表里的写法1/842/3/4/84/8
加载模型时即时量化否否否是
能在 CPU 和 NVIDIA 显卡上运行是是是是
能在 Apple 芯片(Metal)上运行是否是标了黄色
能用 PEFT 微调否是是是

来源:Hugging Face 文档:Transformers 量化概述 (2026年11月6日 查阅);Hugging Face 文档:GGUF (2026年11月6日 查阅)

Maarten Grootendorst 的 YouTube 视频,对比 GPTQ、GGUF 和 AWQ。它是对表里那些方法的另一种讲法,这一课并不依赖它的说法。

位数这一行照抄了表里的写法,斜杠也保留着。Hugging Face 的表把 bitsandbytes 在 Apple 芯片上的支持标成了黄色,没有说明黄色是什么意思。

三家发布者怎样发布权重

有些发布者在发布前就做了量化,所以你下载的文件,就是他们测试过的那个。gpt-oss 的模型卡说,它所有的评测都是在同样的 MXFP4 量化下进行的。Hugging Face 的 GGUF 页面把 MXFP4 称为 4 位微缩放块浮点,它的概述把 NVFP4 列为适用于 CUDA 显卡的 4 位方法。

数据来自 gpt-oss-20b、Llama 4 和 Mistral Large 4 的模型卡,读取于 2026 年 11 月 6 日。内存和性能的说法都是发布者自己的。
模型模型卡说它发布的是什么模型卡对内存的说法
gpt-oss-20b后训练时对 MoE 权重做了 MXFP4 量化在 16GB 内存内运行
gpt-oss-120b同样的 MXFP4 量化在单张 80GB 显卡上运行
Llama 4 ScoutBF16 权重用即时 int4 量化,能放进单张 H100 显卡
Mistral Large 4另有一个 NVFP4 检查点内存占用更小,推理更快,性能相同,面向 Blackwell 显卡

挑一个文件,运行它

Ollama 可以直接从 Hugging Face 拉取 GGUF 仓库,写法见 Ollama 页面,如下所示。不带标签时,仓库里有 Q4_K_M,Ollama 就用它,否则从仓库里挑一个合理的类型。标签不区分大小写,写完整的文件名也行。

ollama run hf.co/{username}/{repository}
ollama run hf.co/bartowski/Llama-3.2-3B-Instruct-GGUF:Q8_0
  1. 找一个这个模型的 GGUF 仓库。用模型名加 GGUF 去搜,或者筛选 library=gguf 标签。
  2. 想复制命令,就在“文件和版本”标签页里打开某个文件的 GGUF 查看器,在“使用此模型”下拉菜单里选 ollama。你的“本地应用”设置里要先打开 Ollama 这一项。
  3. 先从 Q4_K_M 开始,用第 3 课的五条提示词测它。答案不够好,就拉取 Q5_K_M 或 Q6_K,再测一遍。
  4. 留下通过测试的最小文件,写下仓库、文件名和日期。

自己量化一个模型

通常已经有人量化过这个模型了,Hugging Face 的 GPTQ 页面也建议先到 Hub 上找现成的版本。要自己做 GGUF,llama.cpp 的 quantize README给了两步:先把模型转换成 bf16 精度的 GGUF,再在 llama.cpp 的文件夹里对它运行 llama-quantize。

从高精度的文件开始。README 警告说,--allow-requantize 这个参数会把已经量化过的张量再量化一遍,与从未量化的文件开始相比,可能严重降低质量。它还提到可以用 --imatrix 传入重要性矩阵,来减少准确率的损失。不想自己搭环境的话,Hugging Face 上的 GGUF-my-repo 空间可以替你做量化。

# 1. 把 Hugging Face 上的模型转换成 16 位的 GGUF
python convert_hf_to_gguf.py --outfile gemma-4-E2B-it-bf16.gguf --outtype bf16 --remote google/gemma-4-E2B-it

# 2. 把这个文件量化成 Q4_K_M
./build/bin/llama-quantize gemma-4-E2B-it-bf16.gguf gemma-4-E2B-it-Q4_K_M.gguf Q4_K_M

命令抄自 2026 年 11 月 6 日读到的 quantize README,用的是它的 Gemma 4 E2B 例子。Mindket 没有运行这些命令。

常见错误

  • 只凭困惑度判断一个级别。图表显示的是一个 2023 年的模型预测 wikitext 的好坏,说明不了你的任务能不能做好。
  • 把几种格式混为一谈。GGUF 文件、AWQ 仓库和 GPTQ 仓库要用不同的库,所以下载之前先看文件扩展名或者 quant_method。
  • 以为视觉能力在转换后还在。README 说转换器处理的是语言部分,能输入图像的模型还需要一个单独的 mmproj 文件。
  • 照抄旧教程里的文件名。K 系列的名字出自 2023 年 6 月,IQ4_XS 和 MXFP4 这样的新类型各有各的规则。

自己动手试试

  • 打开你喜欢的模型的 GGUF 仓库,列出它的文件。写下每个名字在位数和混合方案上说了什么。
  • 用 Ollama 拉取 Q4_K_M 的版本,再拉取高一级的版本,然后把同样的五条提示词交给两个版本。
  • 打开一个 AWQ 或 GPTQ 仓库的 config.json,找到它的 quant_method。
  • 用图表算一算,Q5_K_M 比 Q4_K_M 少多少困惑度,再判断更大的文件对你的任务值不值。

下一门课:本地 AI

你现在能读懂文件名,能衡量更小的文件要付出什么,也能把它运行起来。本地 AI 课程从这一课用到的 Ollama 讲起,再讲它的 API、LM Studio 和模型所需的内存。

自测一下

  1. 在文件名 Q4_K_M 里,K 代表什么?

    查看答案

    B. k-quant 系列,这一系列的类型把权重存在超级块里 加入这些类型的拉取请求把它们描述成由多个权重块组成的超级块,K 标记的就是这一系列。

  2. 你给 Hugging Face 仓库不写标签时,Ollama 会拉取什么?

    查看答案

    C. 仓库里有的话就拉 Q4_K_M Hugging Face 的 Ollama 页面说,Q4_K_M 存在时是默认选项,否则 Ollama 会挑一个合理的类型。

  3. 在 LLaMA 7B 多出来的困惑度那张图里,哪句话成立?

    查看答案

    A. Q4_K_M 多出来的困惑度远少于 Q2_K Q4_K_M 约多 0.054,Q2_K 约多 0.870,所以 2 位文件的损失大约是前者的 16 倍。

  4. 一个 4 位文件在你的提示词上答得不够好。你应该先试什么?

    查看答案

    D. 拉取高一级的版本,比如 Q5_K_M,再跑一遍你的提示词 图表显示 Q5_K_M 比 Q4_K_M 多出来的困惑度更少,而 README 警告说,把已经量化过的张量再量化,可能严重降低质量。

常见问题

量化级别应该从哪一个开始?

Q4_K_M。仓库里有它而你没写标签时,Ollama 就选它,在拉取请求的表里它给 LLaMA 7B 多加了约 0.05 的困惑度。答案不够好,就往上升一级。

量化会让模型更快吗?

常常会。README 说它可以加快推理,在拉取请求的 7B 表里,所测的三台机器上,每个量化文件生成一个 token 都比未量化的快。

为什么同一个模型有那么多文件?

量化者每个级别发布一个文件,所以一个仓库里可能有很多个。只下载名字里写着你选定的位数和混合方案的那一个。

AWQ 或 GPTQ 模型比 GGUF 的更好吗?

总体上没有哪个更好。它们的区别在于能在哪里运行,所以按你的硬件和使用的工具来挑,再用你的提示词测试。

我需要自己量化模型吗?

通常不需要。2026 年 11 月 6 日,Qwen3.8-27B 的模型页面统计到超过 1,600 个量化模型,所以先到 Hub 上找你要的文件。

资料来源

  1. GitHub: llama.cpp pull request 1684, k-quants (2026年11月6日 查阅)https://github.com/ggml-org/llama.cpp/pull/1684
  2. GitHub: llama.cpp quantize README (2026年11月6日 查阅)https://github.com/ggml-org/llama.cpp/blob/master/tools/quantize/README.md
  3. Hugging Face Docs: GGUF (2026年11月6日 查阅)https://huggingface.co/docs/hub/gguf
  4. Hugging Face Docs: Use Ollama with any GGUF model (2026年11月6日 查阅)https://huggingface.co/docs/hub/ollama
  5. Hugging Face Docs: Transformers quantization overview (2026年11月6日 查阅)https://huggingface.co/docs/transformers/quantization/overview
  6. Hugging Face Docs: AWQ (2026年11月6日 查阅)https://huggingface.co/docs/transformers/quantization/awq
  7. Hugging Face Docs: GPTQ (2026年11月6日 查阅)https://huggingface.co/docs/transformers/quantization/gptq
  8. Hugging Face Papers: AWQ, Activation-aware Weight Quantization (2026年11月6日 查阅)https://huggingface.co/papers/2306.00978
  9. Hugging Face Papers: GPTQ, Accurate Post-Training Quantization (2026年11月6日 查阅)https://huggingface.co/papers/2210.17323
  10. Hugging Face: openai/gpt-oss-20b model card (2026年11月6日 查阅)https://huggingface.co/openai/gpt-oss-20b
  11. GitHub: Meta Llama 4 model card (2026年11月6日 查阅)https://github.com/meta-llama/llama-models/blob/main/models/llama4/MODEL_CARD.md
  12. Hugging Face: mistralai/Mistral-Large-4-1T-A52B model card (2026年11月6日 查阅)https://huggingface.co/mistralai/Mistral-Large-4-1T-A52B
  13. Hugging Face: Qwen/Qwen3.8-27B model page (2026年11月6日 查阅)https://huggingface.co/Qwen/Qwen3.8-27B
  14. YouTube: Which Quantization Method is Right for You? (GPTQ vs. GGUF vs. AWQ) (2026年11月6日 查阅)https://www.youtube.com/watch?v=mNE_d-C82lI

分享本节课

让本地模型干点活

Mindket 列出了自动化工作流,使用之前就能打开来读。挑一个和你的工作对得上的,看看它对模型有什么要求。

浏览自动化

本节课的 Markdown 版本 · 开放权重模型:许可证、规模与选择方法 · 全部课程