训练专栏导览
标签
AI/infra
字数
1379 字
阅读时间
6 分钟
本目录收把模型训出来的那一层。两条线:分布式与显存(01–13,怎么训得更快更大)与训练方法与流程(14–17,怎么让模型学会新能力)。
它与相邻专栏的边界是关注点而不是目录层级:
| 不收 | 去哪看 | 本专栏只关心 |
|---|---|---|
| 单块卡的硬件与卡间物理链路 | GPU 与加速器 | 这些带宽与拓扑如何决定并行策略的形状 |
| 在硬件上写 kernel | CUDA 与算子优化 | 通信与计算如何重叠、显存怎么省 |
| 模型训完之后的推理与部署 | 推理优化 | 训练侧的显存账本与梯度同步 |
| 算法与数学基础、模型本身 | AI/ml/、AI/llm/ 两个专栏 | 训练工程怎么把这些模型真正跑起来 |
一句话区分训练并行与推理并行:训练关注梯度同步与收敛,推理关注显存装载、TTFT/TPOT 与吞吐。同一套 TP/PP/DP 名词,两侧的目标函数不同 —— 这是「训练里的最佳并行配置搬到推理会失效」的原因。
阅读顺序
01 → 05 是地基(会写、知道为什么并行、会通信、能启动、懂显存账),06 → 13 是并行维度与它们的总装,14 → 17 是按流程串起来的训练方法线。
| 篇 | 回答什么 |
|---|---|
| 01-PyTorch 框架与训练循环 | 一个训练 step 到底发生了什么 —— PyTorch 不熟就先读这篇 |
| 02-分布式训练总论与显存账本 | 为什么必须并行 —— 一份可手算的显存账单 |
| 03-集合通信与 NCCL | 数据在卡之间怎么搬 —— 原语、Ring / Tree、通信-计算重叠 |
| 04-训练环境与分布式启动 | 怎么真正跑起来 —— 进程模型、rank 体系、torchrun、NCCL 排障 |
| 05-优化器与显存开销 | 为什么 ZeRO 第一刀砍优化器状态 —— 它占了静态显存的 75% |
| 06-数据并行:DP、DDP 与 FSDP | 三代演进:主卡中心化 → 去中心化 AllReduce → 参数分片; |
| 07-ZeRO 显存优化系列 | 三个阶段的切分对象与显存/通信公式,以及 Offload 的代价 |
| 08-张量并行与序列并行 | 列切 / 行切与「每层 2 次 AllReduce」;SP 如何把 AllReduce 拆成两半换激活 |
| 09-流水线并行 | 气泡的四代调度:GPipe / 1F1B / Interleaved |
| 10-混合精度与显存优化 | 与并行正交的三类单卡手段:混合精度、梯度累积、激活重计算 |
| 11-长序列训练与上下文并行 | 序列长度墙与三种方案:Ring Attention / Ulysses / Megatron CP |
| 12-专家并行与 MoE | All-to-All 与负载均衡 —— MoE 独有的通信模式 |
| 13-3D 并行与混合并行策略 | 总装车间:维度正交组合、通信域映射、rank 编排 |
14 → 17 是一条流程线(换了个视角:不靠更多卡,而是靠数据和奖励信号改变模型行为):
| 篇 | 回答什么 |
|---|---|
| 14-预训练:数据、稳定性与评估 | 喂什么数据、怎么让跑几周的训练不出事、跑完怎么知道好不好 |
| 15-对齐训练:SFT、RLHF 与 DPO | 从 Base Model 到对话助手 —— SFT 学格式、偏好优化学取舍 |
| 16-参数高效微调:LoRA、QLoRA 与 Adapter | 只训一小部分参数的那条省资源路线 |
| 17-Agentic RL | PPO → GRPO 的算法演进、奖励函数设计与 Agentic RL 的 MDP |
01 → 13 与 14 → 17 两张表正交:14–17 的算法可以跑在 01–13 的任意并行配置上 —— 全量 SFT 要 FSDP、LoRA 单卡即可、RLHF 要同时驻留四个模型(15-对齐训练:SFT、RLHF 与 DPO)。
贯穿全目录的两条线索:
一、先问「瓶颈是哪一项」,再选手段。 判定顺序:
装不下 → 状态冗余?→ ZeRO / FSDP
→ 单层? → TP (+SP)
→ 层数? → PP
→ 序列? → CP
→ 激活? → 梯度累积 / 激活重计算
跑不完 → 复制并行 → DP / DDP
单卡内部还能省 → 降精度 / 时间换空间 / 卸载二、通信域按「频率高 → 链路快」映射。 通信量从大到小是 TP > CP > PP > DP,硬件带宽从高到低也是这个顺序 —— 这不是巧合,是把并行维度按需求排序后映射到可用链路的结果。判据的硬件依据见 03-多卡互联与集群网络,完整编排见 13-3D 并行与混合并行策略。
相关
- 03-多卡互联与集群网络 —— 通信的物理层,本目录所有策略的带宽约束来自这里
- 01-GPU 硬件架构与存储层次 —— 训练显存的硬件侧
- 01-数值计算与精度 —— 混合精度与梯度归约顺序的数值问题
- 02-PagedAttention:KV Cache 的分页管理 —— 推理侧对同一批名词的不同用法
参考
- https://caomaolufei.github.io/AIInfraGuide/guides/模块三-分布式训练/11-分布式训练总论
- https://arxiv.org/abs/1909.08053
- https://arxiv.org/abs/1910.02054
- https://pytorch.org/docs/stable/distributed.html
YJ