Training Fundamentals
训练基础:执行图、前向反向、激活、混合精度与优化器的系统视角
本文目录
训练系统的入门基础:在学并行切分和集群调度之前,先把单个 training step 的执行图、四份显存数据和算力账建立起来,再逐层加深到混合精度、激活重算与状态分片。
📚 现有文档
按阅读顺序:
- 训练基础:一个 Step 的执行图、前向、反向与优化器 — 执行图结构、四份显存数据、6P 算力账与 16 B/param 显存账
- 混合精度训练:bf16、fp32 Master 与 Loss Scaling — 精度地图:谁用 bf16 跑、谁用 fp32 记
- Activation Checkpointing:用一次前向换激活显存 — full / selective 重算的显存与算力账
- ZeRO 与 FSDP:把静态显存三份按 Rank 切片 — ZeRO-1/2/3 分片机制与通信原语演变
- 流水线并行:GPipe、1F1B 与气泡账 — 气泡公式 (p−1)/m、峰值激活差异与 microbatch 选型
- 通信与计算重叠:梯度桶、Prefetch 与关键路径 — 通信藏进计算的条件与 trace 验证
🔧 主题概览
1. 基础机制
- 执行图与 autograd — 前向建图、反向镜像、save_for_backward
- 四份数据 — 权重、梯度、优化器状态、激活
- 算力账 — 6P FLOPs/token;显存账 — 16 bytes/param + 激活
2. 显存优化三板斧
- 混合精度 — bf16 跑算子、fp32 记状态,静态账的来源
- Activation Checkpointing — 时间换激活显存
- ZeRO / FSDP — 静态三份按 rank 切片,通信换显存
3. 优化器
- SGD / Momentum — 零状态与一阶状态
- Adam / AdamW — 二阶自适应与 decoupled weight decay
- 省状态变体 — 8-bit Adam、Adafactor、Lion
4. 下一步
- Distributed Training — DP/TP/PP 如何切分这张执行图
- GPU Trace 分析 — 在真实 trace 里观察 forward/backward/step
修改历史3 次提交
- docs: add pipeline scheduling and comm-compute overlap to training trackweigao.cwg··
5ca7518 - docs: add training fundamentals track with step execution anatomyweigao.cwg··
1571bab