跳转至

学习路线

建议按“单机可解释 → 多卡可推演 → 集群可运营”的顺序推进。每阶段都用一个可运行实验闭环,而不是只背术语。

8 周主线

阶段 主题 达成标准 建议实验
第 1 周 Linux、容器、进程/线程、NUMA 能解释容器看到 GPU 的链路 nvidia-smi、容器 GPU 注入、CPU 绑核
第 2 周 GPU 架构、CUDA 执行与显存 能区分算力、带宽、容量瓶颈 PyTorch Profiler + Nsight Systems
第 3 周 互连、RDMA、NCCL collective 能画出单机/跨机数据流 nccl-tests,比较 PCIe/NVLink/跨机
第 4 周 DDP、FSDP、TP、PP 能根据模型与集群选择并行策略 torchrun 单机多卡,观察 all-reduce
第 5 周 数据加载、checkpoint、容错 能拆解 step time 和恢复路径 人为制造慢盘、worker 退出与重启
第 6 周 LLM 推理、KV Cache、批处理 能解释 TTFT 与 TPOT 的权衡 用固定/突发流量压测 vLLM
第 7 周 Kubernetes GPU 与模型服务 能部署、扩缩并完成灰度 Device Plugin + 一个 GPU Pod/服务
第 8 周 可观测、SLO、容量与成本 能用仪表盘定位一次退化 Prometheus + DCGM + 服务指标联动

每个主题的四问法

学习任意组件时回答四个问题:

  1. 抽象是什么? 它对上层隐藏了什么复杂性?
  2. 关键路径是什么? 数据、控制信号与状态分别怎样流动?
  3. 边界在哪里? 容量、吞吐、延迟、故障域与一致性限制是什么?
  4. 如何证明? 哪些指标、profile 或实验能证伪当前判断?

实验记录模板

# 实验:<标题>

- 日期 / 代码版本 / 镜像 digest:
- GPU / 驱动 / CUDA / 框架版本:
- 节点、网络与存储拓扑:
- 工作负载:模型、精度、序列长度、batch、并发:
- 假设:
- 变量与对照组:
- 结果:P50/P95/P99、吞吐、显存、功耗:
- 结论与适用边界:
- 原始日志或 dashboard 链接:

毕业项目

部署一个小型开源模型,设计两种工作负载(稳定流量与突发流量),完成压测、容量估算、SLO、仪表盘、告警和一次故障演练。最后写一页“为什么选这个配置”的设计说明。

容易走偏的地方

  • 只学组件 API,不画端到端关键路径。
  • 只看平均值,不看分位数、队列和请求形状。
  • 只报 GPU utilization,不解释 SM 活跃、显存带宽与通信等待。
  • 用一次 benchmark 推广到所有模型、序列长度和并发。
  • 先堆复杂平台,再定义用户场景与 SLO。