LLM 推理系统学习与复习入口
从 Token 数据流到 KV、量化、调度、MoE、并行、Kernel、投机解码和 Serving 的分层学习入口
本文目录
这里不是一条必须从头读到尾的长课程,而是一张“按问题找主责页”的推理系统地图。每篇技术页开头都有 30 秒复习:第二次回来时先读结论、三个判断、核心模型和边界,再决定是否进入正文或证据层。
想先动手观察参数方向,可以打开推理性能优化交互实验室:调整 Dense/MoE、Batch、ISL/OSL、精度和 TP/DP/EP,观察 per-rank 显存与计算、访存、通信压力。它是教学级理论账本,不替代生产模拟器或实测。
三种读法
5 分钟:找回全局坐标
想先快速复习容易混淆的概念,可以读大模型系统的 18 个第一性原理锚点:每个知识点几句话,先分清存储与读取、计算量与耗时、逻辑结构与物理部署。
- 读全栈地图的“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 串行步太多 → 投机解码专题
- 外部 KV 命中、搬运与重算 → 分层 KV Cache
- P/D 交接、路由与 SLO → P/D 分离
- Engram 大表与同机多副本 → TP 分片与同机 DP 共享
- Engram 跨 socket 访问与等待 → NUMA 放置与预取
- 框架选型 → Serving Stack
专题地图
下表中的“主责”表示该知识点只在这页完整解释;“深读”补充模型或算法;“源码”绑定具体实现与版本;“案例”只证明指定 Case。它们放在同一专题中互相链接,不混写证据等级。
推理基础:从 Token 到瓶颈
| 角色 | 页面 | 只负责什么 |
|---|---|---|
| 主责 | LLM 推理系统全栈地图 | 数据流、四种压力、跨层诊断顺序 |
| 复习 | 大模型系统的 18 个第一性原理锚点 | 用短知识点分清概念边界与性能成本 |
| 主责 | Token Flow 与 Hidden State | 单步 forward、LM Head 与 Sampling 数据流 |
| 主责 | Attention 架构演化 | 共享、压缩、稀疏、递推四条演化路线 |
| 深读 | Kimi K3 架构、训练与推理系统 | 沿前向过程理解 KDA–MLA、AttnRes、Stable LatentMoE 与 1M serving |
| 深读/源码 | DeepSeek V4.1 Flash | CED、CSA2、DSpark 与 vLLM 0.31 Runtime 的执行、缓存合同 |
| 深读 | QSA 式稀疏选择、HC 与输出门控 | 历史选择、残差混合、输出门控及其推理成本 |
| 主责 | 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 的端到端修正 |
| 深读/源码 | 分层 KV Cache | 外部复用、加载成本、锁定生命周期与 lazy offload |
量化:从数值格式到性能验收
| 角色 | 页面 | 只负责什么 |
|---|---|---|
| 主责 | 量化:从 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、实现差异与选型合同 |
| 深读 | 模拟器建模指南 | 显存/吞吐公式、作用域、配置与校准 |
| 深读/源码 | P/D 分离 | 当前请求 KV 交接、两阶段路由、背压与公平性能对照 |
| 源码/研究 | Engram TP 分片与同机 DP 共享 | 大表 head 分片、wkv 投影、共享主存与 NUMA/预取验证 |
| 源码/研究 | Engram NUMA 放置与预取 | 双路 x86 的页放置、UVA 查表、串行预取与性能对照 |
投机解码:从原理到 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不是零。- 理论、配置、校准和生产观测必须分别标注。
相关页面
修改历史19 次提交
- docs: publish 18 first-principles anchors for LLM systemsweigao chen··
bc1b856 - docs: explain sparse selection hyper-connections and output gatingweigao.cwg··
bf53977 - docs: publish Engram NUMA placement and prefetch researchweigao chen··
45492b4 - docs: update inference runtime and add Engram TP/DP researchweigao chen··
04637c6 - docs: refine Kimi K3 and add DeepSeek V4.1 Flash analysisweigao.cwg··
2e753e6 - 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