云镜收藏

稍后阅读

清单保存在当前浏览器,方便下次回来继续阅读。

清单还是空的

在笔记卡片或正文页点击“加入稍后阅读”即可收藏。

展开章节与本页目录
十四章问道录01机器学习与深度学习基础02Tokenizer 与表示学习03Transformer 与注意力04模型架构与 Scaling05预训练数据与优化06分布式训练07SFT 与参数高效微调08对齐与推理能力09推理与服务优化10RAG 与检索系统11Agent 与工具调用12评测、安全与幻觉13多模态大模型14编程与系统设计题本章问题01大模型推理为什么分 Prefill 和 Decode?02KV Cache 显存怎样估算?03FlashAttention 为什么更快?04PagedAttention 解决了什么问题?05Continuous Batching 是什么?06吞吐、TTFT、TPOT 和并发怎样权衡?07权重量化与 KV Cache 量化有何区别?08GPTQ、AWQ 与 SmoothQuant 思路有何差异?09投机解码为什么能保持目标分布?10Tensor Parallel 怎样影响推理延迟?11Prefix Cache 能带来什么收益?12推理 OOM 应怎样定位?13在线服务怎样做容量规划?14如何公平评测两个推理框架?

第 09 章 · 大模型算法岗

推理与服务优化

围绕 prefill、decode、KV Cache、FlashAttention、PagedAttention、量化与在线调度建立完整性能模型。

14 道核心题校订于 2026年8月31日
推理优化KV Cache量化vLLM

大模型推理为什么分 Prefill 和 Decode?

30 秒口述版

Prefill 并行处理整段提示并建立 KV cache,通常计算密集;decode 每步只生成一个 token,反复读取权重和缓存,常受内存带宽限制。

原理与推导

两阶段工作负载不同,因此 TTFT、TPOT、吞吐和并发必须分别优化。

公式、代码或工程案例

分别用长 prompt 和高并发短请求做压测。

高频追问

  • Chunked prefill 解决什么?
  • 如果规模、数据分布或延迟约束变化,方案应怎样调整?

易错点

不要用单一 tokens/s 掩盖首 token 延迟。

权威来源


KV Cache 显存怎样估算?

30 秒口述版

近似为 2×层数×token 数×KV 头数×head_dim×每元素字节,再乘并发序列。

原理与推导

GQA/MQA、量化和分页管理可降低占用;实际还含块碎片和元数据。

公式、代码或工程案例

对 32 层、8 KV 头、128 维、BF16 代入计算。

高频追问

  • 滑动窗口如何改变缓存?
  • 如果规模、数据分布或延迟约束变化,方案应怎样调整?

易错点

不要用查询头数替代 KV 头数。

权威来源


FlashAttention 为什么更快?

30 秒口述版

它通过分块和在线 softmax 减少 HBM 读写,在片上 SRAM 中完成局部计算,保持精确注意力结果。

原理与推导

理论 FLOPs 仍为二次,但 IO 复杂度更低,且避免物化完整注意力矩阵。

公式、代码或工程案例

比较普通 attention 与 tiled attention 的内存访问。

高频追问

  • FlashAttention-2/3 改进了什么?
  • 如果规模、数据分布或延迟约束变化,方案应怎样调整?

易错点

不要说它把复杂度变成 O(n)。

权威来源


PagedAttention 解决了什么问题?

30 秒口述版

它像虚拟内存一样把 KV cache 划为固定块并用块表映射,降低连续预留造成的内部碎片并支持共享前缀。

原理与推导

分页让调度器能灵活扩展和回收序列,是 vLLM 高吞吐的重要基础。

公式、代码或工程案例

模拟长度未知请求的块分配与释放。

高频追问

  • 块大小如何影响碎片和内核?
  • 如果规模、数据分布或延迟约束变化,方案应怎样调整?

易错点

不要把它与模型里的 block-sparse attention 混淆。

权威来源


Continuous Batching 是什么?

30 秒口述版

调度器按迭代动态加入新请求、移除完成请求,而不是等待整个静态 batch 结束。

原理与推导

它提高 GPU 占用和吞吐,但需要公平性、抢占、cache 管理与延迟 SLO。

公式、代码或工程案例

比较静态 batch 与 iteration-level scheduling 时间线。

高频追问

  • 优先级请求怎样插入?
  • 如果规模、数据分布或延迟约束变化,方案应怎样调整?

易错点

不要只追求满 batch 而饿死长请求。

权威来源


吞吐、TTFT、TPOT 和并发怎样权衡?

30 秒口述版

TTFT 衡量首 token,TPOT 衡量后续 token 间隔,吞吐看单位时间总 token;提高 batch 常增吞吐却可能恶化延迟。

原理与推导

容量规划必须基于真实 prompt/output 长度分布与 SLO,而非离线峰值。

公式、代码或工程案例

