跳转到主要内容

Training Fundamentals

训练基础:执行图、前向反向、激活、混合精度与优化器的系统视角

· 约 2 分钟阅读

本文目录

训练系统的入门基础:在学并行切分和集群调度之前,先把单个 training step 的执行图、四份显存数据和算力账建立起来,再逐层加深到混合精度、激活重算与状态分片。

📚 现有文档

按阅读顺序:

  1. 训练基础:一个 Step 的执行图、前向、反向与优化器 — 执行图结构、四份显存数据、6P 算力账与 16 B/param 显存账
  2. 混合精度训练:bf16、fp32 Master 与 Loss Scaling — 精度地图:谁用 bf16 跑、谁用 fp32 记
  3. Activation Checkpointing:用一次前向换激活显存 — full / selective 重算的显存与算力账
  4. ZeRO 与 FSDP:把静态显存三份按 Rank 切片 — ZeRO-1/2/3 分片机制与通信原语演变
  5. 流水线并行:GPipe、1F1B 与气泡账 — 气泡公式 (p−1)/m、峰值激活差异与 microbatch 选型
  6. 通信与计算重叠:梯度桶、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. 下一步