DualPipe - 双向管道并行算法


一、关于 DualPipe

DualPipe 是一种创新的双向管道并行算法,在 DeepSeek-V3 技术报告 中提出。

它实现了正向和反向计算-通信阶段的完全重叠,同时也减少了管道气泡。有关计算-通信重叠的详细信息,请参阅 性能数据


Schedules


在这里插入图片描述


示例:针对8个PP排名和20个微批次的两个方向的双向管道调度。
微批次的反向与正向是对称的,所以
我们省略了它们的批次ID以简化说明。两个由共享的黑边包围的单元格
已有相互重叠的计算和通信


管道气泡和内存使用比较

MethodBubbleParameterActivation
1F1B(PP-1)(𝐹+𝐵)PP
ZB1P(PP-1)(𝐹+𝐵-2𝑊)PP
DualPipe(PP/2-1)(𝐹&𝐵+𝐵-3𝑊)PP+1

二、快速开始

以下示例展示了使用方法:

python example.py

注意:对于实际应用,您需要实现一个定制的 overlapped_forward_backward 方法,该方法针对您的特定模块进行定制。


Requirements

  • PyTorch 2.0 and above

2025-03-02(日)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值