05. FP8 and KV Cache Quantization | FP8 与 KV Cache 量化
页面目标
本节回答两个相互关联但不能混为一谈的问题:什么时候应该压执行路径或 KV Cache,而不是继续压权重;硬件、backend 和上下文长度如何改变这项选择。
输出是推理侧候选:FP8 或 KV Cache 量化能释放什么资源,是否会改变 kernel、缓存容量、延迟或质量边界。
问题起点
这两条路线容易被误解成“又一种更低比特”。但它们的意义并不在于位宽本身,而在于:
- FP8 更像硬件与执行栈驱动的低精度路径;
- KV cache quantization 更像推理预算驱动的缓存压缩路径。
它们都和传统 weight-only 路线不同。
你要先确认什么
- 当前瓶颈来自执行栈,还是来自 cache 预算。
- 硬件是否已经原生支持 FP8。
- 长上下文和并发是否已经把 KV cache 顶成第一约束。
核心矛盾
FP8 的核心矛盾是:更低精度的执行路径能带来更好的吞吐和存储效果,但要求硬件和 kernel 栈配合;KV cache quantization 的核心矛盾是:缓存压缩能扩大上下文和并发预算,但会影响表示精度和服务稳定性。
机制链
激活量化先改变中间张量的表示,再决定 FP8 是否能沿着硬件和 kernel 路径执行;KV Cache 量化则改变请求生命周期中 K/V 状态的存储与读取方式。三者都可能减少字节数,但影响的时间段不同:激活量化影响算子之间的中间状态,FP8 影响执行路径,KV Cache 量化集中在 decode 阶段的 cache 读写。
| 路线 | 主要对象 | 关键变量 | 需要对齐的 workload |
|---|---|---|---|
| 激活量化 | 中间激活与矩阵乘输入输出 | calibration、scale、异常值、累积精度 | prefill / decode、输入长度、输出长度 |
| FP8 | 权重、激活或矩阵乘输入输出 | scaling、硬件能力、kernel、混合精度边界 | prefill / decode、输入长度、输出长度 |
| KV Cache 量化 | 每个请求的 K/V 状态 | cache dtype、量化粒度、更新与反量化位置 | 上下文长度、并发、prefix sharing、TPOT |
权重量化与 KV Cache 量化可以同时出现,但必须分别记录显存账本和质量影响,不能把两者的收益相加后直接作为部署结论。
演化路径
- 先判断问题是在执行路径还是缓存预算。
- 如果是执行栈和硬件支持,优先看 FP8。
- 如果是长上下文和高并发预算,优先看 KV cache quantization。
- 最后再回到推理和显存专题,看它们在请求链路和预算中的综合效果。
关键取舍
- FP8 更依赖硬件和 backend 的成熟度。
- KV cache quantization 更依赖 workload 的上下文长度和并发特征。
- 二者都不能只看理论压缩率,必须回到服务目标和 benchmark。
证据边界
| 证据层级 | 能回答什么 | 不能替代什么 |
|---|---|---|
| CPU / 数值模拟 | scale、量化误差、字节数、KV Cache 账本 | 真实 kernel、显存和服务延迟 |
| GPU 探针 | FP8 dtype、scale、Tensor Core 候选路径是否可运行 | 目标 serving backend 的完整行为 |
| backend benchmark | cache 分配、TTFT、TPOT、并发、质量和回退路径 | 不同 workload 下的泛化结论 |
torch.cuda.is_bf16_supported() 或格式字段本身不能替代 kernel 和 workload 实测。激活量化、FP8 探针、KV Cache 模拟和 serving backend 结果必须分别记录,不能合并成一个“量化有效”结论。
正文暂不嵌入未审核图示;专题路线图和知识地图统一见量化与低比特适配深入阅读。
文献锚点
- FP8 相关资料:理解低精度执行路径如何和硬件协同。
- KV cache quantization 资料:理解缓存压缩为什么首先是推理预算问题。
对应 Part 02
41负责 CPU 机制、真实 KV 状态模拟和 FP8 GPU 探针;66提供同一模型与 workload 的浮点 baseline;67负责真实量化 artifact、backend 加载和部署 benchmark。
如果量化导致任务质量低于门槛,不要把 41 的模拟结果直接当成训练方案;可以转入 65 评估 QLoRA 训练适配,生成新的 adapter 或 merged model 后,再回到 66 建立浮点参照,并由 67 验证最终推理 artifact。
典型阅读入口
本节要点
FP8 更接近执行路径与硬件支持问题,KV cache quant 更接近长上下文下的缓存预算问题;二者都不能只用模型文件大小判断价值。
进入下一页
把权重、执行路径和 KV cache 的候选放到 06 部署与 Benchmark 决策 中,用同一 workload 做最终比较。
FP8 和 KV cache quantization 都是低精度路线,但一个更偏执行栈,一个更偏缓存预算。
