深圳资讯
DeepSeek开源第四弹:并行优化策略3项齐开
Feb 27, 2025 8:24:01 PM

2月27日消息,DeepSeek开源周第四日,DeepSeek开源了并行优化策略 ,一次开源了3项:

DualPipe:一种用于V3/R1模型训练中实现计算与通信重叠的双向流水线并行算法

EPLB:一个针对V3/R1的专家并行负载均衡工具

Profile-data:训练和推理框架的分析数据

GitHub地址:

https://github.com/deepseek-ai/DualPipe

https://github.com/deepseek-ai/eplb

https://github.com/deepseek-ai/profile-data

一、DualPipe

DualPipe是DeepSeek-V3技术报告中提出的一种创新双向流水线并行算法。

它能够实现前向与后向计算和通信阶段的完全重叠,同时有效减少流水线气泡 空闲时间 。

DeepSeek展示了在8个流水线并行阶段和20个micro-batches情况下,DualPipe在两个方向上的调度示例。 来自DeepSeek-V3技术报告

反向方向的微批次与前向方向对称,为了简化图示,这里省略了反向方向的批次 ID。图中由同一个黑色边框包围的两个单元格具有相互重叠的计算和通信。

流水线气泡与内存使用比较

表中,F代表前向块 forward chunk 的执行时间,B代表完整后向块 full backward chunk 的执行时间,W代表权重后向 backward for weights 块的执行时间,而F&B则表示同时执行且相互重叠的前向和后向块的执行时间。

DualPipe显著减少了管道气泡 空闲时间 ,表现出效率优势。

二、专家并行负载均衡器 EPLB

在使用专家并行 EP 时,不同的专家模块会被分配到不同的GPU上。由于各个专家的计算负载会随当前任务而变化,因此保持各GPU间负载均衡至关重要。

如DeepSeek-V3论文所述,研究人员采用了冗余专家 redundant experts 策略,对高负载专家进行复制。

为了便于复制和部署,DeepSeek团队在eplb.py中开源了部署的EP负载平衡算法。该算法根据估计的专家负载计算平衡的专家复制和放置计划。

请注意,专家负载的具体预测方法不在此代码库的讨论范围内,一种常用的方法是采用历史统计数据的滑动平均值。

算法

负载平衡算法附带了两种用于不同情况的策略。

分层负载平衡 Hierarchical Load Balancing

当服务器节点的数量除以专家组的数量时,使用分层负载平衡策略来利用组受限的专家路由。首先将专家组平均打包到节点上,确保不同节点的负载平衡。然后,在每个节点内复制专家。最后,将复制的专家打包到单独的GPU上,以确保不同的GPU负载平衡。分层负载平衡策略可以在预填充阶段使用较小的专家并行规模。

全局负载平衡 Global Load Balancing

在其他情况下,使用全局负载平衡策略,该策略在全局范围内复制专家,而不管专家组如何,并将复制的专家打包到单个GPU中。该策略可以在具有较大专家并行规模的解码阶段采用。

三、DeepSeek基础设施中的数据分析:Profile-data

DeepSeek公开分享来自训练和推理框架的性能剖析数据,旨在帮助社区更深入地理解通信与计算重叠策略以及相关底层实现细节。

这些剖析数据是通过PyTorch Profiler工具获取的。

开发者可以下载后在Chrome浏览器中访问chrome://tracing 或在Edge浏览器中访问edge://tracing 直接进行可视化查看。

需要说明的是,为了便于剖析,研究人员模拟了一个完全均衡的MoE路由策略。

同时,DeepSeek还公开了这些数据的训练和推理过程。

温馨提示:微信搜索公众号【深圳之窗】,关注后在对话框内回复【资讯】即可获取深圳的各种资讯内容,包含深圳入户,深圳天气,深圳交通,深圳人文,同时,扫描关注文下企微号,可以了解深圳近期的各种福利活动优惠等信息



版权与免责声明:

感谢您访问我们的网站。请在阅读本免责声明之前注意以下内容:

1.该文章主要收集于互联网,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性。

2.本网站的所有信息仅供参考,不构成任何形式的建议或指导。用户应自行承担使用本网站信息的风险。

3.该文章主要来源于互联网,如发现本网站上的文章涉及侵权问题时,建议您立即联系本网站的站长或管理员进行删除处理。

相关推荐