继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Deepseek开源周第四天:从 DualPipe 到 EPLB

我码玄黄
关注TA
已关注
手记 26
粉丝 1
获赞 0

Deepseek开源周第四天:从 DualPipe 到 EPLB

前言

上周deepseek宣布,将在本周陆续发布五个开源项目,这些库已经在生产环境中经过了记录、部署和实战测试。

今天是deepseek开源周的第四天,deepseek发布了三个开源项目,分别是

它们共同为 V3/R1 模型的训练和推理提供了强大的支持。

1. DualPipe:双向流水线并行算法

1.1 什么是 DualPipe?

DualPipe 是一种创新的双向流水线并行算法,旨在解决大规模分布式训练中的计算-通信重叠问题。

在传统的流水线并行中,模型被分割成多个部分,分布在不同的设备上,每个设备负责一部分的计算任务。

然而,这种方法存在一个显著的问题:在前向传播和反向传播过程中,计算和通信往往不能完全重叠,导致设备的计算资源被浪费,训练效率降低。

DualPipe 通过引入双向流水线并行,实现了前向传播和反向传播的计算-通信完全重叠。

这意味着在前向传播的计算过程中,反向传播的通信可以同时进行,反之亦然。

这种设计大大减少了流水线中的“气泡”(即设备空闲时间),提高了设备的利用率。

1.2 DualPipe 的优势

  • 完全重叠:DualPipe 能够实现前向和反向传播的计算与通信的完全重叠,最大限度地减少了设备空闲时间。

  • 减少气泡:通过优化调度,DualPipe 减少了流水线中的气泡,进一步提高了训练效率。

  • 灵活的调度:DualPipe 提供了灵活的调度策略,可以根据不同的硬件配置和模型结构进行调整。

1.3 应用场景

DualPipe 主要用于大规模深度学习模型的分布式训练,特别是在 V3/R1 模型的训练中。

通过优化计算-通信重叠,它可以显著提高训练速度,降低训练成本。

2. EPLB:专家并行负载均衡器

2.1 什么是 EPLB?

在大规模模型中,专家并行(Expert Parallelism, EP)是一种常见的优化策略。

它将模型的不同“专家”(即模型的不同部分)分配到不同的 GPU 上,以实现并行计算。

然而,不同专家的负载可能会因当前工作负载而有所不同,这可能导致 GPU 之间的负载不平衡。

EPLB(Expert Parallelism Load Balancer) 是一个专家并行负载均衡器,它通过引入“冗余专家”策略来解决这个问题。

具体来说,EPLB 会复制负载较重的专家,并将这些复制的专家分配到不同的 GPU 上,以确保 GPU 之间的负载均衡。

2.2 EPLB 的算法

EPLB 提供了两种负载均衡策略:

  • 分层负载均衡

当服务器节点的数量能够整除专家组的数量时,EPLB 会采用分层负载均衡策略。

它首先将专家组均匀地分配到不同的节点上,确保节点之间的负载均衡,然后在每个节点内复制专家,并将复制的专家分配到不同的 GPU 上。

  • 全局负载均衡

在其他情况下,EPLB 会采用全局负载均衡策略,将专家复制到全局范围内,并将复制的专家分配到不同的 GPU 上。

2.3 应用场景

EPLB 主要用于大规模模型的推理阶段,特别是在 V3/R1 模型的实际在线部署中。

通过优化专家并行负载均衡,它可以显著提高推理效率,降低推理延迟。

3. Profile Data:性能分析数据

3.1 什么是 Profile Data?

为了帮助社区更好地理解 DualPipe 和 EPLB 的性能优化效果,DeepSeek 团队开源了他们的性能分析数据(Profile Data)。

这些数据通过 PyTorch Profiler 捕获,记录了模型在训练和推理过程中的详细性能指标。

3.2 数据内容

  • 训练阶段:展示了 DualPipe 在 V3/R1 模型训练中的计算-通信重叠策略。每个数据块包含 4 个 MoE(Mixture of Experts)层,采用 EP64 和 TP1 的并行配置。

  • 推理阶段

  • Prefilling:展示了在 Prefilling 阶段的性能优化策略,采用 EP32 和 TP1 的并行配置,提示长度为 4K,每个 GPU 的批量大小为 16K 个 token。

  • Decoding:展示了在 Decoding 阶段的性能优化策略,采用 EP128 和 TP1 的并行配置,提示长度为 4K,每个 GPU 的批量大小为 128 个请求。

3.3 如何使用 Profile Data?

用户可以通过下载这些性能分析数据,并在 Chrome 或 Edge 浏览器的 chrome://tracingedge://tracing 中进行可视化分析。

这些数据可以帮助研究人员和开发者更好地理解 DualPipe 和 EPLB 的优化效果,并为自己的项目提供参考。

4. 总结

今天,DeepSeek 团队开源的 DualPipeEPLBProfile Data 为大规模深度学习模型的训练和推理提供了强大的支持。

通过优化计算-通信重叠和负载均衡,这些技术可以显著提高模型的训练和推理效率,降低计算成本。

希望这些开源项目能够为深度学习社区带来更多的启发和帮助。

我们将持续关注接下来几天的项目发布,为读者带来第一手的技术资讯。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP