Deepseek 开源周第四天 优化并行策略:Deepseek 开源周第四天发布了双向管道(DualPipe)和专家并行负载均衡器(EPLB)两项创新技术,为 V3/R1 训练中的计算-通信重叠提供了高效的并行算法。本文将详细介绍 DualPipe、EPLB 的工作原理及其在深度学习中的应用。
介绍
Deepseek 开源周第四天发布了两项重要的优化并行策略:双向管道(DualPipe)和专家并行负载均衡器(EPLB)。这两项技术分别针对计算-通信重叠和 GPU 负载平衡问题,显著提升了 V3/R1 训练的性能和效率。
DualPipe:双向管道并行算法
1. 什么是 DualPipe?
DualPipe 是 DeepSeek-V3 技术报告中引入的创新双向流水线并行算法。它由李佳世、邓成琪和梁文锋创建和开发,旨在实现前向和后向计算-通信阶段的完全重叠,同时减少流水线气泡。
2. 核心优势
- 计算-通信重叠:通过 DualPipe,前向计算、反向计算以及通信阶段可以完全重叠,从而最大化 GPU 利用率。
- 减少流水线气泡:优化了流水线中的等待时间,降低了训练过程中的空闲时间。
3. 应用场景
DualPipe 特别适用于大规模深度学习模型的训练,例如 MoE(专家混合)模型和大语言模型(LLM)。通过减少通信瓶颈,它可以显著加速训练过程。
EPLB:专家并行负载均衡器
1. 什么是 EPLB?
专家并行负载均衡器(EPLB)是用于专家并行(EP)场景的负载均衡算法。在 EP 中,不同的专家被分配到不同的 GPU 上,而不同专家的负载可能因工作负载而异。EPLB 通过复制负载过重的专家并启发式地将复制的专家分配到 GPU 上,以实现 GPU 之间的负载平衡。
2. 核心功能
- 分层负载平衡:在服务器节点数除以专家组数时,EPLB 使用分层负载平衡策略,确保组受限专家路由的负载均衡。
- 全局负载平衡:在更大的专家并行规模下,EPLB 采用全局负载平衡策略,无论专家组如何,都进行全球范围的专家复制和 GPU 分配。
3. 应用场景
EPLB 适用于需要进行大规模专家并行计算的场景,例如 MoE 模型的训练和推理。通过优化 GPU 负载,EPLB 可以减少节点间的数据传输,提升整体计算效率。
分析 V3/R1 中的计算-通信重叠
Deepseek Infra 还公开了训练和推理框架的分析数据,帮助社区更好地理解通信计算重叠策略和低级实现细节。这些数据使用 PyTorch Profiler 捕获,可以直接在 Chrome 或 Edge 浏览器中可视化。
1. 训练分析
- 配置:EP64、TP1,4K 序列长度。
- 特点:展示 DualPipe 中一对单独的前向和后向块的重叠策略,包含 4 个 MoE 层。
2. 推理分析
- 预填充:EP32、TP1,4K 提示长度,每 GPU 的批大小为 16K 个令牌。
- 解码:EP128、TP1,4K 提示长度,每 GPU 的批处理大小为 128 个请求。
写在最后
Deepseek 开源周第四天发布的 DualPipe 和 EPLB 为深度学习模型的训练和推理提供了高效的并行策略。通过优化计算-通信重叠和 GPU 负载平衡,这些技术显著提升了模型的性能和效率。
评论 (0)