Back to blog

[论文精读] Efficient Training of LLMs on Distributed Infrastructures: A Survey

分布式 LLM 训练系统与基础设施的深度技术分析

[论文精读] Efficient Training of LLMs on Distributed Infrastructures: A Survey

一、论文概述

项目内容
标题Efficient Training of Large Language Models on Distributed Infrastructures: A Survey
作者Jiangfei Duan, Shuo Zhang, Zerui Wang, Lijuan Jiang, Wenwen Qu, Qinghao Hu, Guoteng Wang, Qizhen Weng, Hang Yan, Xingcheng Zhang, Xipeng Qiu, Dahua Lin, Yonggang Wen, Xin Jin, Tianwei Zhang, Peng Sun
机构南洋理工大学、香港中文大学、北京大学、上海人工智能实验室、华为、腾讯、清华大学
论文arXiv:2407.20018
发布2024-07-29
许可arXiv 非独占分发许可
引用数500+ 篇参考文献
关键词LLM 训练, 分布式系统, 并行策略, 计算优化, 通信优化, 内存优化, 可靠性

二、问题背景与动机

2.1 LLM 训练的规模挑战

大语言模型(LLMs)的成功建立在其前所未有的规模之上:

模型参数量GPU 数量训练时间训练数据
LLaMA-3 405B405B16K H10054 天15T tokens
GPT-3175B1024 A100~34 天300B tokens
PaLM540B6144 TPUv4~64 天780B tokens
BLOOM176B384 A100117 天366B tokens

核心挑战:这些挑战集中在三个维度——可扩展性(Scalability)、效率(Efficiency)、可靠性(Reliability)(简称 “SER”)。

2.2 SER 框架详解

综述结构

可扩展性(Scalability)

硬件可扩展性:

  • 构建可扩展基础设施:大规模 GPU/AI 加速器集群
  • 高性能网络:连接数万设备
  • 分布式存储:处理 PB 级数据和检查点

系统可扩展性:

  • 设计可扩展并行策略
  • 通信算法实现近线性扩展
  • 在数千加速器上保持模型精度

效率(Efficiency)

计算效率:

  • 最大化 Model FLOPs Utilization (MFU)
  • MFU = 实际 FLOPs / 硬件峰值 FLOPs
  • 典型 MFU:40-50%(Megatron-LM on A100)

通信效率:

  • 减少 All-Reduce 通信开销
  • 通信-计算重叠
  • 梯度压缩和量化

内存效率:

  • 激活检查点
  • 参数分片
  • CPU/SSD 卸载

可靠性(Reliability)

故障类型:

  • 硬件故障:GPU、网络、存储
  • 软件故障:NaN/Inf 损失、梯度爆炸
  • 环境故障:电力中断、冷却系统故障

容错机制:

  • 检查点策略:异步检查点、增量检查点
  • 弹性训练:支持动态增减 GPU
  • 热备节点:快速替换故障设备

2.3 LLM 训练工作负载特性

1. 同构模型架构:

  • 所有主流 LLM 均基于 Transformer
  • 架构统一性为系统优化提供机会

2. 前所未有的规模:

  • 数千亿参数,TB 级训练数据
  • 需要分布式训练
  • 训练持续数周至数月

3. 专业化软件优化:

  • Megatron-LM:混合并行
  • DeepSpeed:状态分片优化器
  • Alpa:自动并行

三、基础设施层详解

3.1 AI 加速器

基础设施概览

NVIDIA GPU 架构演进

架构代表产品关键特性HBM 带宽
AmpereA100FP16/BF16, 312 TFLOPS2 TB/s
HopperH100FP8, Transformer Engine, 1979 TFLOPS3.35 TB/s
BlackwellB200FP4, 4.5 PFLOPS8 TB/s

GPU 架构细节:

  • Streaming Multiprocessors (SM):每个 SM 包含多个核心
  • 共享内存:线程间数据交换
  • 高带宽内存 (HBM):加速数据传输
  • Tensor Cores:专用矩阵运算单元

其他 AI 加速器

