Skip to content

13 - 分布式训练

本模块系统讲解大规模模型训练的并行策略和优化技术。

模块结构

13-distributed-training/
├── 01-data-parallel/           # 数据并行
├── 02-model-parallel/          # 模型并行
├── 03-mixed-precision/         # 混合精度
└── 04-large-scale-training/    # 大规模训练

核心内容

01 - 数据并行

技术说明适用场景
DDP分布式数据并行多GPU训练
FSDP全分片数据并行大模型训练
ZeRO零冗余优化器显存优化

DDP原理

  1. 每个GPU持有完整模型副本
  2. 数据分片到各GPU
  3. 梯度AllReduce同步
  4. 同步更新参数

ZeRO优化阶段

  • Stage 1:优化器状态分片
  • Stage 2:梯度分片
  • Stage 3:参数分片

02 - 模型并行

技术说明
张量并行层内切分,矩阵分块
流水线并行层间切分,微批次流水
序列并行序列维度切分

张量并行

  • 列并行:权重按列切分
  • 行并行:权重按行切分
  • 通信:AllReduce/AllGather

03 - 混合精度

技术说明
AMP自动混合精度
BF16Brain Float 16
梯度缩放防止下溢

混合精度优势

  • 显存减半
  • 计算加速2-3x
  • 精度损失可控

04 - 大规模训练

框架特点
DeepSpeed微软,ZeRO优化
Megatron-LMNVIDIA,3D并行
FSDPPyTorch原生

学习路线

DDP基础 → FSDP/ZeRO → 张量并行 → 流水线并行 → 混合精度 → DeepSpeed

依赖库

python
torch>=2.0.0
deepspeed>=0.10.0
accelerate>=0.21.0

Released under the MIT License.