首页/AI/大模型部署与运维速查/GPTQ:4 位权重量化
推理参数与优化50 条

GPTQ:4 位权重量化

GPTQ 用校准数据逐层最小化量化误差,产出 4 位权重(W4A16):推理时反量化回高精度参与计算,权重显存降至 FP16 的四分之一量级,质量影响需实测。

GPTQ 是什么

GPTQ 用校准数据逐层最小化量化误差,把权重压到 4 位(W4A16):推理时再把权重反量化回高精度参与计算,激活仍走 16 位。权重显存大致降到 FP16 的四分之一量级,质量损失取决于模型、校准集与分组参数,必须在自己业务数据上实测后才能定。

基本信息

量化对象权重(W4A16)
显存变化权重约降至四分之一
产出方式离线量化,得到持久化权重
运行时依赖需配套的量化内核支持
质量影响随模型与校准集不同,需实测

典型使用场景

  • 单卡塞不下 FP16 权重时先降权重的精度档
  • 显存紧张但要保住窗口长度,优先省权重而不是省 KV
  • 多实例部署降低单实例权重占用,提高同卡密度
  • 成本敏感场景减少所需 GPU 卡数

加载已量化权重

加载已量化权重
# 需要安装对应的量化运行时(如 auto-gptq 等)
from transformers import AutoModelForCausalLM, AutoTokenizer

tok = AutoTokenizer.from_pretrained("<gptq 权重目录>")
model = AutoModelForCausalLM.from_pretrained("<gptq 权重目录>", device_map="cuda")
# 量化信息写在权重目录的 config 里,加载时按声明识别

加载前要核对什么

检查项为什么要看异常信号
权重目录结构缺 config 无法识别量化加载报不支持
量化内核需与运行时匹配报内核缺失
输出质量位宽越低越敏感评测集分数下滑
显存水位确认收益真实存在与 FP16 差别不大
量化在离线完成:校准集、位宽与分组参数都会影响质量,上线验证要用业务评测集,不能只看发布方的对比表。
4 位权重省的是权重那一栏:KV 与工作区不随之下降,长上下文场景的总显存降幅会明显小于按权重算出的比例。
同为 4 位权重,不同量化实现在同一模型上各有胜负:选型要在自己的评测集与流量结构下跑,而不是只看某一项公开基准。

易错点

  • 直接使用他人的量化权重:校准集与实现版本不同,质量差异必须在自己数据上复测
  • 只比显存不比质量:低位宽对长文与数值敏感任务的损伤更明显,评测要覆盖真实场景
  • 运行时与量化格式不匹配:加载报内核缺失,先确认权重由哪种工具产出
  • 按权重降幅推总显存降幅:KV 是常项,长窗口下实际改善远小于预期
  • 把 4 位权重当成无损压缩:长文、推理与代码任务的损失更明显,验收样本要覆盖到这些场景

数据来源与参考

  • AutoGPTQ 仓库(github.com/AutoGPTQ/AutoGPTQ)
  • GPTQ 论文(arxiv.org/abs/2210.17323)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