加速器机构关键特性适用场景
AMD MI250XAMD64 GB HBM, 191.5 TFLOPS FP16Frontier 超算
GAUDI2Intel2 矩阵乘法引擎GPT-3 175B 训练
TPUv4Google4096 芯片, 60% 峰值效率大规模训练
Graphcore IPUGraphcore64 Bow-class, 22 petaFLOPSGPT-3 训练
Cerebras CS-2Cerebras850K 处理核心, 晶圆级加速器开源模型训练

3.2 网络基础设施

芯片间通信拓扑

芯片间拓扑

拓扑类型代表技术带宽特点
树状 (Tree)PCIe16-64 GB/s层级结构,可扩展性有限
Cube-MeshNVLink-1.0160 GB/s 双向4 GPU 平面网格,8 GPU 立方体
全连接 (Switch)NVSwitch900 GB/s8 GPU 全连接,最低延迟
全连接 (P2P)Infinity Fabric100+ GB/sAMD GPU 互连
2D-TorusTPUv2/v3可变Google TPU 架构

节点间通信技术

技术带宽特点
InfiniBand EDR100 Gbps专用网络,高成本
InfiniBand HDR200 GbpsHPC 环境主流
InfiniBand NDR400 Gbps最新一代
RoCE-v225-100 Gbps基于以太网,成本较低
GPUDirect-RDMA可变绕过 CPU,直接 GPU 通信

大规模集群网络拓扑

网络拓扑

拓扑类型代表实现特点
Clos (Fat-Tree)Meta LLaMA-3 集群任意通信,7:1 过载比
Dragonfly+Microsoft Azure减少跳数,低成本
Rail-OptimizedNVIDIA DGXGPU 直连叶子交换机
Rail-OnlyByteDance简化拓扑,高带宽

Meta LLaMA-3 集群架构:

  • 24,000 GPU
  • 8 个 Pod,全带宽互连
  • 核心层 7:1 过载比
  • 支持 LLaMA-3 405B 训练

负载均衡与拥塞控制

LLM 训练流量特征:

  • 少量大象流(elephant flows)
  • 周期性网络突发(梯度同步)
  • 每个计算节点连接数少

负载均衡策略:

策略原理适用场景
ECMP哈希均衡路径传统 HPC
E-ECMP扩展字段哈希LLaMA-3 训练
Packet Spraying包级分散需要乱序处理
Ethereal贪婪路径分配大规模集群

拥塞控制协议:

协议特点
PFC (Priority Flow Control)以太网标准
DCQCN数据中心增强
HPCC高精度拥塞控制
EQDS自适应队列管理
MLTCP机器学习优化 TCP

3.3 存储系统

检查点存储

系统机构特点
TectonicMeta分布式文件系统,支持数千 GPU
HDFSByteDance集中式检查点维护
Ceph开源对象存储,易扩展

检查点大小估算:

  • 70B 参数模型:~980 GB
  • 405B 参数模型:~5.7 TB
  • 需要高写入带宽

训练数据存储

系统类型特点
Lustre并行文件系统HPC 主流
GPFS并行文件系统IBM 产品
BeeGFS并行文件系统开源,易部署

数据规模:

  • LLaMA-3:15T tokens(~30 TB)
  • 数据预处理:原始数据 > 100x 最终数据
  • WanJuan-CC:68B 文档 → 1T tokens(2 TB)

数据缓存

系统功能
Alluxio从 HDFS/对象存储缓存
JuiceFS分布式缓存
QuiverGPU 直接访问缓存

3.4 集群调度

工作负载调度

调度器类型特点
Gavel异构感知跨 GPU 世代优化
FGD作业打包细粒度 GPU 共享
Pollux自适应缩放动态调整 GPU 数量
CriusLLM 专用混合并行 + 硬件亲和性
Hydro超参数调优缩小模型搜索,融合训练
Acme工作流调度LLM 开发全流程

资源调度

资源类型调度系统特点
网络Cassini通信阶段交错
网络HIRE网络内计算调度
存储SiloD数据缓存 + 远程 I/O 联合分配
CPU/内存SynergyCPU 核心优化分配
能耗EnvPipe流水线气泡节能
能耗Zeus批大小 + GPU 功率优化
能耗Perseus时间-能耗 Pareto 前沿

