跳到主要内容

模型量化与压缩入门

什么是模型量化

模型量化是指将大语言模型的权重从高精度(如 FP16、FP32)转换为低精度(如 INT8、INT4),从而减少模型大小和显存占用,同时尽量保持推理质量。量化是大模型在消费级 GPU 甚至 CPU 上运行的关键技术之一。

为什么需要量化

  1. 显存受限:7B 模型 FP16 约需 14GB 显存,4-bit 量化后可降至约 4–6GB
  2. 成本:更小模型可在更低配硬件上运行,降低部署成本
  3. 速度:低精度运算在多数硬件上更快,可提升推理速度
  4. 普及:使个人电脑、边缘设备运行大模型成为可能

量化方法概览

方法精度特点典型格式/工具
INT88-bit精度损失小,兼容性好动态/静态量化
INT4(GPTQ)4-bit显存减半以上,需校准数据GPTQ、AutoGPTQ
INT4(AWQ)4-bit保持关键权重高精度,质量较好AWQ
GGUF多档llama.cpp 生态,2–8 bit 可选llama.cpp、llama-quantize
BitsAndBytes8/4-bit动态量化,易集成Hugging Face Transformers

核心概念

量化粒度

  • 权重量化:仅量化权重,激活仍用 FP16(常见于推理)
  • 激活量化:激活也量化,进一步加速,但实现复杂、精度影响更大
  • KV Cache 量化:推理时的 KV Cache 也可量化,节省显存

校准(Calibration)

部分方法(如 GPTQ)需要少量校准数据,在量化过程中评估误差并调整,以减小精度损失。

格式与生态

  • GGUF:llama.cpp、Ollama 等广泛支持,方便在 CPU/低显存环境运行
  • AWQ/GPTQ:vLLM、TGI 等推理框架支持,适合 GPU 生产部署
  • Safetensors:Hugging Face 标准格式,可存储量化后权重

典型应用

  • 本地运行:在 8GB 显卡上跑 7B、13B 模型
  • 生产部署:量化后单卡可承载更高并发
  • 边缘/IoT:CPU 或低显存设备运行小模型
  • 多模型并存:显存有限时同时加载多个量化模型

与其他技术的关系

  • 微调:可在量化后做 QLoRA 等低秩微调,参见 微调技术
  • 推理服务:量化模型通过 vLLM、Ollama 等部署,参见 模型部署
  • 本地推理:Ollama、llama.cpp 大量使用 GGUF 量化,参见 本地推理

深入学习

想全面了解 GPTQ、AWQ、GGUF 的原理、工具使用与选型?请查看 模型量化深度解析

该文档涵盖:

  • 各类量化方法原理与对比
  • 常用工具与转换流程
  • 精度评估与调优
  • 与推理框架的集成

参考资源