HuggingFace的创始人Thomas Wolf再次解读了DeepSeek昨天发的三个开源项目[打call],可能觉得DeepSeek太谦虚了,解读里对每个项目的意义和应用场景都加了说明,顺便推了一下他们的开源书。 (上次的看这里: )
-------------------------------------------------------
我想分享一些关于今天DeepSeek新发布的背景信息:三个非常小(0-500行代码)、自包含但非常有趣的新开源仓库。让我们深入了解吧!
第一个只是数据:DeepSeek/Profile-data
虽然这个仓库不包含任何代码文件,但它仍然非常有趣。这是详细展示并带有真实记录数据的配置文件,展示了在DeepSeek V3/R1的训练和推理过程中,如何调度低级操作以确保GPU始终保持忙碌状态(参见“Ultra-Scale Playbook”中的“profiling session”:链接在最后)。
它作为迄今为止最高效的开源预训练的组织蓝图(本质上是甘特图)。这是一个很好的研究示例,也是我希望开源团队能更频繁发布的内容:以最有效的方式调度操作是当今大规模LLM训练的核心。
第二个是一个非常小的代码片段(164行代码),关于如何在混合专家(MoE)中平衡专家负载。
令人印象深刻的是,他们以自包含的形式提取并发布了这样一个核心技术,用于在专家之间高效平衡负载。你可以在“Ultra-Scale Playbook”的“Expert Parallelism”部分阅读更多相关内容。
这将使该技术易于集成到大多数分布式代码库中。恭喜!
今天的最后一个发布更大(500行代码),可能涵盖了DeepSeek V3/R1训练中最引人入胜的技术部分:新的DualPipe管道并行(PP)方法。
在大规模训练中,DeepSeek团队首次能够使用他们在PP中称为“零气泡机制”的方式进行训练,这是以前在SOTA大规模训练中从未报道过的。如果你不知道“气泡”或“管道并行”是什么,可以查看“Ultra-Scale Playbook”中的“Pipeline Parallelism”部分。
这可能是DeepSeek技术报告中最令人印象深刻的部分!拥有一个小的、独立的代码库,显然能够达到这种机制,真是令人着迷。我非常期待尝试它!
总的来说,我真的很喜欢他们专注于开源许多独立的代码模块,每个模块都针对特定技术并带有示例。
现在的问题是,其他团队是否能够使用并集成这些代码示例,并重现DeepSeek在论文中声称的结果。期待看到更多高效的训练方法对所有人开放!