01
分布式训练概述
为什么需要多卡训练?从单卡到多卡的演进,同步与异步的哲学。
基础概念
02
硬件基础与拓扑
GPU拓扑结构(NVLink、PCIe、Ring),通信瓶颈分析。
硬件拓扑
03
数据并行
原理与实现,梯度同步的AllReduce操作。
并行AllReduce
04
模型并行
张量并行与流水线并行的区别,切分策略。
模型切分
05
混合并行
3D并行(DP+TP+PP)的协同设计,Megatron-LM框架。
3DMegatron
06
同步训练
全局同步的Barrier机制,性能与精度的权衡。
同步Barrier
07
异步训练
参数服务器架构,梯度延迟问题,Stale Gradient。
异步参数服务器
08
梯度累积
模拟大Batch Size,解决显存不足。
显存Batch
09
AllReduce算法详解
Ring AllReduce、Tree AllReduce、NCCL实现。
算法NCCL
10
通信拓扑优化
Hierarchical AllReduce,跨节点通信优化,RDMA与IB。
通信RDMA
11
负载均衡基础
计算负载与通信负载,Straggler问题,数据倾斜。
均衡倾斜
12
数据分片策略
均匀分片、Hash分片、动态分片,TFRecord与Sharding。
分片Sharding
13
动态负载均衡
基于运行时的重分配,Elastic Training,Spot Instance容错。
弹性容错
14
流水线并行中的负载均衡
1F1B调度,Chunk划分,Stage分配。
流水线1F1B
15
张量并行中的负载均衡
Column-wise与Row-wise切分,通信量分析。
张量切分
16
ZeRO优化器
ZeRO-1/2/3,显存卸载,CPU Offload。
ZeRO显存
17
混合精度训练(AMP)
FP16/BF16与FP32的混合,Loss Scaling。
AMP精度
18
梯度压缩
量化、稀疏化、Top-K梯度,减少通信量。
压缩Top-K
19
异步通信与计算重叠
Overlap Communication with Computation,Double Buffering。
重叠Double Buffer
20
Profiling与性能分析
Nsight Systems、PyTorch Profiler,识别瓶颈。
Profiler瓶颈
21
NCCL调优
NCCL环境变量,Ring与Tree算法选择,网络带宽测试。
NCCL调优
22
Horovod框架
架构与使用,与PyTorch/TensorFlow集成,Fusion Buffer。
HorovodFusion
23
PyTorch DDP详解
DistributedDataParallel原理,Bucket与Gradient Sync。
DDPPyTorch
24
DeepSpeed框架
ZeRO、Pipeline Engine、Autotuning。
DeepSpeedZeRO
25
Megatron-LM实战
模型并行配置,序列并行,Expert并行。
MegatronExpert
26
弹性训练
动态节点加入/退出,World Size变化。
弹性动态
27
容错与Checkpoint
故障恢复,异步Checkpoint,一致性保证。
容错Checkpoint
28
大规模训练案例
GPT-3/LLaMA训练经验,集群调度策略。
案例GPT-3
29
性能调优实战
从8卡到1024卡,线性扩展性分析,优化技巧。
调优扩展性
30
未来趋势
异构计算、存算一体、新型互联(CXL、UCIe)。
趋势CXL