从 Prompt 到 GPU Kernel 的六十天
适用于有应用层开发经验、希望系统转向 AI Infra 的工程师。 覆盖 GPU 编程、框架内部机制、分布式训练、推理引擎、平台调度五大板块。 节奏:每天 2–3 小时,理论 1h + 动手 1–2h。 原则——先跑通 → 再读代码 → 再读论文 → 再造轮子。
阶段总览
基础与 GPU 编程入门
搭建开发环境、理解 GPU 硬件架构、写出第一个 CUDA kernel。
这一周结束时你应该能看懂 nvidia-smi 的每一行输出,
并且手写过 vector add 和 tiled GEMM。
深度学习框架内部机制
打开 PyTorch 的黑盒——理解 Tensor/Autograd/Dispatcher 的调度路径,
掌握显存管理与混合精度,手写 mini-autograd,
最终理解 torch.compile 为什么能加速。
分布式训练 Infra
这是最重的两周——从单卡到多机,掌握 DP/TP/PP/ZeRO 四大并行范式, 跑通 Megatron-LM 和 DeepSpeed,理解 MFU/HFU 的计算与优化。
推理 Infra 与服务化
从训练转向推理——理解 prefill/decode 两阶段差异, 掌握 PagedAttention、Continuous Batching、量化、Speculative Decoding, 最终部署一个生产级 vLLM 推理服务。
平台化 — 调度、存储、可观测
把训练和推理搬到 Kubernetes 上——学习 GPU 调度、 数据/模型存储加速、DCGM 监控、故障排查, 理解生产环境中 AI Infra 的运维复杂性。
综合项目 + 论文精读 + 复盘
最后一周把所有学到的串起来——搭一个迷你 LLM 平台, 精读 2 篇核心论文,整理 60 天笔记,选定深耕方向。
训练框架研发
Megatron / DeepSpeed 二次开发,设计新的并行策略或优化通信。
推理引擎研发
为 vLLM / TRT-LLM 贡献,优化调度器或实现新的量化方案。
编译器
Triton / TVM / MLIR,从算子层面优化 GPU 计算效率。
平台与调度
K8s + 自研 GPU 调度器,解决大规模集群资源利用率问题。
大规模集群运维
万卡稳定性、故障自愈、性能劣化检测、成本优化。
关键资源清单
书 / 教程
CUDA C Programming Guide
NVIDIA 官方 CUDA 编程教材,GPU 编程必读。
Programming Massively Parallel Processors (PMPP)
GPU 并行编程的经典教材,覆盖算法到优化。
ezyang 的 PyTorch internals
深入 PyTorch 内部机制的系列博文,理解 Dispatcher 和 Autograd 的最佳资料。
HuggingFace Ultra-Scale Playbook
大规模分布式训练的实践指南,从硬件选型到性能调优。
必读论文 Top 10
- Megatron-LM — 大模型并行训练的基石,定义了 TP/PP 的标准做法
- ZeRO / ZeRO-Infinity — 显存优化三级切分,DeepSpeed 的核心
- GPipe / PipeDream — Pipeline Parallelism 的两大流派
- FlashAttention v1 / v2 — IO-aware attention kernel,改变了 Transformer 训练效率
- PagedAttention (vLLM) — KV Cache 分页管理,推理引擎的里程碑
- RadixAttention (SGLang) — Radix tree 前缀缓存,优化多请求共享前缀
- GPTQ / AWQ — 权重量化的两条主流路线
- Speculative Decoding (Google) — 用小模型草稿 + 大模型验证加速生成
- Ring Attention — 序列并行处理超长上下文
- GShard / Switch Transformer — Mixture-of-Experts 的分布式实现
代码仓库(边读边跑)
社区
学习方法建议
每天写笔记
用 Obsidian / Logseq 建一个 AI-Infra knowledge graph,让知识互相链接。
代码先跑通再改
永远先 git clone && 跑 example,再读源码。不要从论文开始。
画图
分布式、并行、调度类内容必须自己画一遍。手绘 > 不画。
Benchmark 习惯
任何"优化"都要有 before/after 数据。没有数据的优化是猜测。
GPU 资源
本地没卡可用 RunPod / Vast.ai / AutoDL 按需租 A100/H100。