106-模型量化技术-GGUF-GPTQ-AWQ-bitsandbytes对比 📅 2026/8/16 1:19:51 文章目录【106.PythonAI】模型量化技术GGUF、GPTQ、AWQ、bitsandbytes四大量化方案全对比导入语1 ~ 量化的数学本质精度换体积1.1 从FP16到INT41.2 两个保住精度的关键技术2 ~ 四大方案逐个拆解2.1 GGUFCPU 世界的标准格式2.2 GPTQGPU 推理的老牌劲旅2.3 AWQ激活感知的新锐2.4 bitsandbytes训练场景的御用工具3 ~ 四方案对比与选型3.1 实测画像对比3.2 选型决策树3.3 三条避坑提示思考 总结结尾【106.PythonAI】模型量化技术GGUF、GPTQ、AWQ、bitsandbytes四大量化方案全对比文章简介本文系统讲解大模型量化的原理与四大主流方案的选型回答为什么7B模型4GB显存就能跑这个每个本地部署者都会遇到的问题。文章从量化的数学本质切入——把FP16的16位浮点权重压缩成INT4的4位整数模型体积直接缩到1/4而精度损失为什么可以忽略不计用图书馆藏书从精装本变口袋本的类比讲清量化粒度per-channel/group量化与校准集的作用随后逐一拆解四大方案GGUFllama.cpp生态标准格式CPU推理首选Q4_K_M等后缀的含义解读、GPTQGPU推理老牌方案逐层量化的代表AutoGPTQ生态、AWQ激活感知量化保护关键权重的新锐vLLM原生支持、bitsandbytes训练场景御用QLoRA微调的8bit/4bit加载方案给出四方案在推理速度、精度损失、硬件要求、适用框架上的实测对比表以及CPU推理选GGUF、GPU推理选AWQ、微调选bitsandbytes的选型决策树。配以Mermaid流程图展示从原始模型到量化部署的完整路径适合本地部署时被各种量化格式绕晕的开发者阅读参考。 个人主页源码骑士❄专栏传送门《Android开发基础》《python基础课程》⭐️热衷从源码视角拆解技术底层原理将复杂架构讲得通俗易懂 源码骑士的简介5年Android Framework系统开发经验曾主导多项系统级性能优化专项技术栈覆盖Android系统全链路Binder/Handler/AMS/WMS/启动流程及Java后端全家桶Spring MyBatis Redis Oracle累计产出原创技术文章100篇文章以流程图为特色被读者评价为看一篇胜过啃一周源码导入语上一篇我们用Ollama拉起了qwen2.5:7b下载体积4.7GB。等等——7B模型70亿参数就算每个参数只占2字节FP16也应该是14GB才对怎么下载包只有三分之一答案就是模型页面上那串神秘后缀Q4_K_M、GGUF、AWQ……它们都是量化的产物。量化把每个参数的存储精度从16位砍到4位体积缩到四分之一显存需求同步跳水——原本要24GB显卡才带得动的模型压缩后8GB就能跑而且聪明程度几乎不打折。但打开模型仓库GGUF/GPTQ/AWQ十几种格式、Q2到Q8一排档位新手直接懵圈它们有什么区别我该下载哪一个这篇文章把量化从数学原理到方案选型一次讲透看完你就能对着模型列表像老师傅一样点兵点将。1 ~ 量化的数学本质精度换体积1.1 从FP16到INT4一个参数的存储变迁 FP16半精度浮点16位2字节 能表示 ±65504 范围内的精细数值 7B模型 ×2字节14GB INT44位整数量化4位0.5字节 只能表示16个离散刻度 7B模型 ×0.5字节3.5GB ← 缩到1/4直觉上16个刻度表示原来几万个精度值信息应该损失惨重。但大模型有个反直觉的特性权重值高度冗余——绝大部分权重挤在一个很小的数值区间里真正影响输出的差异远比想象的小。量化的艺术就在于用有限的刻度保住最关键的数值差异。1.2 两个保住精度的关键技术技术一分组量化group-wise 不给整个矩阵用一把尺子每128个权重一组、每组各配一组缩放系数 → 刻度跟着局部数值范围走误差大幅缩小 技术二校准calibration 量化前用一小批代表性文本跑一遍模型统计真实的数值分布 → 刻度照着实际会遇到的值来排而不是理论范围这两条是所有现代量化方案的公共地基——GGUF、GPTQ、AWQ的差异是在地基之上怎么更聪明地保护重要权重。2 ~ 四大方案逐个拆解2.1 GGUFCPU 世界的标准格式定位llama.cpp 生态的专属格式CPU/混合推理的首选 特长单文件打包权重配置词表一体极致的CPU优化 命名解读以 Q4_K_M 为例 Q4 →4位量化 K → K-quants系列新一代分组算法 M → Medium组内精度档位S/M/L从小到大 常用档位速查 Q4_K_M → 体积/质量最平衡默认就选它 Q5_K_M → 质量略好体积20% Q8_0 → 几乎无损体积约为FP16一半 Q2_K → 极限压缩质量明显下降仅救急2.2 GPTQGPU 推理的老牌劲旅定位最早的实用化GPU量化方案AutoGPTQ生态成熟 原理逐层量化每量化一层就用校准数据修正剩余层的误差 → 误差被逐层分摊消化4bit下精度依然稳 特点GPU上推理快与Transformers/vLLM生态打通 短板只推理不训练更新锐的AWQ出现后排位下滑2.3 AWQ激活感知的新锐定位激活感知量化Activation-aware Weight Quantization 核心洞察模型里只有约1%的权重对输出影响巨大 → 找出这1%的关键权重给它们保留更高精度 → 其余99%放心压到4bit 效果同档位下精度普遍优于GPTQ尤其在小模型上差距明显 生态vLLM原生支持生产推理框架的宠儿2.4 bitsandbytes训练场景的御用工具定位不换格式、不改文件加载时即时量化 用法from_pretrained(...,load_in_4bitTrue)场景QLoRA微调的事实标准第79篇用过 → 基座4bit加载省显存LoRA适配器FP16训练 注意它服务的是训练时省显存不是推理格式 推理部署别选它速度不如前三个专用格式3 ~ 四方案对比与选型3.1 实测画像对比维度GGUFGPTQAWQbitsandbytes主战场CPU/混合推理GPU推理GPU推理新锐训练时加载配套框架llama.cpp/OllamaAutoGPTQvLLM/TransformersTransformers/PEFT4bit精度中上中上上中上推理速度CPU上最快快最快一般模型可得性社区转换最全多越来越多任意模型即时量化3.2 选型决策树CPU推理/笔记本/无显卡GPU在线推理服务是否, Transformers推理QLoRA微调训练边缘设备/手机需要量化模型用在什么场景?GGUF选 Q4_K_M 档位配 llama.cpp/Ollama框架是vLLM?AWQvLLM原生支持同档精度最优AWQ优先GPTQ备选社区存量大bitsandbytesload_in_4bit基座4bit适配器FP16GGUF 低档量化Q4以下甚至IQ系列配合ARM优化3.3 三条避坑提示提示一不要盲目追低档位 Q2/Q3省的那点显存换来的质量下降肉眼可见 4bit是甜点3bit是底线2bit只用于极限场景 提示二同一模型不同格式的答案可能有细微差异 量化是有损的换格式≈换了个几乎一样的模型 做A/B评测时锁定同一格式同一档位 提示三先看官方是否提供原生量化版 Qwen等厂商官方发布的AWQ/GPTQ版本校准集最贴合 质量通常优于社区二手转换思考 总结量化精度换体积FP16压到INT4体积缩至1/4权重冗余分组量化校准集三板斧让4bit精度损失小到可用。GGUF是CPU标准llama.cpp/Ollama生态专属单文件打包Q4_K_M是默认甜点档位。GPU推理选AWQ激活感知保护1%关键权重同档精度优于GPTQvLLM原生支持GPTQ胜在社区存量。bitsandbytes服务训练load_in_4bit是QLoRA微调的显存救星别拿它做推理部署。选型三问跑在CPU还是GPU推理还是训练用什么框架——三个答案一组合格式自动浮现。量化解决了装得下的问题接下来的问题是跑得动——纯CPU上7B模型能跑到什么速度llama.cpp是如何把CPU推理优化到极致的下一篇专门拆解这个CPU推理的王者llama.cpp。结尾各位小伙伴本文的内容到这里就全部结束了源码骑士在这里再次感谢您的阅读源码骑士 — Android Framework 全栈开发关注跟博主一起从源码视角深耕底层原理见证每一次成长❤️点赞让优质内容被更多人看见让知识传递更有力量⭐收藏把核心知识点存好在需要时随时查、随时用评论分享你的经验或疑问评论区一起交流避坑一键四连不要忘记给博主一键四连哦️寄语技术之路难免有困惑但同行的人会让前进更有方向结语量化的哲学是抓大放小——保住那1%的关键权重剩下的放心压缩。看懂GGUF/GPTQ/AWQ/bitsandbytes的分工模型仓库里那一排后缀从此都是老熟人。不要忘记给博主一键四连哦