KV 降精度的并发账
KV 用 8 位存储时字节数减半:在同一个 KV 池下,等效于可并发序列数翻倍,或者可用窗口翻倍。主流引擎用 KV 缓存精度参数启用,需要硬件与版本支持,质量影响要通过评测确认,不能只看显存数字。
基本信息
| 直接效果 | KV 字节数减半 |
|---|---|
| 等效收益 | 并发翻倍或窗口翻倍 |
| 启用方式 | KV 缓存精度参数 |
| 前提 | 硬件与版本支持 |
| 质量 | 需评测验证 |
典型使用场景
- 长上下文服务的并发上不去
- 窗口要求不变但想提高并发
- 成本敏感场景减少资源投入
- 容量规划里对比降精度前后的两套账
- 把 KV 精度的选择写进容量表,标注适用窗口区间
- 用实测并发替换容量表里的理论值
换算与启用
换算与启用
# 换算思路(按实际模型与精度折算,不要照抄数值)
# 每 token 的 KV 字节数减半 → 同一池子可容纳序列数约翻倍
# 窗口翻倍与并发翻倍是同一笔账的两种用法
vllm serve <模型路径> --kv-cache-dtype fp8这笔账怎么用
| 用法 | 收益 | 代价 |
|---|---|---|
| 提高并发 | 同池子容纳更多序列 | 尾延迟可能上升 |
| 拉长窗口 | 同并发支持更长上下文 | 单请求占用更多 |
| 质量 | 未必然变差 | 位宽下降需要回归 |
与权重 4 位量化叠加时收益独立成立:一个省权重、一个省 KV,分别记账才能把容量算准。
只在短窗口场景验证会低估收益:KV 本来就小时不显眼,长上下文场景才是它真正发挥作用的地方。
降精度之后要重算并发档位:KV 池能装更多序列,但并发上限还受调度能力与显存带宽约束。
把窗口与并发的取舍写进容量表:同一笔 KV 预算用在哪个方向,取决于业务更缺上下文长度还是更缺同时在线数。