Back to blog

Hanayo: Harnessing Wave-like Pipeline Parallelism for Enhanced Large Model

波形流水线并行策略,提升大模型训练效率

Hanayo: Harnessing Wave-like Pipeline Parallelism for Enhanced Large Model Training Efficiency

一、论文概述

项目内容
标题Hanayo: Harnessing Wave-like Pipeline Parallelism for Enhanced Large Model Training Efficiency
作者Ziming Liu, Shenggan Cheng, Haotian Zhou, Yang You
机构National University of Singapore (NUS)
论文arXiv:2308.15762
会议SC’23 (The International Conference for High Performance Computing, Networking, Storage and Analysis)
发布2023年8月30日
主题cs.DC (分布式、并行与集群计算)

二、核心思想

问题定义

大规模语言模型训练面临四大挑战:

  1. 内存墙 (Memory Wall): 模型参数规模远超单加速器存储容量
  2. 扩展墙 (Scaling Wall): 训练需要数千加速器,复杂并行模式和大量通信导致瓶颈
  3. 计算墙 (Computational Wall): 大模型和海量数据需要巨大算力
  4. 开发墙 (Development Wall): 复杂的并行策略和手动通信控制使开发极其困难

现有流水线并行方法的局限:

  • GPipe: 简单高效,但激活内存消耗高,气泡率高
  • DAPPLE (1F1B): 降低内存消耗,但气泡率仍然较高
  • Chimera: 双向流水线实现低气泡率,但需要模型副本(2倍内存开销)

解决方案概述

Hanayo 提出波形流水线并行策略:

  • 通过让单条流水线在计算过程中改变方向,形成波浪形流水线
  • 无需模型副本即可获得低气泡率
  • 通过增加波数(waves)持续降低气泡率
  • 统一框架支持所有主流流水线并行算法

核心性能

指标数值
吞吐量提升最高 30.4% vs Chimera (SOTA)
内存消耗与主流方法持平或更低,无需模型副本
气泡率随波数增加急剧下降
测试规模4个计算集群,最多32 GPU,GPT/BERT架构

三、技术架构

流水线并行方法对比

气泡率对比

Figure 1: 同步流水线方案的理论气泡率。Hanayo 随波数增加气泡率急剧下降。

方案气泡率权重内存激活内存
GPipe(P−1)(TB+TF)+(2P−2)TC(2P−1)(TB+TF)+(2P−2)TC\frac{(P-1)(T_B+T_F)+(2P-2)T_C}{(2P-1)(T_B+T_F)+(2P-2)T_C}MwM_wPMaPM_a
DAPPLE(P2−P)(TB+TF)+(3P2−5P+2)TC(2P2−P)(TB+TF)+(4P−6)TC\frac{(P^2-P)(T_B+T_F)+(3P^2-5P+2)T_C}{(2P^2-P)(T_B+T_F)+(4P-6)T_C}MwM_w[Ma,PMa][M_a, PM_a]
Chimera (2副本)含 K=P22−PK=\frac{P^2}{2}-P2Mw2M_w[(P/2+1)Ma,PMa][(P/2+1)M_a, PM_a]
Hanayo见公式(1)MwM_w[(2W−1)P+12WMa,PMa][\frac{(2W-1)P+1}{2W}M_a, PM_a]

核心公式

Hanayo 气泡率公式:

\text{Bubble Ratio} = \frac{\frac{1}{W}T_B + (1 + 2W + \frac{2}{P} + \frac{P-2}{3})T_C}{\frac{P}{P-1}T_F + (\frac{1}{2W} + \frac{P}{P-1})T_B + (\frac{P-2}{2} + 4W)T_C} \tag{1}

其中:

  • WW = 波数(waves)
  • PP = 流水线 worker 数
  • TFT_F = 前向传播时间(除以 P)
  • TBT_B = 反向传播时间(除以 P)
  • TCT_C = 单次 P2P 通信时间

简化分析: 假设 TB=2TFT_B = 2T_F 且忽略 TCT_C,气泡率简化为 2P−23PW+P−1\frac{2P-2}{3PW+P-1},随波数 WW 增加而急剧下降。

波形流水线转换

Chimera 到 Hanayo 的转换

Figure 3(d): 单波 Hanayo 流水线。通过将 Chimera 双向流水线中的计算块交换到对称位置,消除模型副本需求。

关键洞察:

  • Chimera 的高效源于双向流水线互相填补气泡
  • 但双向流水线需要存储两份模型参数
  • Hanayo 让单条流水线改变方向,形成波浪形
  • 将 Chimera 的模型副本转化为标准数据并行

增加波数降低气泡率

多波流水线

Figure 3(e): 双波 Hanayo。阶段数从 8 增加到 16,所有气泡大小减半。

波数扩展:

  • 1 波: 阶段数 = 2P
  • 2 波: 阶段数 = 4P,气泡大小减半
  • 4 波: 阶段数 = 8P,气泡大小再减半
  • 只要单阶段有足够层可分割,即可继续增加波数

气泡类型分析

气泡类型

Figure 7: Hanayo 波形流水线中的四种气泡类型。

气泡类型原因大小
Zone A等待前向激活 + 传输开销TF/2W+TCT_F/2W + T_C
Zone B前向/反向传播时间差异P−LR2W(TB−TF)+2TC\frac{P-LR}{2W}(T_B - T_F) + 2T_C
Zone C反向传播 + 通信TB+2TCT_B + 2T_C 或 TB+TCT_B + T_C
交叉通信NCCL 后端批处理防死锁-