四、并行策略层详解

4.1 混合并行

3D并行

3D 并行 = 数据并行 + 张量并行 + 流水线并行

数据并行 (DP)

基本原理:

  • 每个 GPU 持有完整模型副本
  • 数据沿 batch 维度分片
  • All-Reduce 聚合梯度

分片策略:

策略分片因子 F通信量内存占用代表系统
完全复制 (F=1)1AllReduce: 2×model_size完整模型PyTorch-DDP, Horovod
ZeRO-1WReduceScatter + AllGather优化器状态分片ZeRO
ZeRO-2W同上+梯度分片ZeRO
ZeRO-3W同上+参数分片ZeRO-3, FSDP
MiCSW可变部分分片MiCS

通信操作详解:

  • All-Reduce:所有 GPU 聚合梯度,通信量 2×(N-1)/N × model_size
  • ReduceScatter:每个 GPU 得到部分聚合结果,通信量 (N-1)/N × model_size
  • AllGather:每个 GPU 收集完整参数,通信量 (N-1)/N × model_size

张量并行 (TP)

基本原理:

  • 层内参数张量分片
  • 通信中间激活张量(小于参数/梯度)
  • 适合节点内高带宽互连(NVLink)

分片维度:

维度方法特点
1-DMegatron-LM列切分 + 行切分,2 次 AllReduce
2-DOptimusSUMMA 算法,减少通信
2.5-DTesseract通信-内存权衡
3-D3-D TP进一步优化

Megatron-LM 1-D TP 详解:

  • MLP:第一个矩阵列切分,第二个矩阵行切分
  • Attention:Q/K/V 按头分片
  • 每层 2 次 AllReduce

流水线并行 (PP)

基本原理:

  • 模型层分段,每段映射到一组 GPU
  • 微批次流水线执行
  • 适合跨节点低带宽互连

调度策略对比:

策略气泡率内存需求特点
GPipe(P-1)/M高全前向 + 全后向
PipeDream (1F1B)(P-1)/M中交替前向/后向
Interleaved 1F1B(P-1)/(M×V)中虚拟阶段交错
Zero Bubble~0高气泡消除
DynaPipe自适应自适应动态调整

内存不平衡问题:

  • 前阶段需要保存更多微批次
  • 后阶段内存需求较低

解决方案:

  • V-Shape:非均匀层分配
  • AdaPipe:自适应内存分配
  • Chimera:双向流水线

序列并行 (SP)

基本原理:

  • 输入数据沿序列维度分片
  • 每个 GPU 处理序列的一部分
  • 支持超长序列训练(百万级 token)

挑战:

  • 注意力计算复杂度 O(n²)
  • KV 通信开销
  • 因果掩码导致负载不均衡

代表方法:

方法原理特点
Ring Self-Attention环形通信 KV最早提出
Megatron-SP与 TP 结合减少冗余计算
DeepSpeed-Ulysses序列分片高效通信
Context Parallel上下文并行Meta 实现
LoongTrain长序列优化选择性检查点

专家并行 (EP)

专家并行

MoE 架构:

  • 多个专家网络处理不同数据子集
  • 门控网络路由 token 到专家
  • All-to-All 通信协作

稀疏激活:

  • GShard:top-2 路由
  • Switch Transformer:top-1 路由
  • DeepSpeed-MoE:共享专家 + 分层专家

通信优化:

  • PipeMoE:流水线专家并行
  • ScheMoE:调度优化
  • FasterMoE:拓扑感知通信

4.2 自动并行

通用框架

框架搜索空间算法
PipeDreamDP + PP动态规划
DAPPLEDP + PP分析模型 + DP
AutoPipePP模拟器 + 启发式
OptCNN所有维度分析性能模型
AlpaDP + TP + PP层级化搜索

Transformer 专用框架

框架特点
DeepSpeed-Autotuning自动调优系统参数
Galvatron动态规划 DP + TP + PP
Merak非侵入式自动并行
Colossal-AI统一接口,模块化
Galvatron-BMW扩展 ZeRO + 激活重计算

4.3 异构并行

异构硬件

RLHF

