Skip to content

训练专栏导览 ​

标签
AI/infra
字数
1379 字
阅读时间
6 分钟

本目录收把模型训出来的那一层。两条线:分布式与显存(01–13,怎么训得更快更大)与训练方法与流程(14–17,怎么让模型学会新能力)。

它与相邻专栏的边界是关注点而不是目录层级:

不收去哪看本专栏只关心
单块卡的硬件与卡间物理链路GPU 与加速器这些带宽与拓扑如何决定并行策略的形状
在硬件上写 kernelCUDA 与算子优化通信与计算如何重叠、显存怎么省
模型训完之后的推理与部署推理优化训练侧的显存账本与梯度同步
算法与数学基础、模型本身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 → 参数分片;2Ψ vs 3Ψ 的权衡对偶
07-ZeRO 显存优化系列三个阶段的切分对象与显存/通信公式,以及 Offload 的代价
08-张量并行与序列并行列切 / 行切与「每层 2 次 AllReduce」;SP 如何把 AllReduce 拆成两半换激活
09-流水线并行气泡的四代调度:GPipe / 1F1B / Interleaved
10-混合精度与显存优化与并行正交的三类单卡手段:混合精度、梯度累积、激活重计算
11-长序列训练与上下文并行序列长度墙与三种方案:Ring Attention / Ulysses / Megatron CP
12-专家并行与 MoEAll-to-All 与负载均衡 —— MoE 独有的通信模式
13-3D 并行与混合并行策略总装车间:维度正交组合、通信域映射、rank 编排

14 → 17 是一条流程线(换了个视角:不靠更多卡,而是靠数据和奖励信号改变模型行为):

篇回答什么
14-预训练:数据、稳定性与评估喂什么数据、怎么让跑几周的训练不出事、跑完怎么知道好不好
15-对齐训练:SFT、RLHF 与 DPO从 Base Model 到对话助手 —— SFT 学格式、偏好优化学取舍
16-参数高效微调:LoRA、QLoRA 与 Adapter只训一小部分参数的那条省资源路线
17-Agentic RLPPO → 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 并行与混合并行策略。

相关 ​

参考 ​

贡献者 ​

文件历史 ​