
DeepSeek 开源周的 第4弹 - DualPipe. 梁文锋也是作者之一
版主: Softfist
#2 Re: DeepSeek 开源周的 第4弹 - DualPipe. 梁文锋也是作者之一
DeepSeek开源第四天:三大仓库开源
DualPipe:双向管道并行算法
DualPipe 是 DeepSeek AI 推出的一种双向管道并行算法,专注于优化大型模型训练中的计算与通信效率。其核心在于通过重叠前向和后向计算-通信阶段,减少传统管道并行中的“气泡”时间。传统方法如 1F1B(一前一后)或 ZB1P 在多 GPU 管道中因调度限制常导致资源闲置,而 DualPipe 通过双向调度,从管道两端同时输入微批次,大幅提升效率
DualPipe 将计算任务分解为注意力、all-to-all 分发、MLP 和 all-to-all 组合等 chunk,后向计算细分为“后向输入”和“后向权重”。通过调整 GPU 流多处理器(SMs)的通信与计算比例,它有效隐藏了跨节点通信延迟。与传统方法相比,DualPipe 将气泡时间从 (PP-1)(F+B) 优化至 (PP/2-1)(F&B+B-3W),其中 PP 是管道并行度,F 和 B 分别是前向和后向时间
EPLB:专家并行负载平衡器
EPLB(Expert Parallelism Load Balancer)是为混合专家(MoE)模型设计的负载平衡工具,旨在解决专家并行中 GPU 负载不均的问题。在 MoE 架构中,不同专家分配到不同 GPU,若路由不均,部分 GPU 可能超载。EPLB 通过复制负载重的专家并进行策略性分配,确保计算资源均衡利用
EPLB 提供两种策略:分层负载平衡适用于节点数与专家组数匹配的场景(如预填充阶段),而全局负载平衡通过跨节点复制专家,适应大规模解码任务。其核心函数 eplb.rebalance_experts 根据历史负载统计预测并调整专家分布。
配置文件数据:计算-通信重叠分析
配置文件数据是 DeepSeek AI 共享的分析资源,用于揭示 DeepSeek-V3 训练和推理中的计算-通信重叠策略。这些数据通过 PyTorch Profiler 捕获,可在 Chrome 或 Edge 的追踪工具中可视化,直观展示性能瓶颈和优化效果。数据覆盖三个场景
训练:展示 DualPipe 的重叠策略,基于 4 个 MoE 层,序列长度 4K
预填充:采用 32 路专家并行,每 GPU 处理 16K token,优化微批次重叠
解码:支持 128 路专家并行,处理 4K 提示长度,通信细节待补充
DualPipe:双向管道并行算法
DualPipe 是 DeepSeek AI 推出的一种双向管道并行算法,专注于优化大型模型训练中的计算与通信效率。其核心在于通过重叠前向和后向计算-通信阶段,减少传统管道并行中的“气泡”时间。传统方法如 1F1B(一前一后)或 ZB1P 在多 GPU 管道中因调度限制常导致资源闲置,而 DualPipe 通过双向调度,从管道两端同时输入微批次,大幅提升效率
DualPipe 将计算任务分解为注意力、all-to-all 分发、MLP 和 all-to-all 组合等 chunk,后向计算细分为“后向输入”和“后向权重”。通过调整 GPU 流多处理器(SMs)的通信与计算比例,它有效隐藏了跨节点通信延迟。与传统方法相比,DualPipe 将气泡时间从 (PP-1)(F+B) 优化至 (PP/2-1)(F&B+B-3W),其中 PP 是管道并行度,F 和 B 分别是前向和后向时间
EPLB:专家并行负载平衡器
EPLB(Expert Parallelism Load Balancer)是为混合专家(MoE)模型设计的负载平衡工具,旨在解决专家并行中 GPU 负载不均的问题。在 MoE 架构中,不同专家分配到不同 GPU,若路由不均,部分 GPU 可能超载。EPLB 通过复制负载重的专家并进行策略性分配,确保计算资源均衡利用
EPLB 提供两种策略:分层负载平衡适用于节点数与专家组数匹配的场景(如预填充阶段),而全局负载平衡通过跨节点复制专家,适应大规模解码任务。其核心函数 eplb.rebalance_experts 根据历史负载统计预测并调整专家分布。
配置文件数据:计算-通信重叠分析
配置文件数据是 DeepSeek AI 共享的分析资源,用于揭示 DeepSeek-V3 训练和推理中的计算-通信重叠策略。这些数据通过 PyTorch Profiler 捕获,可在 Chrome 或 Edge 的追踪工具中可视化,直观展示性能瓶颈和优化效果。数据覆盖三个场景
训练:展示 DualPipe 的重叠策略,基于 4 个 MoE 层,序列长度 4K
预填充:采用 32 路专家并行,每 GPU 处理 16K token,优化微批次重叠
解码:支持 128 路专家并行,处理 4K 提示长度,通信细节待补充
#3 Re: DeepSeek 开源周的 第4弹 - DualPipe. 梁文锋也是作者之一
我也写过dual pipe程序。。。基本上是做一件事有A(输入),B(处理)两个阶段,那么弄两个缓冲区,对第一个缓冲区做A阶段任务的时候,同时对第二个缓冲区做B阶段任务。都完成之后,交换两个缓冲区(的指针),然后继续。这样就把A,B两个任务并行起来。snowman 写了: 2025年 2月 26日 22:25 “1日3连发”,全聚焦在优化并行策略。
先说DualPipe,是DeepSeek-V3里首次亮相的双向流水线并行算法,现在代码开源了。简单来讲,它把前向和后向计算 - 通信阶段完全重叠起来,还减少了“流水线气泡”。
打个比方,以前传统的流水线并行方法,就像接力赛里总有队员在等接力棒,出现很多空闲时间;但DualPipe通过对称的微批次调度,重新安排执行顺序,让大家跑起来更连贯,最大化利用硬件资源,效率直接起飞!而且梁文峰也参与了这个开发!
再看EPLB,用来解决MoE模型在分布式训练和推理时负载不平衡问题的。MoE架构里,不同输入会让某些专家忙得不可开交,其他专家却很清闲,导致GPU资源利用不均衡。
EPLB就想出“冗余专家”这招,把高负载专家复制几份,分配到不同GPU上,推理时再把输入动态分配给负载轻的专家副本。它还有分层和全局两种负载平衡策略,不同阶段灵活切换,把计算资源安排得明明白白。
最后是Profiling Data,这是训练和推理框架的性能分析数据,用PyTorch Profiler捕获的,能清晰展示通信 - 计算重叠策略和底层实现细节。下载后在浏览器特定页面就能可视化,训练和推理阶段的数据都有,对开发者深入研究和优化有帮助。
这三个开源项目,DualPipe优化时间调度,EPLB平衡空间资源利用,Profiling Data提供可视化证据,相辅相成。
没有光子;也没有量子能级,量子跃迁,量子叠加,量子塌缩和量子纠缠。
#4 Re: DeepSeek 开源周的 第4弹 - DualPipe. 梁文锋也是作者之一
看来用电量还得大,芯片发热会是问题。
snowman 写了: 2025年 2月 26日 22:25 DeepSeek开源第四天:三大仓库开源
DualPipe:双向管道并行算法
DualPipe 是 DeepSeek AI 推出的一种双向管道并行算法,专注于优化大型模型训练中的计算与通信效率。其核心在于通过重叠前向和后向计算-通信阶段,减少传统管道并行中的“气泡”时间。传统方法如 1F1B(一前一后)或 ZB1P 在多 GPU 管道中因调度限制常导致资源闲置,而 DualPipe 通过双向调度,从管道两端同时输入微批次,大幅提升效率
DualPipe 将计算任务分解为注意力、all-to-all 分发、MLP 和 all-to-all 组合等 chunk,后向计算细分为“后向输入”和“后向权重”。通过调整 GPU 流多处理器(SMs)的通信与计算比例,它有效隐藏了跨节点通信延迟。与传统方法相比,DualPipe 将气泡时间从 (PP-1)(F+B) 优化至 (PP/2-1)(F&B+B-3W),其中 PP 是管道并行度,F 和 B 分别是前向和后向时间
EPLB:专家并行负载平衡器
EPLB(Expert Parallelism Load Balancer)是为混合专家(MoE)模型设计的负载平衡工具,旨在解决专家并行中 GPU 负载不均的问题。在 MoE 架构中,不同专家分配到不同 GPU,若路由不均,部分 GPU 可能超载。EPLB 通过复制负载重的专家并进行策略性分配,确保计算资源均衡利用
EPLB 提供两种策略:分层负载平衡适用于节点数与专家组数匹配的场景(如预填充阶段),而全局负载平衡通过跨节点复制专家,适应大规模解码任务。其核心函数 eplb.rebalance_experts 根据历史负载统计预测并调整专家分布。
配置文件数据:计算-通信重叠分析
配置文件数据是 DeepSeek AI 共享的分析资源,用于揭示 DeepSeek-V3 训练和推理中的计算-通信重叠策略。这些数据通过 PyTorch Profiler 捕获,可在 Chrome 或 Edge 的追踪工具中可视化,直观展示性能瓶颈和优化效果。数据覆盖三个场景
训练:展示 DualPipe 的重叠策略,基于 4 个 MoE 层,序列长度 4K
预填充:采用 32 路专家并行,每 GPU 处理 16K token,优化微批次重叠
解码:支持 128 路专家并行,处理 4K 提示长度,通信细节待补充
共产党就是赤裸裸黑手党
#5 Re: DeepSeek 开源周的 第4弹 - DualPipe. 梁文锋也是作者之一
财务'自由的老板,花自己钱请来一队博士,和自己讨论算法
这生活太爽了
这生活太爽了
snowman 写了: 2025年 2月 26日 22:25 DeepSeek开源第四天:三大仓库开源
DualPipe:双向管道并行算法
DualPipe 是 DeepSeek AI 推出的一种双向管道并行算法,专注于优化大型模型训练中的计算与通信效率。其核心在于通过重叠前向和后向计算-通信阶段,减少传统管道并行中的“气泡”时间。传统方法如 1F1B(一前一后)或 ZB1P 在多 GPU 管道中因调度限制常导致资源闲置,而 DualPipe 通过双向调度,从管道两端同时输入微批次,大幅提升效率
DualPipe 将计算任务分解为注意力、all-to-all 分发、MLP 和 all-to-all 组合等 chunk,后向计算细分为“后向输入”和“后向权重”。通过调整 GPU 流多处理器(SMs)的通信与计算比例,它有效隐藏了跨节点通信延迟。与传统方法相比,DualPipe 将气泡时间从 (PP-1)(F+B) 优化至 (PP/2-1)(F&B+B-3W),其中 PP 是管道并行度,F 和 B 分别是前向和后向时间
EPLB:专家并行负载平衡器
EPLB(Expert Parallelism Load Balancer)是为混合专家(MoE)模型设计的负载平衡工具,旨在解决专家并行中 GPU 负载不均的问题。在 MoE 架构中,不同专家分配到不同 GPU,若路由不均,部分 GPU 可能超载。EPLB 通过复制负载重的专家并进行策略性分配,确保计算资源均衡利用
EPLB 提供两种策略:分层负载平衡适用于节点数与专家组数匹配的场景(如预填充阶段),而全局负载平衡通过跨节点复制专家,适应大规模解码任务。其核心函数 eplb.rebalance_experts 根据历史负载统计预测并调整专家分布。
配置文件数据:计算-通信重叠分析
配置文件数据是 DeepSeek AI 共享的分析资源,用于揭示 DeepSeek-V3 训练和推理中的计算-通信重叠策略。这些数据通过 PyTorch Profiler 捕获,可在 Chrome 或 Edge 的追踪工具中可视化,直观展示性能瓶颈和优化效果。数据覆盖三个场景
训练:展示 DualPipe 的重叠策略,基于 4 个 MoE 层,序列长度 4K
预填充:采用 32 路专家并行,每 GPU 处理 16K token,优化微批次重叠
解码:支持 128 路专家并行,处理 4K 提示长度,通信细节待补充