是什么
为什么
推理工程师与算法工程师在显存受限或延迟敏感场景下,用它换取可部署性。
怎么做
选定量化位宽与校准集,运行 PTQ 或 QAT,导出量化权重并验证精度。
什么时候
显存不足或延迟超标时启用;对精度极度敏感或激活分布极端的任务应慎用。
FOCUS
先记住这些
不掌握就不能用
INT8 通常可接受,INT4 需验证;per-channel 量化比 per-tensor 更保精度但计算更复杂。
最高频踩坑
校准集若偏离线上分布,量化后精度断崖;需覆盖长尾与边界样本。
与最近邻的差异
PTQ 无需训练,适合快速部署;QAT 在训练中模拟量化,精度更高但成本高。
部署前提
量化模型必须与推理引擎的算子支持匹配,否则无法加载或加速失效。
PROBLEM / POSITION / INTERFACE
先弄清它为什么存在,以及谁在使用
-
01 解决的问题
模型体积过大无法装入单卡,或推理延迟超出业务 SLA。
不量化则无法部署或成本过高;盲目量化会导致精度断崖式下降。
- 成功标准
- 在可接受精度损失内,显存与延迟显著下降,且线上表现稳定。
-
02 AI 生态位
位于训练后与推理前的压缩环节,上游接训练权重,下游接推理引擎。
- 上游
- 依赖训练完成的浮点权重与代表性校准数据。
- 下游
- 为推理框架提供低精度权重与量化参数,支撑低延迟服务。
-
03 人的生态位
工程师负责选择策略、准备校准数据、验证精度与回退。
- 适合使用
- 显存受限、延迟敏感、且任务对精度波动有一定容忍度。
- 不必使用
- 任务对精度极度敏感、激活分布极端或校准数据无法代表线上分布。
-
04 独特价值
在不改模型结构的前提下,显著降低显存占用与推理延迟。
校准数据偏差、激活分布异常与粒度选择不当会引发精度雪崩。
- 复杂度判断
- 复杂度不是功能数量,而是控制与验证成本。
INTERFACE FLOW
谁在操作,信息怎样流动
-
WHO OPERATES
HUMAN选择量化位宽、准备校准集、评估精度与决定回退。
TOOL执行校准、生成量化参数、导出量化模型。
-
INPUT
训练好的浮点权重与覆盖真实分布的校准数据。
-
CONTROL
位宽选择、量化粒度、校准集规模、是否启用 QAT。
-
OUTPUT
量化后的权重文件与推理配置,供部署引擎加载。
CODE / PYTHON最小 Python 调用
import os
from transformers import AutoModelForCausalLM, AutoTokenizer
from optimum.int8 import Intel8Quantizer
model_id = "your-model-id"
model = AutoModelForCausalLM.from_pretrained(model_id)
tokenizer = AutoTokenizer.from_pretrained(model_id)
quantizer = Intel8Quantizer(model)
calibration_dataset = ["sample text 1", "sample text 2"]
quantizer.calibrate(calibration_dataset)
quantized_model = quantizer.export()
quantized_model.save_pretrained("./quantized_model")最短闭环:加载模型 → 校准 → 导出量化权重。真实数据需替换。
JSON / RESPONSE典型返回(示意)
{
"model_path": "./quantized_model",
"quantization_config": {
"bits": 8,
"granularity": "per_channel",
"method": "ptq"
},
"status": "success",
"metrics": {
"original_size_mb": 1200,
"quantized_size_mb": 300,
"accuracy_drop": 0.02
}
}PRACTICE
量化部署检查清单
✓校准集覆盖线上分布与长尾样本
✓位宽选择与任务精度容忍度匹配
✓量化粒度与推理引擎算子支持一致
✓导出后验证精度与延迟是否达标
✓准备回退方案以应对线上异常
FAQ
常见问题
01量化和剪枝有什么区别?+
量化降精度保结构,剪枝去冗余改结构;量化更易部署,剪枝需重新训练。
避免混淆压缩策略导致选型错误。02最小可用方式是什么?+
用 PTQ + INT8 + 代表性校准集快速导出,验证精度后部署。
帮助快速验证可行性。03什么时候不需要量化?+
显存充足、延迟达标或任务对精度极度敏感时,直接部署 FP16。
控制系统成本与风险。04量化后精度下降怎么办?+
检查校准集分布、尝试 per-channel 量化或切换 QAT。
提供可操作的排错路径。