Skip to content

推理优化(Inference Optimization) ​

专题类型:主学习路线 主服务目标:请求性能与 Serving 决策

页面导语 ​

本专题面向希望定位 LLM 请求瓶颈、优化延迟与吞吐,并能做出 Serving 选择的学习者。学习重点是把请求性能问题转化为可测量的指标、可验证的机制和可复查的部署决策。

想沿着一个在线服务问题连续学习时,先读推理优化问题链:从性能症状到项目决策;想按知识和实验顺序学习时,从下方 Task0 开始。

推理优化专题主图:请求、Prefill、Decode、KV Cache 与 Serving

如何开始 ​

按知识顺序学习时,从 Part 02 的 2.6 核心推理优化 进入,再按 Task0–6 依次学习。Task0 的核心内容建立请求与指标基础,扩展项目 66 将这套指标落实为可复用的 benchmark;想先运行真实服务时,再按使用指南完成 vLLM / SGLang 预检。遇到 Attention、KV Cache、MoE 或 dtype 知识缺口时,回补对应 Notebook。

路线图把请求阶段、Task0–6 的学习顺序和各阶段的验证出口放在一起。

推理优化学习路线:从请求链路到专项验证

主学习路线与验证出口 ​

下表按“要回答的问题 → 学习入口 → 验证出口”组织;先沿学习顺序阅读机制,再根据问题选择扩展内容和项目。

Task / 主题本阶段要回答的问题学习入口与验证出口学习顺序主要正文入口
Task0 · 请求结构与指标一次请求如何经过 Prefill、Decode 和 KV 状态,并用 TTFT、TPOT 观察它?共享前置:Part 02 · 04 Attention(MHA / GQA);核心正文:01 请求链路与指标;扩展项目:Part 02 · 66 推理性能比较先建立请求阶段和指标口径;只按需回看 Attention,不在本 Task 展开 Attention 实现01 请求链路与指标
Task1 · Prefill 与 Attention Kernel为什么 Prefill 会受访存和中间矩阵影响,FlashAttention 改变了什么?核心:Part 02 · 04 Attention(MHA / GQA) → Part 01 · 03 GPU 架构与显存 → Part 01 · 14 FlashAttention 显存模型 → Part 02 · 20 FlashAttention 模拟与 SDPA 对照;扩展:Part 01 · 24 SRAM 优化Attention 数据流 → GPU 约束 → 访存与 Tiling → Prefill;测量方法复用 Task0 扩展 6602 Prefill 与 Attention Kernel
Task2 · 投机式生成与 Decode 加速一条请求如何通过 draft / target、多 Token 或多候选验证,在不牺牲验证语义的前提下提高每轮有效推进量?基础:Part 01 · 11 KV Cache 增长 → Part 02 · 21 解码策略;核心:Part 02 · 23 投机解码 → Part 02 · 35 多 Token 投机解码;项目:Part 02 · 68 投机解码基准普通 Decode → 候选提出 → 验证 / 修正 → 有效推进与成本验证;不处理多请求批次调度03 解码策略
Task3 · KV Cache 状态与生命周期KV Cache 如何建立、追加、分页、复用、驱逐并控制容量边界?架构变化会改变每 token 的状态成本吗?核心:Part 02 · 22 vLLM PagedAttention → Part 02 · 24 SGLang RadixAttention → Part 02 · 34 Prefix Cache 匹配与复用;项目:Part 02 · 69 Prefix Cache;扩展:Part 02 · 71 MLA建立 → 追加 → 分页 → 前缀匹配与复用 → 驱逐 / 重算 → 架构扩展;不处理请求公平性04 KV Cache 生命周期与复用
Task4 · 多请求调度、异构 PD 与 Serving多请求如何从请求选择走向动态批次、执行重叠、Prefill / Decode 分池、状态交接和异构资源路由,并维持可控服务质量?核心:Part 02 · 36 Decode 调度 → Part 02 · 37 KV Cache 调度 → Part 02 · 38 Prefill/Decode 调度 → Part 02 · 39 异构 PD 与服务分层;项目:Part 02 · 70 Serving 调度请求级选谁 → Cache 资源级能否接纳 → 迭代级动态批次 / Chunked Prefill → 执行级重叠与局部 handoff → Serving 验证;不展开多卡并行机制07 Serving 调度与 PD 分离
Task5 · 量化部署与成本权重和 KV 量化如何改变显存、速度、质量与 backend 选择?核心:Part 01 · 21 量化理论与 INT4/INT8 → Part 02 · 25 W8A16 → Part 02 · 40 GPTQ / AWQ → Part 02 · 41 FP8 / KV Cache 量化;项目:Part 02 · 67 量化推理与部署;GGUF 走独立 backend表示与时机 → 权重 / KV 量化 → backend 验证05 量化推理与部署
Task6 · 分布式推理、部署比较与决策单实例无法满足容量或服务目标时,如何选择并行方式、估算通信代价、验证多卡/多实例扩展,并形成部署决策?机制支撑:Part 01 · 05 通信拓扑 → Part 02 · 46 NCCL 通信 Profiling → Part 02 · 48 通信热点与缓解 → Part 02 · 49 并行策略选型;MoE 分支:Part 02 · 47 专家并行;项目:Part 02 · 79 分布式并行基准 → Part 02 · 80 MoE 专家并行 → Part 02 · 81 分布式推理验证;正文入口:08 分布式推理与并行;收口:06 端到端基准与决策单实例基线 → 通信观测与缓解 → 并行策略选择 → 多卡/多实例项目 → 模型、backend 与成本决策 → accept / tune / reject08 分布式推理与并行 → 06 端到端基准与决策

推理优化知识地图:从请求对象到验证决策

按需回补:架构与共享前置 ​

遇到架构、MoE、dtype 或精度方面的知识缺口时,从下表回补对应入口,再回到当前 Task 继续学习。

补充主题Notebook 入口建议时机
架构基础05 LLaMA3 Block、08 Architecture TricksTask0 后按需阅读
MoE 架构06 MoE Router、07 MoE Load Balancing需要 MoE 或进入多卡前
硬件与精度Part 01 · 01 数据类型与精度需要补充 dtype、精度或表示基础时
MoE 计算Part 01 · 22 MoE 参数与计算学 MoE 或分布式前按需回补

架构与共享前置关系图:补充内容如何接入推理优化主线

跨专题入口 ​

项目入口已经列在上面的主学习路线表中;需要按现象分流时阅读推理优化判断手册,需要沿请求问题链连续阅读时阅读推理优化问题链。如果问题跨到其他方向,可转到性能分析、显存优化、量化与压缩、算子优化或编译与图优化。

环境与验证 ​

按实验目标选择环境组合:CPU 环境用于机制和指标逻辑,GPU 或 backend 环境用于真实性能与部署结果。

实验类型环境组合适用内容
CPU 机制base.txt + torch-cpu.txtAttention、解码、指标和机制模拟
GPU / Transformersbase.txt + torch-cu128.txtGPU 延迟、吞吐和显存测量
vLLM backendtorch-cu128.txt + inference-vllm.txt66–72 的 vLLM 实验
SGLang backendtorch-cu128.txt + inference-sglang.txt66、69、70、72 的 SGLang 对照实验
Profilingtorch-cu128.txt + profiling.txttrace、TensorBoard 和性能证据

每次真实实验都记录模型、后端、数据类型、序列长度、并发度和结果文件;用报告中的 evidence level 区分 smoke test 与稳定 benchmark。

开始真实实验前,先看使用指南中的环境边界;需要逐条执行时,使用66–72 推理项目验证清单。

Released under the MIT License.