LLM Infra Atlas¶
持续更新的 LLM Infra 全景笔记
🌐 llm-infra-atlas.github.io
为什么 LLM 时代需要这个教程?¶
先说一个事实:这个领域知识生产的速度,已经远远甩开了知识传播的速度。
一本书从动笔到上架要一两年,一门课从备课到开讲要一学期,一篇论文从投稿到接收也异常漫长——而 LLM infra 的「最佳实践」是以天为单位迭代的:顶尖公司和实验室的开源项目在 day 0 就能成为行业标配。等你看到系统化的整理,它描述的往往已经是上一个时代。
另一个问题是碎片化且不够深入。传统知识检索方式无法看清全貌。论文/技术报告零碎地告诉你 what 和 why,代码告诉你 how,但中间隔着一层:论文里的示意图怎么对应到 vLLM / Megatron-LM 里哪个文件的哪一行?「通信-计算 overlap」落到 CUDA stream 上到底长什么样?
所以这份教程的生产方式本身就是对这个时代的回应:用 agent 高效整合前沿知识——论文、技术报告、第三方博客、开源实现,逐一对齐;再由人把关每一处定义、每一个行号、每一张图。Agent 负责跟上速度,人负责保证质量。
三个特质¶
1. 够新,也够全。 覆盖训练到推理的完整链路。写的不是教科书或论文里的「经典」,而是当下业界真正在用的东西。
2. 面向生产,源码对照。 每个机制都对齐到 SOTA 开源实现,引用精确到 path:line。
3. 算法知识充分铺垫。 先讲明白模型架构和算法相关的必要背景——infra 从何而来,要服务什么。
章节地图¶
章节按三个层次组织:模型与算子讲模型架构与关键算子,训推系统讲训练与推理的全过程系统实现,底层技术讲硬件、网络与开发技术栈。
模型与算子¶
| 章节 | 你会读到什么 |
|---|---|
| 前沿开源模型架构速览 | 一张总表纵览前沿开源模型的架构选择:attention 形态、MoE 配置、上下文长度、多模态方案,也是后面各专题的索引 |
| Attention | 两条线索:FlashAttention 系列的 kernel 实现(IO-aware tiling、FA2/FA3/FA4、稀疏与线性变体);attention 机制的演进(MHA→MLA、稀疏、线性、混合) |
| MoE | 架构视角:MoE 定义、细粒度专家、LatentMoE、三条负载均衡路线;算子视角:grouped GEMM、DeepEP 通信 kernel、MegaMoE 融合 kernel |
| 多模态 | 视觉/音频如何变成 token 进入 LLM:对比预训练、encoder、经典 VLM、融合与 connector、生成器;以及多模态带来的异构、变长、冗余三类系统问题 |
| Residual | 残差连接与 Norm 放置的经典结论,以及 Hyper-Connections、attention residual 等近期工作 |
| Speculative Decoding | 用 draft-then-verify 无损加速 decode:token tree、draft 方法谱系、MTP、EAGLE,以及 serving 中的落地 |
训推系统¶
| 章节 | 你会读到什么 |
|---|---|
| 并行策略 | DP/ZeRO/FSDP、TP/SP、PP、CP、EP 的全流程逻辑,每个维度都配一个可运行的 lab |
| 训练系统 | 一个训练 iteration 的完整生命周期:train loop、optimizer、checkpoint、dataloader、buffer、activation recompute/offload、显存模型 |
| 推理服务 | prefill/decode 与 SLO、continuous batching、PagedAttention、分层 KV cache、P/D 分离、调度和 overlap、多模态 serving |
| 后训练 | CPT/SFT 与 PPO/GRPO 家族等算法,以及 rollout–train 系统设计、训推一致性、agentic RL |
| 低精度 | 从 FP8 到 FP4:数值格式与 scaling 粒度、DeepSeek 在 Hopper 上的 FP8 训练方案、Blackwell 原生 FP4/FP8 支持 |
| Agent | Agent 的定义与循环、经典工作、DeepSeek Harness、process sandbox 与 microVM |
底层技术¶
| 章节 | 你会读到什么 |
|---|---|
| HPC · 集群与网络 | GPU 硬件参数、roofline 模型、scale-up/scale-out 网络、集合通信、RDMA/IB verbs、大规模可靠性 |
| PyTorch | 框架开发常用的底层 API:内存布局、autograd、distributed、CUDA stream/graph、compile、caching allocator |
| Profiling | 性能与显存观测:torch.profiler、显存 snapshot/memory_viz、Nsight Systems / Compute |
| CUDA & DSL | CUDA 编程基础与 Triton / CuTile / CuteDSL;GEMM+collective 通算融合的 tile/chunk 流水与 persistent kernel |
不知道从哪开始? 三条路线供参考:
- 想搭训练 infra:先读并行策略和训练系统,配合 HPC · 集群与网络理解硬件和环境,需要时查 PyTorch 和 Profiling。
- 想做推理 / serving:先读推理服务,再补 Attention、低精度与投机解码,以及并行策略中的 TP/EP/CP。
- 想搞清楚模型架构和 infra 的 co-design:从前沿开源模型架构速览入手,按兴趣深入 Attention、MoE、多模态等,再接算子和训推的相关章节。
代码对照¶
| 项目 | 上游仓库 | 对照什么 |
|---|---|---|
| Megatron-LM | NVIDIA/Megatron-LM @ e03878b5 | 训练框架:TP/PP/SP/EP、DistOpt、checkpoint |
| SGLang / vLLM | sglang @ 1a5775a9 / vLLM @ 156b1266 | 推理服务:调度、KV cache、P/D 分离 |
| Mooncake / LMCache | Mooncake @ f90ae691 / LMCache @ 09bc14c0 | KVCache-centric serving / 分层 KV cache |
| DeepEP / DeepGEMM | DeepEP @ d4f41e4e / DeepGEMM @ 88965b07 | MoE all-to-all / FP8 grouped GEMM |
| FlashAttention / FLA | flash-attention @ fb02fc8b / fla @ 81091cc6 | attention kernel / 线性·稀疏 attention |
| slime / checkpoint-engine | slime @ 41014d1f / checkpoint-engine @ d1de07b3 | RL 后训练 / serving 侧在线权重更新 |
| DeepSeek Harness / AgentENV | deepseek-harness @ 99f6f02f / AgentENV @ 547c1a8a | Agent loop / Firecracker sandbox |
如何 contribute¶
这个知识库由「人 + coding agent」共同维护:agent 负责检索、对齐、起草、验证,人负责定结构、把关正确性、砍掉正确的废话。写作的全部约定都在 AGENTS.md。
发现错漏、过时的地方,或者有想看的主题,欢迎来 GitHub 开 issue,提 PR。这个领域唯一的常量就是变化,这个仓库也会持续更新。