DeepSpeed
中文 Tutorial 入门书
面向:用 HuggingFace Trainer 时见过
--deepspeed ds_config.json不知道这文件里到底在写什么的开发者。前置:PyTorch DDP 用过,知道"梯度同步"是怎么回事;理解 fp16/bf16 混合精度。
本书的目标
- 看到一份
ds_config.json,能立即说出每一项在控制什么硬件资源; - 在 ZeRO-1 / 2 / 3 / Offload 之间根据 GPU 数量和模型大小做出合理选择;
- 用 HF Trainer + DeepSpeed 跑通从 SFT 到全量预训练的常见场景。
目录
| 章节 | 标题 | 状态 |
|---|---|---|
| 序 | 为什么 ZeRO 改变了一切 | ✅ |
| 第 1 章 | 项目背景与定位 | ✅ |
| 第 2 章 | 安装与版本矩阵(CUDA / PyTorch / DS 兼容表) | ✅ |
| 第 3 章 | 快速上手:第一次跑通 DeepSpeed | ✅ |
| 第 4 章 | 核心概念:DeepSpeedEngine 与初始化流程 | ✅ |
| 第 5 章 | ZeRO 三阶段拆解:到底分了什么、什么时候 all-gather | ✅ |
| 第 6 章 | Offload:CPU / NVMe 卸载的代价与收益 | ✅ |
| 第 7 章 | DeepSpeed config 全字段词典 | ✅ |
| 第 8 章 | 与 HuggingFace Trainer 集成的源码路径 | ✅ |
| 第 9 章 | Pipeline 引擎 / 3D 并行 / MoE | ✅ |
| 第 10 章 | DeepSpeed-Inference 与 DeepSpeed-MII | ✅ |
| 第 11 章 | 性能调优:bucket size / overlap / fused optimizer | ✅ |
| 第 12 章 | 常见错误与解决:cpu_adam、stage 3 hang、bf16 NaN | ✅ |
| 第 13 章 | 源码导读:从 deepspeed.initialize() 开始 | ✅ |