> For the complete documentation index, see [llms.txt](https://yeasy.gitbook.io/llm_internals/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://yeasy.gitbook.io/llm_internals/di-san-bu-fen-tui-li-yu-bu-shu-pian/10_inference_optimization/summary.md).

# 本章小结

**推理瓶颈的第一性分析**：decode 每步要把权重和 KV 缓存从显存读一遍，只换来一行结果。Llama 3 8B 在 H100 上读一遍权重约 4.8 ms，计算只要 0.016 ms，两者之比就是 Roofline 的拐点 295。批处理把工作点沿斜线向右推，但只摊薄权重读取；KV 读取随批大小线性增长，显存容量往往先于算力见顶。

**KV 缓存**用显存换掉了重复计算，每词元占 $2Ln\_{kv}d\_hb\_{\text{elem}}$ 字节（$b\_{\text{elem}}$ 为每个数的字节数）。**GQA** 减少头数；**MLA** 把每层每词元的 K、V 换成 512 维隐向量加 64 维各头共用的位置键，共 576 个数；CSA/HCA 压缩词元数量；跨层共享减少层数；KV 量化减少每个数的字节。**PagedAttention** 把碎片与过度预留的浪费压到最后一块以内。**前缀缓存**只能复用从头开始的相同前缀。

**FlashAttention** 用分块、在线 Softmax 和反向重计算，让 $T \times T$ 的注意力矩阵不落显存：FLOPs 略增，HBM 读写降到约 1/9，保持稠密注意力的数学定义，但浮点数值可能随实现变化。FA2 到 FA4 的算法骨架不变，变的是循环怎样映射到每一代硬件上；**Ring Attention** 将分块与在线累积扩展到多卡。Decode 时不存在这张矩阵，收益小得多。

**模型量化**减少每个参数的位宽。Weight-only 量化只在带宽受限的 decode 上提速，`g = 128` 的 INT4 有效位宽是 4.125 位；权重与激活同时量化才能提高算力上界，难点是激活的离群通道。**剪枝**只有结构化或 2:4 这类硬件认可的形态才能兑现加速；**蒸馏**用教师的分布训练小模型，常与结构化剪枝配合使用。

**投机解码**用接受概率 $\min(1, p/q)$ 与残差重采样保证输出分布不变，期望加速比为 $(1-\alpha^{\gamma+1}) / ((1-\alpha)(\gamma c+1))$。原论文在 T5-XXL 上实测 2–3 倍；它用的是 decode 闲置的算力，$B(\gamma+1)$ 越过约 316 个位置后验证不再免费。

这些优化彼此牵制：量化 KV 缓存让批可以开得更大，批变大又用掉了投机验证所需的空闲算力。这类取舍不落在任何单项技术内部，谁来仲裁？

***

> 📝 **发现错误或有改进建议？** 欢迎提交 [Issue](https://github.com/yeasy/llm_internals/issues) 或 [PR](https://github.com/yeasy/llm_internals/pulls)。