系统特点
HetPipe虚拟工作分区,异步 DP
AccPar灵活张量分片,平衡计算
Whale统一抽象,图优化
AMP异构感知性能模型
Pathways分片数据流,异步执行

异构模型(RLHF)

RLHF 训练流程:

  1. 阶段 1:监督微调(SFT)
  2. 阶段 2:奖励模型训练
  3. 阶段 3:PPO 训练

PPO 训练的模型异构性:

  • 推理过程:Actor 生成回复
  • 训练过程:Actor + Critic 更新权重
  • 涉及 4 个模型:Actor, Critic, Reward Model, Reference Model

优化策略:

  • 模型并行:每个模型独立分片
  • 流水线并行:推理和训练流水线化
  • 资源共享:动态分配 GPU 资源

五、计算优化详解

5.1 算子优化

注意力算子优化

标准注意力:

Attention(Q,K,V)=softmax(QKTd)V\text{Attention}(Q,K,V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d}}\right)V

计算复杂度:O(n²d),内存复杂度:O(n² + nd)

FlashAttention 系列:

版本核心技术加速比内存节省
FlashAttentionIO-aware, 分块计算2-4x5-20x
FlashAttention-2优化并行,减少非矩阵乘法2x vs FA1同上
FlashAttention-3H100 优化,FP8 支持1.5-2x vs FA2同上

FlashAttention 原理:

  • 将 Q/K/V 分块加载到 SRAM
  • 在 SRAM 中计算注意力
  • 避免 n×n 注意力矩阵物化
  • IO 复杂度从 O(n²) 降至 O(n²d²/M)(M 为 SRAM 大小)

编译器自动优化

编译器层级特点
Halide算子级调度原语,数据局部性
TVM算子级自动调优,多后端
Roller算子级搜索空间优化
Triton算子级C 语言,层级化 tiling
ALCOP算子级自动加载-计算流水线
XLA图级算子融合,JIT 编译
TorchInductor图级PyTorch 生态
Chimera图级自动算子融合

5.2 混合精度训练

16 位浮点

格式位数动态范围精度适用场景
FP16165-6 位指数10 位尾数通用训练
BF16168 位指数7 位尾数大范围值
TF32198 位指数10 位尾数Ampere+

FP16 混合精度训练:

  • 前向/后向:FP16 计算
  • 权重更新:FP32 累加
  • Loss Scaling:防止梯度下溢

8 位及以下浮点

格式位数特点
FP8 (E4M3)84 位指数,3 位尾数
FP8 (E5M2)85 位指数,2 位尾数
FP44极低精度,Blackwell 支持

FP8 训练技术:

  • 分块计算:保持精度
  • 随机舍入:权重更新
  • 混合格式:前向/后向使用不同格式
  • Loss Scaling:数值稳定性

低比特定点

格式位数特点
INT88Jetfire,WMMA 张量核心
INT44Xi et al.,Hadamard 变换
1-bit1BitNet,二值权重
1.58-bit1.58BitNet b1.58,三值权重 {-1, 0, 1}

六、内存优化详解

6.1 激活重计算

静态驱逐

方法原理特点
Checkmate混合整数线性规划最优计划,但扩展性差
Selective Checkpointing选择性丢弃注意力激活FlashAttention 使用
DistFlashAttn重计算感知检查点在 FlashAttention 输出处检查点
LoongTrainselective-checkpoint++长序列优化

动态驱逐

方法原理特点
DTR动态阈值实时决策
MegTaiChi内存感知调度动态重计算
Coop协作重计算多 GPU 协作

6.2 冗余减少

完全分片

系统分片内容通信模式
ZeRO优化器状态 + 梯度 + 参数ReduceScatter + AllGather
FSDP同上PyTorch 原生

部分分片

系统特点
ZeRO++分层分片,量化通信
MiCS主从分片,减少通信
PaRO参数感知分片
RTP远程张量流水线
AMSP自适应混合分片

6.3 碎片整理

基于张量的碎片整理

系统原理
ROAM运行时内存分配优化
ZeRO-RZeRO 扩展,碎片整理
MegTaiChi内存感知调度

基于 VMM 的碎片整理

系统原理
GMLakeGPU 内存池化
Expandable Segments可扩展内存段

