12. 分布式训练:大模型并行工程
本章定位:本章用"最小可复现实验"路线讲透分布式训练:先用手写代码理解 NCCL 通信与自动微分,再逐步进入张量并行、Flash Attention、混合精度与检查点,最后落到真实训练中的 loss 排查与网络调优。
🧭 阅读地图
- 前置章节:11. 预训练模型 + 04. 高性能网络——训练并行度受模型结构与网络上限共同约束
- 本章定位:第四部 L4 核心章——3D 并行、LLM Lab 动手系列、混合精度/NCCL 调优与故障排查
- 推荐顺序:先并行原理(分布式并行总览)→ LLM Lab 系列 01→07 动手(DDP→TP→Megatron→FlashAttention)→ 调优与排障
- 下一章:13. 推理引擎优化——训练好的模型,如何高效服务
文章目录
分布式并行全景:从单卡到万卡
数据并行、张量并行、流水并行、序列并行、ZeRO、MoE 专家并行的切分逻辑与选型决策,附 7B / 70B / 千卡 LLM 训练典型并行配置与通信量估算。
阅读文章 →
LLM Lab 实验手记 01:分布式训练第一课——从 init_process_group 到 all_reduce
用 18 行代码跑通多卡 NCCL 通信:init_process_group 初始化、rank/local_rank 的区别、all_reduce 集合通信语义,以及分布式训练的第一组排障经验。
阅读文章 →
LLM Lab 实验手记 02:DDP 最小训练——一行包装跑通多卡
用 DistributedDataParallel 包装一个线性模型完成 5 步多卡训练,拆解 DDP 的参数广播、梯度同步与优化器更新机制,理解一行代码背后的分布式协议。
阅读文章 →
LLM Lab 实验手记 03:手写集合通信的自动微分——AllReduce 如何参与反向传播
用 torch.autograd.Function 自定义一个带 AllReduce 的算子,验证集合通信在前向和反向都要执行,并推导出张量并行中 Row Parallel 梯度同步的理论依据。
阅读文章 →
LLM Lab 实验手记 04:张量并行入门——Column/Row Parallel 与 Megatron FFN
用三个最小实验理解张量并行的两种切法:Column Parallel(切列+AllGather)与 Row Parallel(切行+AllReduce),并复刻 Megatron-LM 的 FFN 两层拆分,推导通信量差异。
阅读文章 →
LLM Lab 实验手记 05:注意力张量并行——按 Head 切分 QKV 的 Megatron 写法
多头注意力天然可按 Head 并行:QKV 权重按 head 切分、本地算注意力、AllGather 拼回完整输出。拆解 Megatron-LM Self-Attention 张量并行的最小实现与通信点。
阅读文章 →
LLM Lab 实验手记 06:从零拼一个 Megatron 风格 Transformer Block
把 LayerNorm、多头注意力、FFN、残差连接与 AllReduce 自动微分拼成一个可训练、可分段的 Megatron 风格 Transformer Block,并给出 Attention/FFN/Backward 的逐段耗时剖析方法。
阅读文章 →
LLM Lab 实验手记 07:FlashAttention 为什么快——同机对比实验
在同一台 GPU 上对比标准 Attention(SDPA)与 flash_attn 的耗时与显存行为,拆解 FlashAttention 的分块计算、IO 感知与在线 Softmax 三大设计,建立长上下文瓶颈的第一手认知。
阅读文章 →
Loss Spike 排查:训练发散问题定位
训练中 loss 尖刺/发散/爬升的系统化排查框架:数据层、数值层、通信层、硬件层四层定位法,附工具链与生产案例。
阅读文章 →
混合精度训练与断点续训:稳定与可恢复
BF16/FP16/FP8 混合精度原理与配置、检查点内容设计与异步保存、断点续训的恢复流程与一致性校验,附生产环境清单。
阅读文章 →
NCCL 网络调优实战:万卡集群通信瓶颈定位
从 nccl-tests 基准、NCCL_* 环境变量到 InfiniBand 网络侧 PFC/ECN、ECMP 散列与拓扑拥塞的完整调优路径,附万卡集群 AllReduce 卡顿排查实战案例。
阅读文章 →
ZeRO 与 FP8 训练账:显存拆分的实战手册
四份状态显存账、ZeRO-1/2/3 各省多少、与 TP/PP/DP 组合、FP8 混合精度的收益与精度管理。
阅读文章 →
后训练工程账:SFT、LoRA 与强化学习的显存与成本
SFT 全参 vs LoRA、PPO/DPO/GRPO 三路线对比、评估三道门,附工程对比表与可复算函数。
阅读文章 →
先跑通 LLM Lab 01-03 建立通信直觉,再按需进入张量并行(04-06)与 Flash Attention(07);生产训练先读混合精度与检查点、loss 排查与 nccl 调优。
关键结论速览
分布式训练的"最小单元"是 NCCL 集合通信 + 自动微分;并行策略的选择由"显存装得下吗、通信占比多少、负载均衡吗"三个问题驱动。