Skip to content

推理优化(Inference Optimization)

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

页面导语

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

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

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

如何开始

按知识顺序学习时,从 Part 02 的 2.6 核心推理优化 进入,再按 Task0–6 依次学习。想先运行真实服务时,先按使用指南完成 vLLM / SGLang 预检,再运行 66 的最小 backend 实验;遇到 Attention、KV Cache、MoE 或 dtype 知识缺口时,回补对应 Notebook。

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

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

主学习路线与验证出口

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

Task / 主题本阶段要回答的问题学习入口与验证出口学习顺序主要正文入口
Task0 · 请求结构与指标一次请求如何经过 Attention、Prefill 和 Decode,并用 TTFT、TPOT 观察它?核心:Part 02 · 04 Attention(MHA / GQA)先理解 Attention,再建立请求和指标01 请求链路与指标
Task1 · Prefill 与 Attention Kernel为什么 Prefill 会受访存和中间矩阵影响,FlashAttention 改变了什么?核心:Part 01 · 03 GPU 架构与显存Part 01 · 14 FlashAttention 显存模型Part 02 · 20 FlashAttention 模拟;扩展:Part 01 · 24 SRAM 优化GPU 约束 → 访存与 Tiling → Prefill02 Prefill 与 Attention Kernel
Task2 · 单请求 Decode 与生成策略单条请求如何逐步生成 token,采样、推测和多 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 如何保存状态、分页分配、复用前缀并控制容量边界?架构变化会改变什么?核心:Part 02 · 22 vLLM PagedAttentionPart 02 · 24 SGLang RadixAttentionPart 02 · 34 Prefix Cache 与 Chunked Prefill;项目:Part 02 · 69 Prefix Cache;扩展:Part 02 · 71 MLA状态保存 → 分页分配 → 前缀复用 → 容量治理 → 架构扩展04 KV Cache 生命周期与复用
Task4 · 多请求调度与 Serving多请求如何从单步执行,逐层组织成批次、服务池和可控的服务质量?核心:Part 02 · 36 Decode 调度Part 02 · 37 KV Cache 调度Part 02 · 38 Prefill / Decode 分离;项目:Part 02 · 70 Serving 调度;扩展:Part 02 · 39 推理回退与分层Part 02 · 79–81 分布式项目单步选请求 → Cache 接纳与暂停 → 批次与队列组织 → PD 服务池 → Serving 验证07 Serving 调度与 PD 分离
Task5 · 量化部署与成本权重和 KV 量化如何改变显存、速度、质量与 backend 选择?核心:Part 01 · 21 量化理论与 INT4/INT8Part 02 · 25 W8A16Part 02 · 40 GPTQ / AWQPart 02 · 41 FP8 / KV Cache 量化;项目:Part 02 · 67 量化推理与部署;GGUF 走独立 backend表示与时机 → 权重 / KV 量化 → backend 验证05 量化推理与部署
Task6 · 基准比较与部署决策如何在统一 workload 下比较模型、backend 和策略,并根据指标、质量和证据等级做出部署决策?项目:Part 02 · 66 推理性能比较Part 02 · 72 多模型部署对比;汇总 66–72 的结果统一 workload → baseline / candidate → 模型与 backend 对照 → 检查质量 → 输出 accept / tune / reject06 基准测试与决策

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

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

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

补充主题Notebook 入口建议时机
架构基础05 LLaMA3 Block08 Architecture TricksTask0 后按需阅读
MoE 架构06 MoE Router07 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.