『DeepSeek』开源三箭齐发,梁文峰亲自上阵!双向并行LLM训练飙升

新智元报道

编辑:桃子 好困

【新智元导读】『DeepSeek』开源第四天,连更三个项目。DualPipe、EPLB、以及计算与通信重叠机制的优化并行策略,让大模型训练更快,成本更低,还能保持顶尖性能。

开源周第4天,『DeepSeek』放出的是——优化并行策略,一共三个项目。

值得一提的是,DualPipe是由三个人——Jiashi Li、Chengqi Deng和梁文峰共同研发。

有网友对此表示,这是一个颠覆性的突破。

‘DualPipe和EPLB让大模型的训练更快、更便宜、更可持续,同时保持顶尖性能’。

开源仅剩最后一天,评论区网友纷纷许愿:明天一定要来个大的。

DualPipe

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

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

调度方案

上图展示了在8个流水线并行阶段和20个micro-batches情况下,DualPipe在两个方向上的调度示例。

由于反向方向的微批次与前向方向对称,为了简化图示,这里省略了反向方向的batch ID。图中由同一个黑色边框包围的两个单元格表示同时进行的计算和通信操作,它们实现了相互重叠。

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

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

快速入门

使用示例如下:

注意:在实际生产环境中,需要根据模块特点来实现一个定制化的overlapped_forward_backward方法。

jrhz.info

专家并行『负载均衡』器(EPLB)

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

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

随后,通过启发式算法将这些复制的专家合理分配到各GPU上,确保计算资源的平衡利用。

此外,由于『DeepSeek』-V3采用了组内限制专家路由(group-limited expert routing)机制,研究团队尽可能将同一组的专家放置在同一节点上,以减少节点间的数据传输开销。

为了便于复现和部署,『DeepSeek』在eplb.py文件中开源了EP『负载均衡』算法。该算法能够根据估计的专家负载,计算出均衡的专家复制和放置方案。

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

算法原理

『负载均衡』算法提供了两种策略,适用于不同场景:

· 层次『负载均衡』(Hierarchical Load Balancing)

当『服务器』节点数量能够整除专家组数量时,研究人员采用层次『负载均衡』策略,来充分利用组内限制专家路由机制。

首先,他们将专家组均匀分配到各节点,确保节点间负载平衡;然后,在每个节点内部复制专家模型;最后,将复制后的专家打包分配到各个GPU上,实现GPU间的『负载均衡』。

这种层次化策略特别适用于预填充阶段(prefilling stage),此时专家并行规模较小。

· 全局『负载均衡』(Global Load Balancing)

在其他情况下,研究人员采用全局『负载均衡』策略,不考虑专家组的限制,直接在全局范围内复制专家并分配到各个GPU上。这种策略更适合解码阶段使用,此时专家并行规模较大。

接口示例

『负载均衡』器的核心函数是eplb.rebalance_experts。

下面的代码展示了一个双层混合专家模型(MoE)的示例,每层包含12个专家。

『DeepSeek』为每层引入了4个冗余专家,总计16个专家副本被分配到2个计算节点上,每个节点配有4个GPU。

该层次『负载均衡』策略产生的结果,展示了如下专家复制与分配方案。

『DeepSeek』基础设施中的性能剖析数据

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

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

你可以下载后在『Chrome』浏览器中访问chrome://tracing(或在Edge浏览器中访问edge://tracing)直接进行可视化查看。

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

训练过程

训练剖析数据展示了,研究人员在DualPipe中如何实现单对前向和后向计算块的重叠策略。每个计算块包含4个MoE层。

并行配置与『DeepSeek』-V3预训练设置保持一致:采用EP64、TP1,序列长度为4K。

为简化剖析过程,未包含流水线并行(PP)通信部分。

推理过程

· 预填充

在预填充阶段,剖析配置采用EP32和TP1的配置(与『DeepSeek』 V3/R1实际在线部署一致),提示长度设为4K,每GPU批处理量为16K个token。

研究人员在预填充阶段使用两个micro-batches来实现计算与all-to-all通信的重叠,同时确保注意力机制的计算负载在两个micro-batches间保持平衡——这意味着同一条提示信息可能会被分割到不同micro-batches中处理。

· 解码

解码阶段的剖析配置采用EP128、TP1,提示长度4K(与实际在线部署配置非常接近),每GPU批处理量为128个请求。

与预填充类似,解码阶段也利用两个micro-batches来重叠计算和all-to-all通信。

然而不同的是,解码过程中的全联通通信不占用GPU流处理器(SM):RDMA消息发出后,所有GPU流处理器立即被释放,系统在完成计算后等待全联通通信完成。

关于all-to-all通信实现的更多技术细节,请参考DeepEP文档。

参考资料:

https://x.com/deepseek_ai/status/1894931931554558199

特别声明:[『DeepSeek』开源三箭齐发,梁文峰亲自上阵!双向并行LLM训练飙升] 该文观点仅代表作者本人,今日霍州系信息发布平台,霍州网仅提供信息存储空间服务。

猜你喜欢

她被嘲又丑又胖,却被影帝老公独宠39年,每10年求婚一次(她被嘲又丑又胖英语)

这个话题原本被很多网友调侃,但细心的人却发现,他说自己是醋王,其实更是为了给江嘉年提供满满的安全感。每次谈及这段婚姻,梁家辉总是强调,江嘉年是下嫁给自己的,他感激她当年陪伴自己度过艰难时光,也始终铭记她为他挺…

她被嘲又丑又胖,却被影帝老公独宠39年,每10年求婚一次(她被嘲又丑又胖英语)

呆呆首场直播自曝35岁,最坏打算是只来一两桌,父母才是明眼人(主播呆呆个人资料简介)

更重要的是,呆呆在35岁的年纪依然在家里悠闲地度过,父母也从未催她结婚,生活完全没有束缚。或许她不想让大家给她刷礼物🎁,也或许真的是不会弄,毕竟在刨猪汤那几天,都是大主管们帮忙带着直播。 更有趣的是,直到今…

呆呆首场直播自曝35岁,最坏打算是只来一两桌,父母才是明眼人(主播呆呆个人资料简介)

骶管注射后感觉患肢症状加重怎么回事?怎么办(骶管注射后身体一侧麻木酸胀)

骶管注射后感觉患肢症状加重可能由多种原因引起,包括精神紧张、药物起效慢、局部感染、神经损伤和硬膜囊损伤。针对这些情况,可以通过调节心理状态、继续观察、静脉滴注或口服药物等方式改善。 骶管注射是一种通过腰椎硬膜外进行的治疗方式

骶管注射后感觉患肢症状加重怎么回事?怎么办(骶管注射后身体一侧麻木酸胀)

美声,可以是一切美好的声音(美声可以练出来吗)

我依然会关注他们的咬字、气息,但我更欣赏他们无拘无束的创造力,我不仅仅在评价,更是在见证,见证一群年轻人如何用音乐实现自我,如何在这个时代里找到自己的表达方式。因为有不竭的热爱和兴趣指引,因为愿意不断锤炼自己…

美声,可以是一切美好的声音(美声可以练出来吗)

多彩对话|从农产品到国潮IP:梵净抹茶的“出圈”密码与融合之道

在县城打造核心街区与文化展馆,在太平镇建设抹茶文化小镇,在村落呈现碾茶加工与田园康养,沿旅游线路布局时尚消费馆。蒙祖德介绍,贵茶集团通过“文化体验+产品创新+品牌赋能+全球营销”四位一体战略,推动抹茶IP化。…

多彩对话|从农产品到国潮IP:梵净抹茶的“出圈”密码与融合之道