上周五,DeepSeek 发推说本周将是开源周(OpenSourceWeek),并将连续开源五个软件库。
就在刚刚,DeepSeek
开源周
第四天,一口气开源了三个代码库。
DualPipe
:
是
一种双向流水线并行算法,用于 V3/R1 训练中的计算-通信重叠;
EPLB
:
用于 V3/R1 的专家并行负载均衡器;
profile-data
:
训练和推理框架的分析数据。
DualPipe 通过重叠计算和通信来减少训练的空闲时间,EPLB 平衡了工作负载,使得几乎没有 GPU
闲置的情况,而公布 profile-data 是为
了帮助社区更好地理解通信 - 计算重叠策略和底层实现细节。
-
DualPipe 链接:https://github.com/deepseek-ai/DualPipe
-
EPLB 链接:https://github.com/deepseek-ai/eplb
-
profile-data 链接:ht
tps://github.com/deepseek-ai/profile-data
值得一提的是,在 DualPipe 的 GitHub 上,DeepSeek 创始人梁文锋位列开发者行列之中。
通俗理解三个代码库
技术语言可能不好理解,我们来看一下网友给出的比喻:
想象一下,训练一个庞大的语言模型就像指挥一个交响乐团。每个 GPU 就像一位音乐家,执行其分配的计算任务,而训练框架则充当指挥,保持一切完美同步。在典型设置中,音乐家们可能需要等待彼此,造成尴尬的停顿。这些延迟,被称为流水线气泡,会减慢整个过程。
DualPipe 通过允许不同部分并行工作来消除这些低效,就像弦乐部演奏的同时铜管部也在排练。这种努力的重叠确保没有停机时间。
有网友评价说,「DualPipe 不仅仅是另一种流水线并行实现。它解决的根本问题是标准流水线并行中固有的低效率。传统方法如 1F1B(一次前向,一次后向)甚至 Zero Bubble(ZB1P)都存在流水线气泡 —— 即各计算单元等待数据时的空闲时间。DualPipe 旨在实现前向和后向计算 - 通信阶段的完全重叠,最大限度地减少了这些气泡。」
而关于 EPLB,我们可以这么理解:传统的数据并行就像给每个人一份整个项目的副本 —— 既浪费又缓慢。专家并行(EP),即每个专家驻留在不同的 GPU 上,如果可以平衡负载,则效率要高得多。EPLB 就是为了解决这种专家失衡问题而设计的。这不仅仅是分配专家;它是关于智能地分配它们,以最大限度地提高 GPU 利用率和最小化通信开销。
到现在为止,DeepSeek 似乎已经把发布 V3、R1 模型时未公布的很多训练、部署细节也公开了出来。人们不仅可以在此基础上更好地使用 DeepSeek 模型,在使用其他大模型时也能获得助益。
明天周五,是开源周的最后一天,DeepSeek 有可能用 R2 来收尾吗?