01 - 总览与学习路线
本目录的资源清单转载并整理自开源文档站 AI Infra 学习笔记,作者 程治玮(Se7en / cr7258)。
- 原文站点:https://se7en.mintlify.app/resources
- 源仓库:https://github.com/ai-infra-learning/docs (MIT License)
配图取自该仓库收录的《AI Systems Performance Engineering》配套图集(cfregly/ai-performance-engineering),仅作学习用途,版权归原作者所有。
七条主线
AI Infra 的知识面很宽,但真正撑起这个领域的就是下面七条主线。每条主线的资料清单都在 02 - 学习资源大全 里,点击直达对应章节。
| 主线 | 你要回答的问题 | 资源清单 |
|---|---|---|
| LLM 基础 | Transformer 到底在算什么?怎么从零训一个 GPT? | 学习资源大全 · LLM 基础 |
| 训练与 Scaling | 模型怎么在几千张卡上训起来?Scaling Law 怎么指导决策? | 学习资源大全 · 训练与 Scaling |
| 推理与 Serving | 显存怎么省?吞吐怎么提?延迟怎么压? | 学习资源大全 · 推理与 Serving |
| GPU 编程 | Kernel 怎么写?怎么逼近 cuBLAS? | 学习资源大全 · GPU 编程 |
| 性能分析 | 瓶颈在哪?Roofline 怎么读?Nsight 怎么用? | 学习资源大全 · 性能分析 |
| RAG | 检索链路怎么和 Serving 协同优化? | 学习资源大全 · RAG |
| Agent | Agent Loop、工具调用、Harness 工程怎么做? | 学习资源大全 · Agent |
另有三份索引:学习资源大全 · 核心论文清单、学习资源大全 · 书籍、学习资源大全 · 课程,以及一份硬核开源项目图谱。
第一性问题:为什么 AI Infra 全是内存问题
几乎所有 AI Infra 的优化,最后都能归结到**「算力很富裕,带宽很稀缺」**这一条。

GPU 的片上 SRAM 快但极小,HBM 大但慢十几倍。标准 Attention 要把整个 N×N 注意力矩阵写回 HBM 再读出来,于是时间全花在搬数据上:

FlashAttention 的做法是分块 + Online Softmax,让中间结果始终留在 SRAM 里,永不物化完整矩阵:

同样的思路换个场景就是 PagedAttention:KV Cache 放不下、碎片化严重,就借操作系统的分页机制来管。认准「带宽是瓶颈」这条线,推理、训练、通信三块的优化手段就能串起来。
对应资料:GPU 编程与 Kernel 优化 里的 FlashAttention 专区,以及 vLLM 推理专题 02 - PagedAttention。
主线一:LLM 基础
Attention 的几种变体是理解后续所有优化的前提 —— MQA/GQA/MLA 本质上都是在削减 KV Cache 的体积:

MoE 则是另一条路:总参数量放大,但每个 token 只激活其中一小部分专家:

推荐路径:nanoGPT 跑通 → CS336 补全链路 → nanochat 看端到端。详见 学习资源大全 · LLM 基础。
主线二:训练与 Scaling
分布式训练的核心开销是梯度同步。Ring AllReduce 把 N 张卡的全量同步拆成 2(N-1) 步邻居通信,让通信量与卡数解耦:

DDP 在此之上做梯度分桶,让反向传播和 AllReduce 重叠,把通信藏进计算里:

推荐路径:《How to Scale Your Model》建立 Roofline 直觉 → CS336 Assignment 2 动手做分布式 → 读 Megatron-LM / torchtitan 源码。详见 学习资源大全 · 训练与 Scaling。
主线三:推理与 Serving
推理的两个阶段性格完全相反:Prefill 计算密集、Decode 访存密集。放在一起跑必然互相干扰,于是有了 Chunked Prefill 和 PD 分离两条路线。PD 分离要解决的核心工程问题是 KV Cache 怎么跨节点传:

推荐路径:先完整读一遍 vLLM 推理专题(七期,带图带源码),再按 学习资源大全 · 推理与 Serving 的论文清单精读 PagedAttention、Sarathi-Serve、DistServe、Mooncake。
主线四:GPU 编程
从 SM 的结构开始理解 CUDA 的线程层次,是写 Kernel 的地基:


推荐路径:siboehm 的 SGEMM Worklog(从朴素实现逼近 cuBLAS,性价比最高的一篇)→ LeetCUDA 刷 Kernel → Triton / CUTLASS 二选一深入。详见 学习资源大全 · GPU 编程。
本站已有的实操笔记:CUDA 编程、Kuiper 自研推理框架。
主线五:性能分析
优化之前先测量。Pinned Memory + 非阻塞拷贝这类优化,只有在 Nsight 时间线上才看得出收益:



推荐路径:Nsight Systems 看时间线定位 → Nsight Compute 看 Kernel 细节 → Roofline 判断是算力受限还是带宽受限。详见 学习资源大全 · 性能分 析。
主线六:集群与调度
单机之上是集群。GPU 共享(MIG / MPS / 时间片)、Kubernetes DRA、批调度是这一层的核心话题:


对应资料:vLLM 推理专题 07 - 开源推理平台全景,以及 硬核开源项目图谱 的「集群与编排」一节。
一条务实的学习顺序
第 ④ 步不要跳过。本站 项目沉淀 里的四个项目,就是这一步的产物。