绘制并发上升时 p50/p99 和 tokens/s 曲线。

高频追问

  • Goodput 与 throughput 有何区别?
  • 如果规模、数据分布或延迟约束变化,方案应怎样调整?

易错点

不要只报平均延迟。

权威来源


权重量化与 KV Cache 量化有何区别?

30 秒口述版

权重量化减少模型存储和读取,KV 量化减少随上下文与并发增长的缓存;误差来源和校准方法不同。

原理与推导

在线推理是否加速取决于是否有高效低比特内核,不能只看文件大小。

公式、代码或工程案例

分别测试 prefill、decode 和长上下文质量。

高频追问

  • 激活量化为什么更难?
  • 如果规模、数据分布或延迟约束变化,方案应怎样调整?

易错点

不要把 4-bit 存储等同于全程 4-bit 计算。

权威来源


GPTQ、AWQ 与 SmoothQuant 思路有何差异?

30 秒口述版

GPTQ 用二阶近似逐层做训练后权重量化,AWQ 保护重要激活通道对应权重,SmoothQuant 把激活离群难度迁移到权重。

原理与推导

它们面向的权重/激活位宽与硬件实现不同,应按部署栈选择。

公式、代码或工程案例

在同一模型上比较困惑度、任务分数和真实吞吐。

高频追问

  • 校准集怎样选?
  • 如果规模、数据分布或延迟约束变化,方案应怎样调整?

易错点

不要只比较量化误差而忽略 kernel。

权威来源


投机解码为什么能保持目标分布?

30 秒口述版

草稿模型并行提出多个 token,目标模型一次验证并按接受规则修正,因此在正确实现下保持目标模型采样分布。

原理与推导

收益取决于接受率、草稿成本和目标模型并行验证效率。

公式、代码或工程案例

用接受长度与草稿/目标耗时估算加速上限。

高频追问

  • Self-speculative decoding 怎么做?
  • 如果规模、数据分布或延迟约束变化,方案应怎样调整?

易错点

不要直接接受草稿输出而跳过校正。

权威来源


Tensor Parallel 怎样影响推理延迟?

30 秒口述版

TP 把矩阵计算和权重分到多卡,可让大模型装下并降低单卡计算,但每层引入集体通信。

原理与推导

低 batch 或跨节点时通信可能抵消收益,拓扑和并行度要实测。

公式、代码或工程案例

比较 TP=1/2/4 的延迟与显存。

高频追问

  • 为什么高吞吐场景可能偏好较小 TP?
  • 如果规模、数据分布或延迟约束变化,方案应怎样调整?

易错点

不要认为卡数翻倍延迟必减半。

权威来源


Prefix Cache 能带来什么收益?

30 秒口述版

对重复 system prompt 或共享文档前缀复用已计算 KV,减少 prefill 计算与 TTFT。

原理与推导

命中率、隔离安全、版本失效和缓存显存决定实际收益。

公式、代码或工程案例

按 prompt token ID 哈希并将模型/adapter 版本纳入键。

高频追问

  • 不同采样参数影响前缀缓存吗?
  • 如果规模、数据分布或延迟约束变化,方案应怎样调整?

易错点

不要跨模型或模板复用缓存。

权威来源


推理 OOM 应怎样定位?

30 秒口述版

区分权重加载、prefill 峰值、KV 增长、并发调度和碎片,记录请求长度与 cache block。

原理与推导

降低 batch 只是临时手段,应建立 admission control 和最大 token 预算。

公式、代码或工程案例

复现导致峰值的长度/并发组合。

高频追问

  • 为什么空闲显存仍可能分配失败?
  • 如果规模、数据分布或延迟约束变化,方案应怎样调整?

易错点

不要只看 nvidia-smi 的静态数值。

权威来源


在线服务怎样做容量规划?

30 秒口述版

从请求率、长度分布、SLO、模型并行和故障余量出发,用负载测试得到每副本 goodput。

原理与推导

还要考虑冷启动、adapter、峰谷、队列与降级策略。

公式、代码或工程案例

用生产分布回放而非固定长度合成请求。

高频追问

  • 何时需要 prefill/decode 分离?
  • 如果规模、数据分布或延迟约束变化,方案应怎样调整?

易错点

不要按 GPU 理论 FLOPs 直接换算 QPS。

权威来源


如何公平评测两个推理框架?

30 秒口述版

固定模型权重、精度、采样、硬件、长度分布、并发与正确性,再分别报告延迟分位数和吞吐。

原理与推导

必须先校验输出一致性或质量容差,否则更快可能来自精度或截断变化。

公式、代码或工程案例

预热后多轮测量并记录软件版本。

高频追问

  • 为什么离线吞吐不能代表在线?
  • 如果规模、数据分布或延迟约束变化,方案应怎样调整?

易错点

不要选择对某框架更有利的单点配置。

权威来源