6.4 卸载

CPU 卸载

类型系统特点
静态L2L层到层卸载
静态ZeRO-Offload优化器状态卸载
静态Elixir预测性卸载
动态TSPLIT动态张量分片
动态PatrickStar动态内存管理
动态Mobius内存-计算重叠

SSD 卸载

系统特点
ZeRO-InfinityNVMe SSD 卸载
Angel-PTM分布式 SSD 卸载
Smart-Infinity智能 SSD 管理
Fuyou快速 SSD 访问

七、通信优化详解

7.1 梯度压缩

方法压缩方式压缩比特点
PowerSGD低秩近似10-50x随机投影
QSGD标量量化4-32x均匀量化
Top-k稀疏化10-100x选择性传输
1-bit Adam二值化32x特殊 All-Reduce
DeMoDCT + Top-k85x动量压缩

7.2 通信-计算重叠

系统技术
DeepSpeed异步流水线
Megatron-LM梯度分桶
ZeRO-OffloadCPU-GPU 重叠

7.3 拓扑感知通信

系统技术
Tutel专家并行优化
FasterMoE拓扑感知路由
Alpa跨设备优化

八、可靠性详解

8.1 故障检测

方法检测内容
心跳检测GPU/网络状态
异常损失监控NaN/Inf 损失
梯度监控梯度爆炸/消失

8.2 弹性训练

系统特点
TorchElastic动态增减 GPU
BaiduPipe流水线弹性
1F1B 弹性微批次重调度

8.3 容错机制

机制实现
异步检查点后台保存,不阻塞训练
增量检查点只保存变化部分
梯度修复冗余计算,纠错码
热备节点快速替换故障设备

九、相关工作对比

综述对比

综述重点本文差异
Wan et al. (2024)模型和数据高效方法本文聚焦系统和基础设施
Liu et al. (2024)训练和推理部署本文专注于训练阶段
Xu et al. (2024)资源高效策略本文更全面覆盖基础设施
Liang et al. (2023)自动并行(通用 DNN)本文专注于 LLM

关键系统对比

系统类型关键特性MFU
Megatron-LM训练框架TP + DP, 大规模优化40-50%
DeepSpeed训练框架ZeRO 优化器, 异步训练35-45%
Colossal-AI训练框架自动并行, 模块化设计30-40%
Alpa自动并行层级化搜索, 跨设备优化可变
FlashAttention算子优化IO-aware, 分块计算-

十、总结

核心贡献

  1. 建立 SER 分析框架:首次从可扩展性、效率、可靠性三个维度系统性分析 LLM 训练挑战
  2. 完整基础设施技术栈:从 AI 加速器到集群调度的全面梳理
  3. 并行策略分类体系:建立混合/自动/异构并行的完整分类法
  4. 优化技术整合:统一视角梳理计算、通信、内存三维优化
  5. 可靠性挑战分析:系统性分析故障检测、弹性训练、容错恢复

技术影响

  • 研究指导:为 LLM 训练系统研究提供全面的技术路线图
  • 工程实践:为大规模训练集群的设计和优化提供参考
  • 未来方向:指出异构硬件、长序列训练、可靠性保障等关键挑战

局限性

  • 时效性:综述截止于 2024 年中,未覆盖 2024-2025 年最新进展(如 DeMo、FlashAttention-3)
  • 深度限制:覆盖面广但某些技术细节深度有限
  • 实验缺失:未进行独立实验验证,依赖已有工作的实验结果
  • 生态覆盖:主要关注 NVIDIA 生态,对其他硬件平台的实践细节较少
  • 算法层面:未深入讨论训练算法优化(如学习率调度、数据增强)

未来研究方向

  1. 异构硬件训练:混合 GPU/TPU/CPU 的高效训练
  2. 长序列训练:百万级 token 的高效注意力
  3. 跨数据中心训练:地理分布式训练
  4. 可靠性保障:大规模集群的容错机制
  5. 绿色训练:能耗优化和碳排放控制
  6. MoE 优化:稀疏模型的高效训练
  7. 低比特训练:FP8/FP4/1-bit 的实用化

十一、参考资源