Skip to content

05. Runtime Quantization Paths | 运行期量化路径 ​

学习问题 ​

本节回答三个相互关联但不能混为一谈的问题:激活表示、FP8 计算路径和 KV Cache 状态分别改变什么;硬件、执行后端和上下文长度如何改变选择。

输出不是笼统的“低精度有效”,而是三类独立候选:激活量化、FP8 执行和 KV Cache 量化,各自记录对象、缩放因子、计算内核或缓存行为、质量与资源证据。

核心机制 ​

三条路径都会减少某类数据的字节数,但改变的对象和阶段不同:

  • 激活量化处理层间张量范围、异常值和矩阵乘输入;
  • FP8 依赖硬件、缩放因子与计算内核,改变低精度计算路径;
  • KV Cache 量化压缩请求生命周期中的追加状态,主要影响长上下文和并发预算。

它们都不同于只改变权重驻留的仅权重量化路线,不能共用一份执行结论。

选择运行时低精度路径前,先确认:

  • 当前瓶颈来自执行栈,还是来自缓存预算。
  • 硬件是否已经原生支持 FP8。
  • 长上下文和并发是否已经使 KV Cache 成为第一约束。

激活量化需要在异常值与执行收益之间取舍;FP8 需要硬件和计算内核栈配合;KV Cache 量化能扩大上下文和并发预算,但会增加状态量化、读取和质量风险。

运行时路径 ​

激活量化先改变中间张量的表示,再决定 FP8 是否能沿着硬件和计算内核路径执行;KV Cache 量化则改变请求生命周期中 K/V 状态的存储与读取方式。三者都可能减少字节数,但影响的阶段不同:激活量化影响算子间状态,FP8 影响执行路径,KV Cache 量化集中在解码阶段的缓存读写。权重量化与 KV Cache 量化可以同时出现,但必须分别记录容量和质量,组合收益不能直接相加。

路线主要对象关键变量需要对齐的工作负载
激活量化中间激活与矩阵乘输入输出校准、缩放因子、异常值、累积精度prefill / decode、输入长度、输出长度
FP8权重、激活或矩阵乘输入输出缩放、硬件能力、计算内核、混合精度边界prefill / decode、输入长度、输出长度
KV Cache 量化每个请求的 K/V 状态缓存数据类型、量化粒度、更新与反量化位置上下文长度、并发、前缀共享、TPOT

激活量化、FP8 执行与 KV Cache 量化的路径分流

选择条件与验证证据 ​

  1. 先判断主要约束来自激活范围、低精度计算路径,还是缓存预算。
  2. 激活异常值或层间搬运是主因时,先看激活量化与平滑。
  3. 执行栈和硬件支持是主因时,验证 FP8。
  4. 长上下文和高并发预算是主因时,验证 KV Cache 量化。
  5. 最后在真实请求链路和容量账本中验证综合效果。

运行时状态如何变化 ​

运行时低精度的关键不只是位宽,还包括缩放因子由谁计算、何时更新,以及读取时在哪里恢复精度:

状态量化参数通常在哪里产生读取 / 计算时需要确认什么
激活校准阶段或运行时统计缩放因子是否覆盖当前输入,累积精度是否足够
FP8 输入 / 权重模型配置、历史统计或动态缩放因子Tensor Core 路径、累积数据类型、回退路径
KV Cache缓存初始化或按块 / 按 Token 更新量化粒度、反量化位置、缓存读写开销

证据层级 ​

同样的低比特表示在离线张量误差上可接受,进入长上下文服务后仍可能出现 TPOT、质量或并发收益不稳定。激活范围主导误差时检查平滑与累积精度;计算路径是主因时检查 FP8 计算内核;长上下文容量是主因时检查 KV Cache 粒度、读写成本与质量。完成局部机制验证后,使用 06 产物、执行与工作负载决策检查加载、执行和工作负载证据。

证据层级能回答什么不能替代什么
CPU / 数值模拟缩放因子、量化误差、字节数、KV Cache 账本真实计算内核、显存和服务延迟
GPU 环境预检 / 局部机制基准测试FP8 数据类型、缩放因子、Tensor Core 候选路径是否可运行目标服务执行后端的完整行为
执行后端基准测试缓存分配、TTFT、TPOT、并发、质量和回退路径不同工作负载下的泛化结论

Released under the MIT License.