AI Infra 系统学习路线(面向资深K8s管理员)
背景假设:已精通K8s调度/运维,熟悉GPU资源管理(device plugin/调度/监控),
但未系统训练过模型、未深入看过PyTorch/Transformer/vLLM等框架内部。
目标:训练系统 + 推理系统为重点,GPU底层性能与模型原理为支撑。
节奏:10-15h/周,总周期约 22-24 周(~5.5个月),每阶段必须产出可复现的实验数字。
Phase 0|地图与词汇(1周)
快速建立全局认知,知道每个术语属于哪一层,后面阶段才不会”学了后面忘了前面”。
- 精读一遍 pacoxu/ai-infra 的 landscape 图和定义:
Training(DP/TP/EP/SP/PP) / Inference(P-D, KVCache) / RL(训练推理一致性) 三分法 - 过一遍 learninfra.dev 目录作为后续查词典用(不用细读,知道有哪些主题即可)
- 产出:自己整理一张术语表/脑图(Tokenizer→Attention→KVCache→DP/TP/PP→ZeRO→PagedAttention→量化…),标注”我已经懂”/“要补”
Phase 1|PyTorch + Transformer 从”看懂”到”写出来”(4周)
你了解概念但没训练过模型,这一步必须动手把 forward/backward/attention 用代码走一遍,
否则后面”为什么要切分””通信量多大”全是空中楼阁。
核心资源
- Karpathy Neural Networks: Zero to Hero(micrograd → makemore → nanoGPT)— 手写 autograd 和 GPT
- The Annotated Transformer — 逐行对照论文看代码
- HuggingFace Transformers quickstart:tokenizer / model / Trainer,做一次真实 fine-tune
- learninfra.dev:《Inside the Transformer》《GPU Memory Math》巩固 RoPE/GQA/MLA/MoE 和显存构成
项目(必须产出数字)
在1张GPU上训练一个 nanoGPT 量级模型,记录:
- 3种 batch size 下的 tokens/sec 和峰值显存
- 显存拆解:权重 / 梯度 / 优化器状态 / 激活 各占多少
Phase 2|分布式训练系统(重点一,5周)
这是你日常运维对象的”内部原理”,优先级最高。
核心阅读(按顺序)
- Hugging Face Ultra-Scale Playbook — DP/TP/PP/EP/SP/ZeRO 如何组合,怎么选
- How to Scale Your Model(jax-ml scaling-book)— rooflines + 并行策略的系统性分析,TPU视角但方法论通用
- 论文精读三篇:
- Megatron-LM(Tensor + Pipeline 并行)
- ZeRO: Memory Optimizations Toward Training Trillion Parameter Models
- PyTorch FSDP: Experiences on Scaling Fully Sharded Data Parallel
- NCCL collectives 基础:all-reduce / all-gather / reduce-scatter 对应哪种并行策略的通信模式
实践
- 用 FSDP2 或 DeepSpeed ZeRO-3 在公司集群上微调一个 1B~8B 模型(多机多卡)
- 测 MFU、step time、tokens/sec
- 故意 kill 一个 worker,验证分布式 checkpoint 保存/恢复耗时
- 强烈建议:挑一个你集群里真实跑过的分布式训练 job,做 case study —— 它用的是什么并行组合?通信量多大?为什么这样配置?
Phase 3|推理服务系统(重点二,5周)
核心论文/资源
- vLLM 论文:Efficient Memory Management for LLM Serving with PagedAttention(SOSP’23)
- SGLang 论文:Efficient Execution of Structured Language Model Programs(RadixAttention)
- learninfra.dev 系列(非常对口,建议全看):The KV Cache / Batching for LLM Inference /
Quantization / Speculative Decoding / LLM Inference at Scale - Dynamo / PD 分离架构:参考 pacoxu/ai-infra 的
docs/inference/pd-disaggregation.md
实践
- 走读 vLLM 源码关键模块:scheduler、block manager、worker 执行流程
- 项目:同一个 8B 模型分别用 vLLM 和 SGLang 部署,在并发 1/16/64 下测 TTFT、ITL、吞吐/GPU,
再换量化版本(FP8/AWQ)对比一次 - 延伸看一次:投机解码(Medusa/EAGLE)、前缀缓存命中率对延迟的影响
Phase 4|GPU底层与性能排障(支撑性,3周)
这块直接提升你日常故障诊断能力,和你的岗位结合最紧。
- CUDA 编程模型基础:线程/block/warp、内存层级(learninfra.dev《GPU Programming with CUDA》)
- NCCL:在集群上跑
nccl-tests,理解 ring all-reduce 实现与带宽测算 - Profiling:Nsight Systems(看一次训练 step 时间都花在哪)+ PyTorch Profiler(算子级)
- 故障诊断:Xid codes、GPU 掉卡/ECC错误/NCCL hang 等真实故障模式
(learninfra.dev《Troubleshooting GPU Clusters》里六个真实案例非常对口) - 建议:复盘一次你集群里真实发生过的GPU故障或性能瓶颈,用上述工具重新分析一遍
Phase 5|模型/算法原理深化 + 综合案例(4周)
- Pretraining 全流程:数据pipeline、优化器、scaling law(可选做 Stanford CS336 的 Assignment 1/2)
- Post-training:SFT / RLHF / DPO / GRPO —— 重点理解 RL 训练的 actor-rollout 架构,
因为 RL 训练同时需要”训练”和”推理”两套系统协同,这正是你两个重点方向的交汇点 - 综合案例精读:DeepSeek-V3 Technical Report + Insights into DeepSeek-V3: Scaling
Challenges and Reflections on Hardware(arXiv 2505.09343)—— MoE + MLA + 大规模训练 +
推理优化 + 硬件约束的综合实战案例,非常适合作为”期末案例” - 产出:写一份你自己的技术分析——如果要在你的K8s集群上支撑类似规模的 MoE 训练 + RL
后训练,调度/网络/存储需要做哪些改造
Phase 6|持续跟进(长期)
- 关注 pacoxu/ai-infra(每周更新的 landscape + blog)
- 关注 vLLM / SGLang / Megatron-LM 的 release notes
- 定期看 MLSys、OSDI/SOSP 中 AI 系统相关论文
时间总览
| Phase | 内容 | 周数 | 累计 |
|---|---|---|---|
| 0 | 地图与词汇 | 1 | 1 |
| 1 | PyTorch + Transformer 基础 | 4 | 5 |
| 2 | 分布式训练系统(重点) | 5 | 10 |
| 3 | 推理服务系统(重点) | 5 | 15 |
| 4 | GPU底层与性能排障 | 3 | 18 |
| 5 | 模型原理深化 + 综合案例 | 4 | 22 |
| 6 | 持续跟进 | - | - |
原则
- 每阶段必须有带数字的产出(repo + 实测数据),不是看完课程就算完成
- 尽量用你自己集群里真实的训练/推理任务做 case study,比纯 toy 实验价值高得多
- 顺序不要跳:Phase 3的延迟分析依赖Phase 1的token生成原理;Phase 2的MFU分析依赖Phase1的显存构成