Skip to content

推理优化边界:批处理、KV 管理与推测解码何时有效 ​

1. 场景:每个优化都有适用区间 ​

vLLM 快、KV 量化省、推测解码加速——这些结论都有边界。本文用第 1 篇的三本账,逐个算出"何时有效、何时无效",避免照搬参数翻车。配套的引擎实测见 12 章 vllm-principles、vllm-production-deployment 与 speculative-decoding。

2. continuous batching:摊薄带宽账 ​

decode 每 token 读一遍全部权重,单请求下带宽是瓶颈。批处理让多个请求共享一次权重读取:

B_per_token≈N×bytesbatch_sizeB\_per\_token \approx \frac{N \times bytes}{batch\_size}

batch70B FP16 每 token 权重读取理论 TPOT 下限(3TB/s)
1140 GB~47 ms
817.5 GB~5.8 ms
642.2 GB~0.7 ms

边界:batch 越大带宽摊得越薄,但显存(KV 按请求数增长)与调度开销上升。continuous batching 的价值在于:不需要等整批结束,请求动态进出,把"等效 batch"维持在较高水平。何时收益最大?请求到达越密集、每请求输出 token 越多,批处理效果越好;空闲时段(到达稀疏)则几乎无收益。量化判断:若单实例等效 batch < 4 且无法提高并发,升级带宽或换 MoE 比堆 batch 参数更有效。

3. KV 量化与前缀缓存:省显存账与首字延迟 ​

  • KV 量化(INT8/INT4):把第 1 篇 KV 公式里的 bytes 从 2 降到 1/0.5,省显存、省 KV 读取带宽,代价是精度。何时有效:长上下文/高并发下 KV 占比大(如 70B 32K 上下文 KV≈5.2GB,量化后≈1.3-2.6GB);短上下文下收益小。
  • 前缀缓存(Prefix Caching):共享相同前缀的请求复用已算 KV,省的是重复的 prefill 算力。何时有效:系统提示词固定、RAG 共享文档前缀、多轮对话的既有上下文——命中率越高越值;每次前缀都不同的随机请求则几乎无效。站内 vllm-production-deployment 已实测 prefix caching 的首 token 收益,本文补边界:收益上限 = 重复 prefill 算力 / 总算力。

4. 推测解码:只有当验证快于自回归才划算 ​

推测解码(speculative decoding)用草稿模型(小模型/单 token 预测)先猜 N 个 token,再让目标模型一次验证。何时有效,取决于两个时间:

speedup≈N×tdraft+ttargettverify+tdraftspeedup \approx \frac{N \times t_{draft} + t_{target}}{t_{verify} + t_{draft}}

直觉:验证一个 batch 的 token 与生成一个 token 的计算量相同但并行度更高(小 batch 下带宽受限时,验证批比逐 token 自回归更充分地利用带宽)。因此:

  • 有效:目标模型大(decode 带宽瓶颈明显)、草稿模型命中率高(如代码/结构化文本)、小 batch(算力有余而带宽不足)。
  • 无效或负收益:目标模型小(带宽本就不饱和)、草稿命中率低(验证全废)、大 batch 已把带宽摊薄(自回归已接近带宽极限,推测冗余)。

站内 speculative-decoding 篇有实测流程,本文给出决策公式:先测目标模型单 token 时延 tt 与草稿命中率 pp,若 pp 低或 batch 已高,推测解码收益 <10% 就不值得接入。

5. 优化手段适用性速查 ​

手段省哪本账有效条件无效条件
Continuous batching带宽账到达密集、输出长到达稀疏、等效 batch 低
KV 量化显存账+缓存带宽长上下文/高并发短上下文
Prefix cachingprefill 算力账前缀命中率高前缀随机
推测解码decode 延迟大模型+小 batch+命中率高小模型/大 batch/命中率低
权重量化显存账+权重带宽精度可接受精度敏感任务

6. 落地检查清单 ​

  • [ ] 先测当前等效 batch 与带宽利用率,再决定堆 batch 还是换优化手段
  • [ ] KV 量化前先算 KV 占比(KV/总显存),占比 <10% 收益有限
  • [ ] 前缀缓存按命中率评估,不盲目开启
  • [ ] 推测解码用公式预判,接入前先测草稿命中率与单 token 时延
  • [ ] 所有优化以第 1 篇三本账为基准复算,避免"优化了个寂寞"

方法参考:边界条件量化框架参考开源书稿《深入理解 AI Infra:量化分析与系统设计》(李博杰,Apache-2.0,bojieli.github.io/ai-infra-book);本文公式与边界推导为本站自行整理。

AI-HPC 智算超算专家 · Contact: openaihpc@gmail.com