今天小编分享的科学经验:DeepSeek今日连开3源!针对优化的并行策略,梁文峰本人参与开发,欢迎阅读。
按时整活!
DeepSeek 开源周第四天,直接痛快「1 日 3 连发」,且全都围绕一个主题:
优化并行策略。
DualPipe:一种创新的双向流水线并行算法,能够完全重叠前向和后向计算 - 通信阶段,并减少 " 流水线气泡 "。它通过对称的微批次调度,优化了并行计算效率。
Expert Parallelism Load Balancer ( EPLB ) :用于 MoE 的负载均衡算法,通过复制高负载专家并智能地分配专家到不同 GPU 上,确保计算资源的均衡利用。它包含两种政策:层次化负载均衡和全局负载均衡。
Profiling Data:训练和推理框架的性能分析数据,展示了通信 - 计算重叠策略和底层实现细节。
这三者中,DualPipe 从时间上优化了计算与通信的调度,EPLB 从空间上平衡利用计算资源,Profiling Data 则提供了前两者在实际应用中效果的可视化证据。
且DualPipe 的开发团队中包括梁文锋本人。
发布后 10 分钟不到,3 者在 GitHub 上的星标已经破 300 了,且其中 DualPipe 的星标飙升最快。
而 DeepSeek 一发推,网友的留言也排山倒海一般扑面而来,几乎都是不吝溢美之词:
好活!令人兴奋!
优化策略可以重新定义行业的性能。
Day 4,直接 1 日 3 连发 DualPipe
DualPipe 是在 DeepSeek-V3 中首次出现双向流水线并行算法,现在代码完全开源。
它实现了前向与后向计算 - 通信阶段的完全重叠,还减少了流水线气泡(即某些设备在某些时刻空闲等待)。
DualPipe 采用了双向微批次调度策略,其核心特点是:
对称设计:反向方向的微批次与前向方向对称排列,形成一种几何平衡的调度结构
计算 - 通信重叠:两个共享黑色边框的单元格表示相互重叠的计算和通信过程
双向并行:同时在两个方向上推进微批次,最大化硬體利用率
传统流水线并行方法如 1F1B(one-forward-one-backward)在处理多 GPU 场景时会产生大量气泡。
DualPipe 通过重新安排微批次执行顺序,和对称结构缓解这个问题。
EPLB
EPLB 适用于 V3/R1 的专家并行负载均衡器,解决 MoE 模型在分布式训练和推理中的负载不平衡问题。
在 MoE 架构中,不同的输入会激活不同的专家,可能导致某些专家过载,进一步造成不同 GPU 的利用率不平衡。
EPLB采用 "redundant experts"(冗余专家)策略:
识别高负载专家→复制多个副本分配到不同 GPU →在推理时动态分配输入到负载较轻的专家副本。
并带有两种普通的策略:
分层负载平衡,专家并行较小的预填充阶段使用。
全局负载平衡,在专家并行规模较大的解码阶段采用。
V3/R1 中的计算通信重叠分析数据
开源第四弹的 part 3,DeepSeek公开分享了来自训练和推理框架的分析数据,以帮助社区更好地了解通信计算重叠策略和低级实现细节。
GitHub 上注明,分析数据是使用 PyTorch Profiler 捕获的。
Attention please —— DeepSeek 模拟了一个绝对平衡的 MoE 路由策略进行分析。
首先,训练阶段。
训练配置檔案数据演示了 DeepSeek 在 DualPipe 中,对一对单独的向前和向后数据块的重叠策略。
每个数据块包含 4 个 MoE 层。
并行配置与 DeepSeek-V3 预训练設定一致 EP64、TP1 具有 4K 序列长度。
为简单起见,在 profilng 期间不包括 PP 通信。
其次,推理阶段。
1)预填充。
对于预填充,配置檔案使用 EP32 和 TP1(与 DeepSeek V3/R1 的实际在线部署一致),提示长度設定为 4K,每个 GPU 的批量大小为 16Ktokens。
在预填充阶段,DeepSeek 利用两个微批次来重叠计算和多对多通信,同时确保注意力计算负载在两个微批次之间平衡
——这意味着相同的提示可以在它们之间分配。
2)解码。
(注:相关数据尚未准备就绪,将于稍后发布)
解码方面,该配置檔案采用了 EP128、TP1 和 4K 的提示长度(与实际在线部署配置非常匹配),每个 GPU 的批量大小为 128 个请求。
与预填充类似,解码还利用两个微批处理进行重叠计算和多对多通信。
但与预填充不同的是,解码期间的 all-to-all 通信不会占用 GPU SM:
发出 RDMA 消息后,所有 GPU SM 都会被释放,系统在计算完成后等待 all-to-all 通信完成。
有关 all-to-all 实现的更多信息,请参考开源周第二弹 DeepEP。
One More Thing
" 大放异彩!"
对于第四弹的开源内容,网友是这么感慨的。
目前看来,DeepSeek 开源周的前 4 天,都挺令追更群众们满意。
尤其是这次开源周全部瞄准大模型的 Infra 层。
追更看客们表示:
更好的团队合作不仅是团队管理优化的一部分,更是实现顶级 AI 性能的秘诀。
DeepSeek 正在创建新的标准,大规模训练的未来就在咱们眼前!
好了,DeepSeek 开源周,明天就是最后一天了,不知道会有什么压轴登场?
参考链接:
https://x.com/deepseek_ai/status/1894931931554558199
Github:
[ 1 ] https://github.com/deepseek-ai/DualPipe
[ 2 ] https://github.com/deepseek-ai/eplb
[ 3 ] https://github.com/deepseek-ai/profile-data