I·Infra Notes AI Infra 工程实践指南 ← 返回主博客
排障、适配与前沿报告 / READING NOTES

21.2 高频问题 30 秒速答

解释、实现和调试能力验收

问题 30 秒回答骨架
推理加速有哪些方法? 分四层:模型层(量化、GQA/MQA、MLA、投机解码)、算子层(FlashAttention、PagedAttention、算子融合、FP8)、执行层(CUDA Graph、torch.compile、异步 Pipeline)、系统层(Continuous Batching、Chunked Prefill、Prefix Cache、KV 管理、TP/PP/EP、PD 分离)
Prefill 和 Decode 的区别? Prefill 并行处理整个 Prompt,计算密集,决定 TTFT;Decode 每步 1 Token,访存密集,决定 TPOT。前者优化算力,后者优化带宽。
KV Cache 为什么是瓶颈? 容量上随并发线性增长常超权重;带宽上 Decode 每步都要全量读。对策见第 6 章六类手段。
FlashAttention 省的是什么? 省 HBM IO,不是省 FLOPs(反向还会增加)。把 Attention 从访存受限推向计算受限。
PagedAttention 解决什么? 显存碎片(浪费从 60–80% 降到 <4%),并支持前缀共享和 Copy-on-Write。
CUDA Graph 的好处? 减少 Decode 每步的 CPU 调度和 Kernel Launch 开销;不减少 GPU 计算。适合小 Kernel、重复执行、图固定的场景。
Continuous Batching 原理? 每个 iteration 重新组 Batch,请求动态进出,把 Decode 的权重读取分摊到更多请求。
Chunked Prefill 的代价? 中间 Chunk 的采样结果被丢弃(浪费一个 Token),调度更复杂;换来的是 TBT 平滑和防 OOM。
Prefix Cache 怎么保证正确? 缓存 key 覆盖模型/租户/位置等上下文 + 抗碰撞策略 + 明确完整命中时 logits 的取得方式。
量化会掉精度吗? 分三层说:未裁剪均匀舍入可用半个 step 估误差;层输出误差需实测;接近 tie 时 argmax 可能翻转并被自回归放大。用 PPL 与任务质量共同验收。
MoE 省什么? 省计算(激活参数少),不省显存(所有 Expert 都要装)。难点是路由、负载均衡和 All-to-All 通信。
投机解码何时无损? 用目标模型的实际采样分布做精确验收与修正时,输出分布与直接采样一致。
PD 分离的动机? Prefill 计算密集、Decode 访存密集,混跑互相干扰;分离后各自最优,代价是 KV 跨节点传输。
TP 和 PP 怎么选? TP 通信量大、延迟低,放机内(NVLink);PP 通信量小、有 Bubble,跨机。常用 3D 并行组合。