LLM 推理系统学习与复习入口
从 Token 数据流到 KV、量化、调度、MoE、并行、Kernel、投机解码和 Serving 的分层学习入口
这里不是一条必须从头读到尾的长课程,而是一张“按问题找主责页”的推理系统地图。每篇技术页开头都有 30 秒复习:第二次回来时先读结论、三个判断、核心模型和边界,再决定是否进入正文或证据层。
想先动手观察参数方向,可以打开推理性能优化交互实验室:调整 Dense/MoE、Batch、ISL/OSL、精度和 TP/DP/EP,观察 per-rank 显存与计算、访存、通信压力。它是教学级理论账本,不替代生产模拟器或实测。
三种读法
5 分钟:找回全局坐标
- 读全栈地图的“30 秒复习”和四种压力表。
- 按当前问题打开下方某个主责页,只读它的“30 秒复习”。
- 需要公式、实现或案例时,再进入同专题的深读页。
30 分钟:建立核心路线
| 步骤 | 页面 | 要回答的问题 |
|---|---|---|
| 0 | 全栈地图 | 优化改变了哪段数据流和哪种资源压力? |
| 1 | Token Flow → Attention 演化 | 一个 token 在模型里怎样流动,KV 为什么存在? |
| 2 | KV Cache | 历史状态占多少容量,如何分页、共享和回收? |
| 3 | Roofline | 当前主要受计算还是数据搬运限制? |
| 4 | 量化 | 低精度到底减少了什么,如何证明运行时和端到端收益? |
| 5 | 批处理与调度 | 调度器如何在吞吐、TTFT 和 ITL 之间分配 token budget? |
| 6 | MoE → 推理并行 → Kernel / Runtime | 多卡与执行层分别增加了什么收益和代价? |
| 7 | 投机解码 | 如何减少目标模型的串行步,而不改变输出分布? |
| 8 | Serving Stack | 如何把机制组装成能部署、能测量的系统? |
给面试官:按“原理—源码—实证”讲一个专题
知识页和优化案例保持物理共存、角色分开。先用主责页建立稳定原理,再用源码页证明实现理解,最后用案例页展示观测、归因、决策与证据边界。这样既不会把某个版本的实现写成永恒知识,也不会让实践笔记脱离机制。
以投机解码为例:
- 投机解码:讲 Draft/Verify、分布等价与收益模型;
- DSpark 与 MTP:讲 Drafter 结构和模型—系统协同;
- vLLM Async Scheduling:沿源码讲状态提交,再用 Trace 方法判断优化是否真正生效。
面试展示优先选择能闭环的一条链,而不是展示文章数量。
按问题查
- OOM、长上下文、Prefix 命中 → KV Cache 专题
- TTFT / TPOT / 吞吐不符合预期 → Roofline + 调度 + Trace
- INT4 / FP8 / FP4 是否真的更快 → 量化专题
- 长 Prefill 干扰 Decode → Prefill 专题
- MoE、跨卡通信、模型放不下 → Serving Runtime 专题
- Decode 串行步太多 → 投机解码专题
- 框架选型或 P/D 架构 → Serving Stack
专题地图
下表中的“主责”表示该知识点只在这页完整解释;“深读”补充模型或算法;“源码”绑定具体实现与版本;“案例”只证明指定 Case。它们放在同一专题中互相链接,不混写证据等级。
推理基础:从 Token 到瓶颈
| 角色 | 页面 | 只负责什么 |
|---|---|---|
| 主责 | LLM 推理系统全栈地图 | 数据流、四种压力、跨层诊断顺序 |
| 主责 | Token Flow 与 Hidden State | 单步 forward、LM Head 与 Sampling 数据流 |
| 主责 | Attention 架构演化 | 共享、压缩、稀疏、递推四条演化路线 |
| 深读 | Kimi K3 架构、训练与推理系统 | 沿前向过程理解 KDA–MLA、AttnRes、Stable LatentMoE 与 1M serving |
| 主责 | Compute-bound vs Memory-bound | Roofline 与瓶颈判断 |
KV Cache:从内存机制到性能模型
| 角色 | 页面 | 只负责什么 |
|---|---|---|
| 主责 | KV Cache | 语义、容量、Paged KV、CoW 与生命周期 |
| 深读 | DeepSeek MLA | 低秩 KV、RoPE 解耦、矩阵吸收与 Serving 边界 |
| 深读 | CSA/HCA 注意力 | 来源驱动的压缩稀疏机制,待核验边界显式保留 |
| 深读 | Causal Attention 与命中面积 | 为什么 Prefill Attention 近似按 1-h² 缩放 |
| 深读 | KV Hit Ratio 修正模型 | 从命中率走到 TTFT / TPM 的端到端修正 |
量化:从数值格式到性能验收
| 角色 | 页面 | 只负责什么 |
|---|---|---|
| 主责 | 量化:从 Scale 到 W4A8 | 对象、格式、Scale、方法、Kernel 的统一坐标 |
| 深读 | CPU 工程师理解量化 | AVX/AMX/Cache 到 Tensor Core/HBM 的心智迁移 |
| 深读 | FP4/FP8 量化 | 数值格式、Scale 配方与 Checkpoint→Kernel 合同 |
| 深读 | 量化方法与评测 | PTQ/QAT 方法控制点与四道验收门 |
| 案例 | GLM-5.2 量化执行图 | 指定模型的 W4A8、BMM、KV8 候选路径与 Trace 核验方法 |
调度与 Prefill:从服务策略到 Trace
| 角色 | 页面 | 只负责什么 |
|---|---|---|
| 主责 | 批处理与调度 | Continuous Batching、调度目标与预算 |
| 深读 | Chunked Prefill | scheduler chunk、性能模型与实验 |
| 深读 | GDN 与 Chunked Prefill | GDN kernel chunk 及 GPU→CPU 同步 |
| 案例 | Prefill Trace 解读 | Worker 供给、DSA/MLA、Queue 与同步证据 |
Serving Runtime:从 MoE 与并行到框架
| 角色 | 页面 | 只负责什么 |
|---|---|---|
| 主责 | MoE 推理 | dispatch-compute-combine、参数作用域与 EP |
| 主责 | 推理并行 | DP/TP/PP/EP/CP 与拓扑选择 |
| 主责 | Kernel / Runtime 优化 | 少搬、少启、少等的执行层判断框架 |
| 主责 | 推理框架对比 2026 | Engine、Serving Stack、实现差异与选型合同 |
| 深读 | 模拟器建模指南 | 显存/吞吐公式、作用域、配置与校准 |
投机解码:从原理到 Runtime 与实证
| 角色 | 页面 | 只负责什么 |
|---|---|---|
| 主责 | 投机解码 | Draft/Verify、接受与输出分布边界 |
| 深读 | DSpark 与 MTP | DeepSeek 具体实现与工程边界 |
| 源码/案例 | vLLM Async Scheduling | 三态配置、placeholder、EAGLE/MTP 状态归属与 Trace 验收 |
来源与证据层
这些页面不是另一套主教程,而是帮助追溯“结论来自哪里、模型如何落账、参数方向怎样观察”:
| 页面 | 角色 | 使用方式 |
|---|---|---|
| DeepSeek-V3 Technical Report 导读 | 来源摘要 | 按原报告理解 MLA、MoE、MTP、FP8 与部署 |
| Agentic Infra 推理优化 | 来源摘要 | 查看 Profiling 驱动优化闭环的原始方法论摘要 |
| Agentic AWP | 相关来源摘要 | 查看 Breakdown 与能力体系,不把建议收益当作实测 |
| Hyperloom Specialist 与配置调优 | 源码拆解 | 看一个 agentic 调参系统的 knob 面、接受阈值和测量方法学边界 |
| 模拟器建模指南 | 建模工具 | 把容量与吞吐公式落到显式作用域、配置和校准合同 |
| 推理性能优化实验室 | 教学工具 | 调参数、看压力方向;不替代生产模拟器或校准 |
使用原则
- 先读主责页,再读深读和案例。
- 第二次回来只读“30 秒复习”;边界不清时再展开正文。
- 案例页中的模型、硬件、版本、Trace 和负载不可省略。
missing、unavailable与not_comparable不是零。- 理论、配置、校准和生产观测必须分别标注。
相关页面
- AI 推理系列 — Reasoning、Agent、RAG、Fine-tuning 与蒸馏
- GPU Architecture Deep Dive — 推理系统的硬件前置
- GPU Communication — 多卡与多节点互联
- Profiling → Simulation 证据链 — 从观测到可校准模型
修改历史14 次提交
- docs: explain async speculative schedulingxiaocheng··
55e093e - docs(inference): add Kimi K3 and Hyperloom studiesxiaocheng··
de2d164 - docs: refine LLM inference knowledge systemxiaocheng··
f8756b9 - feat(site): add inference performance labxiaocheng··
8cb8a8d - docs(wiki): bridge CPU and GPU quantizationxiaocheng··
a04dd83 - docs(wiki): deepen quantization researchxiaocheng··
98221ea - docs(wiki): map modern attention evolutionxiaocheng··
90df777 - feat(site): polish wiki discovery and reading experiencexiaocheng··
e5d16c9 - docs(wiki): publish July inference researchxiaocheng··
0a9b76b - docs: add inference profiling notesxiaocheng··
6885adf - fix(wiki): clean all lint errors to enable strict CI (PR-3)xiaocheng··
9acd1f2 - docs(ai-systems): add comprehensive LLM inference documentationxiaocheng··
dfe9ab1