运行时系统

Action List 设计:

  • 将指令分解为更细粒度的操作
  • 添加目标设备 rank 和本地模块 rank 信息
  • 调度器在主节点生成 action list
  • 支持所有主流流水线并行算法

预取优化:

  • Worker 在计算前预取下一批数据
  • 使用异步通信函数 batch_isend_irecv
  • 最大化计算与通信重叠
  • 避免交叉通信死锁

四、核心创新

创新点说明理论/实验依据
波形流水线单条流水线改变方向,无需模型副本从 Chimera 转换推导,效率至少持平
波数扩展增加波数持续降低气泡率气泡率 ∝1W\propto \frac{1}{W},4波时仅 13% (8 GPU)
统一框架通用性能模型表达所有主流流水线算法Action list 解耦调度与运行时
内存高效权重内存 MwM_w(无副本),激活内存均衡方差仅 1.44(vs Chimera 2.86)
自适应波数根据通信环境选择最优波数NVLink 环境波数越多越好,弱互联环境需适中

五、实验结果

测试环境

集群GPU内存互联特点
TACC Lonestar6A10040GB跨节点超算集群
腾讯 CVMV10032GBNVLink云服务器
本地集群 PCA10080GB部分 NVLink实验室
本地集群 FCA10080GB全连接 NVLink实验室

内存消耗

内存消耗

Figure 8: 32 GPU 训练 BERT/GPT 模型时的峰值内存分布。

方法最高峰值内存方差OOM
GPipe高1.332个设置
DAPPLE高16.85无
Chimera低2.86无
Hanayo低1.44无

跨集群吞吐量

跨集群吞吐量

Figure 9: 4个不同集群上训练 BERT 模型的吞吐量(32 GPU)。

BERT 模型, 8 GPU (PP only):

集群GPipeDAPPLEChimeraHanayo提升 vs Chimera
PC1.151.151.451.67 (W=4)+15.2%
FC1.151.151.451.79 (W=4)+23.4%
TACC1.091.091.351.46 (W=2)+8.1%
TC0.870.871.101.38 (W=8)+25.5%

BERT 模型, 8 GPU (PP=4, DP=2):

集群GPipeDAPPLEChimeraHanayo提升 vs Chimera
PC2.102.202.553.35 (W=8)+31.4%
FC2.252.202.653.40 (W=8)+28.3%
TACC2.082.152.502.95 (W=4)+18.0%
TC1.701.702.002.55 (W=8)+27.5%

关键发现: Hanayo 在所有 8 个设置中均超越 Chimera,提升 8.2%-30.4%。

弱扩展

弱扩展

Figure 11: BERT 模型弱扩展。设备从 8 扩展到 32,batch size 同比例增加。

设备GPipeDAPPLEChimeraHanayo提升 vs Chimera
81.051.051.351.45+7.4%
162.202.202.702.90+7.4%
324.404.405.305.70+7.5%

并行效率: 100.1% 和 99.8%,表明 Hanayo 可扩展到更大集群。

强扩展

强扩展

Figure 12: BERT 模型强扩展。固定 batch size=4,设备从 8 增加到 32。

设备GPipeDAPPLEChimeraHanayo
8OOMOOM1.401.50
162.202.202.702.90
323.903.904.805.20

加速比: Hanayo 从 8 GPU 到 32 GPU 加速 337.5%。

六、符号说明

符号含义
SS流水线阶段数
BB单迭代的微批次数
DD复制流水线数
PP流水线 worker 数
WW单前向/反向迭代的波数 = S/(2P)S/(2P)
MwM_w单阶段权重内存
MaM_a单阶段激活内存
TFT_F完整前向传播时间 / P
TBT_B完整反向传播时间 / P
TCT_C单次 P2P 通信时间

七、相关工作

相关工作与本文关系
GPipe经典流水线并行,Hanayo 的基础对比对象
DAPPLE (1F1B)广泛使用的 1F1B 调度,Hanayo 超越
ChimeraSOTA 双向流水线,Hanayo 的主要对比对象
PipeDream异步流水线,Hanayo 可扩展至异步方案
Megatron-LM混合并行框架,Hanayo 可与其结合
DeepSpeed运行时系统参考,Hanayo 解耦设计改进

八、总结

核心贡献

  1. 波形流水线: 提出 wave-like pipeline scheme,通过增加波数持续降低气泡率
  2. 统一框架: 通过理论分析获得流水线并行的统一性能模型
  3. 解耦运行时: Action list 设计使运行时与调度算法解耦,支持所有主流算法
  4. 30.4% 吞吐量提升: 在 4 个集群、GPT/BERT 架构上验证

技术影响

  • 消除模型副本: 将 Chimera 的模型副本转化为标准数据并行
  • 自适应优化: 根据通信环境自动选择最优波数
  • 通用性: 可扩展至异步流水线和更大规模集群
  • 实用性: 高性能运行时系统,支持预取和异步通信

局限性

  • 仅关注同步流水线并行(异步可能影响收敛)
  • 最优波数依赖于通信环境,需搜索
  • 交叉通信在 NCCL 后端需要批处理,可能引入额外气泡

九、参考资源