服务端 INT8 与权重量化的区别
常见的四比特量化多属于「权重量化」,激活仍以高精度参与计算,省的主要是显存。服务端 INT8 走的是 W8A8:权重和激活都压到八比特,矩阵乘可以用整型算力执行,理论上同时改善显存与计算效率。代价是激活的动态范围难处理,离群值会显著拉低精度,因此通常需要校准数据或专门的平滑技术(如 SmoothQuant 一类方法)来均衡权重与激活的难度。
基本信息
| 量化粒度 | W8A8 表示权重与激活均为八比特整型 |
|---|---|
| 关键步骤 | 校准或离线量化流程,需要代表性样本 |
| 支持栈 | TensorRT-LLM 在构建阶段提供相应流程,vLLM 部分后端可加载 W8A8 权重 |
| 部署前提 | 量化产物与推理引擎版本需匹配 |
| 度量方式 | 端到端评测质量与吞吐,不能只看显存下降幅度 |
典型使用场景
- 吞吐瓶颈在计算而非显存:显存充裕但算力吃紧时,整型路径可能更合适
- 固定业务场景:输入分布稳定,校准集容易覆盖真实流量
- 大模型单卡部署:希望在有限显存内同时提升并发与吞吐
- 推理成本优化:在精度可接受的范围内压缩单位请求成本
- 私有化交付:交付环境算力受限,需要充分榨取现有硬件
配置层级示意
配置层级示意
TensorRT-LLM:构建阶段启用 int8 与平滑量化流程
- 先准备校准数据 → 量化 → 构建引擎 → 部署
vLLM:部分后端支持加载 w8a8 量化权重
- 直接加载已量化模型目录,量化方式由权重元数据决定
通用步骤:
1 选定校准集,覆盖真实输入长度与领域
2 离线量化并记录量化配置
3 用同一评测集对比精度与吞吐,输出结论路线对比
| 方案 | 省什么 | 主要代价 |
|---|---|---|
| W4A16 权重量化 | 显存为主 | 解码阶段仍受显存带宽限制,计算不受益 |
| W8A8 激活量化 | 显存与算力 | 激活离群值敏感,需要校准,精度调参空间变小 |
| 两者叠加 | 显存进一步下降 | 精度损失叠加,评测成本上升 |
| 不量化 | 无 | 显存与算力需求最高,部署门槛最高 |
W8A8 需要校准或提前量化流程:质量与收益都要端到端测,不是换个开关就完成,量化配置本身应作为交付物版本管理。
评测集要覆盖真实业务分布:通用评测分数持平时,长上下文、代码或专业领域的退化仍可能出现,只做通用评测容易漏判。