问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

一文带你搞懂DeepSeek开源周:多项核心技术全面解析

创作时间:
作者:
@小白创作中心

一文带你搞懂DeepSeek开源周:多项核心技术全面解析

引用
CSDN
1.
https://blog.csdn.net/l01011_/article/details/146196268

DeepSeek 刚刚开源了六个强大的软件库,用于解决 LLM 训练、推理和数据基础设施中的一些最困难的问题。DeepSeek站在Transformer的肩膀上,让生成式AI技术得以普惠大众,同时也将自行研发的技术开源回馈社会。
虽然其中许多技术都出现在早期的 DeepSeek 论文中,但最终看到实际代码公开发布还是令人欣喜。对于像我们这样的研究人员和开发人员来说,这意味着我们现在有了具体的示例和工具来构建更高效、可扩展的 LLM 管道。
希望这种开放态度能激励其他团队(你知道我指的是哪些团队)分享更多他们的基础设施。想象一下,如果更多实验室采用这种方法,这个领域会发展得多么快。
DeepSeek 开源周的五个项目分别是:

  • 1、FlashMLA:(快速多头潜在注意力):针对大型语言模型推理的高效解码内核,主要提升 GPU 显存利用率和推理速度。
  • 2、DeepEP:(Expert Parallel):面向混合专家(MoE)模型的高效通信库,加速多 GPU 多节点环境下的通信并降低延迟。
  • 3、DeepGEMM:面向通用矩阵乘法(GEMM)的轻量级高性能库,支持 FP8 精度,提升大规模矩阵运算效率。
  • 4、DualPipe & EPLB:一套并行训练优化方案,包括 DualPipe(双向流水线并行算法)和 EPLB(专家并行负载均衡),显著提高大模型分布式训练效率。
  • 5、3FS(“源神”分布式文件系统):专为 AI 训练和推理设计的高性能并行文件系统,解决海量数据的高速存取与管理。

第一天:FlashMLA - 高效的多头潜在注意力

FlashMLA是一个为NVIDIA Hopper GPU优化的高效多头线性注意力解码内核,它能够显著提升大语言模型的推理性能
由于 FlashMLA 的开源,未来它可以被集成到 vLLM(高效 LLM 推理框架)、Hugging Face Transformers 或 Llama.cpp(轻量级 LLM 推理) 生态中,从而有望让开源大语言模型(如 LLaMA、Mistral、Falcon)运行得更高效。
同样的资源,能干更多的活,还省钱。因为 FlashMLA 拥有更高的计算效率(580 TFLOPS)和更好的内存带宽优化(3000 GB/s),同样的 GPU 资源就可以处理更多请求,从而降低单位推理成本。对于 AI 公司或者云计算服务商来说,使用 FlashMLA 也就意味着更低的成本、更快的推理,让更多 AI 公司、学术机构、企业用户直接受益,提高 GPU 资源的利用率。

第二天:DeepEP - 专家并行通信库

DeepEP 是一个MoE模型和专家并行(Expert Parallelism, EP)设计的通信库。它提供了高吞吐量和低延迟的全互联 GPU 内核,这些内核也被称为 MoE 数据分发(dispatch)和合并(combine)。此外,该库还支持低精度操作,包括 FP8。
为了与 DeepSeek-V3 论文中提出的分组限制门控算法(group-limited gating algorithm)相匹配,DeepEP 提供了一组针对非对称域带宽转发优化的内核,例如从 NVLink 域向 RDMA 域转发数据。这些内核具有高吞吐量,非常适合用于训练和推理预填充任务。此外,它们还支持流式多处理器(Streaming Multiprocessors, SM)数量控制。
针对对延迟敏感的推理解码任务,DeepEP 包含了一组使用纯 RDMA 的低延迟内核,以最大限度地减少延迟。该库还引入了一种基于钩子(hook)的通信与计算重叠方法,不占用任何 SM 资源。

第三天:DeepGEMM - FP8 矩阵乘法

DeepGEMM,全名是“Deep General Matrix Multiplication”(深度通用矩阵乘法),是一个为 DeepSeek-V3 专门设计的,用于 FP8 的,通用矩阵乘法(GEMM)库。FP8 是一种用更少位数(8位)存储数字的方法,就像用更小的便利贴记笔记,虽然每张纸能写的内容少,但搬运和传递更快,节省内存和计算时间。你可以把它看作是一个“超级快的数学助手”,专门用来加速一种叫做矩阵乘法的计算任务。
在优化注意力机制和专家并行性之后,DeepSeek 转向了两者的基础运算:矩阵乘法。通用矩阵乘法(GEMM) 运算是 LLM 的计算支柱,几乎无处不在。
DeepGEMM 是专为 Hopper GPU 设计的 FP8 矩阵乘法专用库。尽管它紧凑地实现了约 300 行 CUDA 代码,但与 NVIDIA 的 GEMM 库CUTLASS相比,它的性能令人印象深刻:
对于小型或不规则矩阵,加速高达 2.7 倍(对于推理尤其重要)
对于大型计算密集型矩阵,加速 1.0×-1.7×
MoE 分组 GEMM 的速度提高了 1.1 倍至 1.2 倍

第四天:优化并行策略(DualPipe 和 EPLB)

在优化了 LLM 的核心计算构建块之后,我们现在开始应对在多个 GPU 上高效协调这些操作的挑战。第 4 天介绍了两种互补的技术:用于高效管道并行的 DualPipe 和用于平衡专家分布的 EPLB。
DualPipe 引入了双向流水线并行算法,实现了前向和后向计算通信阶段的完全重叠,显著减少了_流水线气泡_。
在传统的流水线并行中,大型神经网络被拆分到多个 GPU 上,每个 GPU 负责处理模型的不同部分。问题在于,GPU 经常需要等待——要么等待前向传播过程中较早阶段的数据,要么等待反向传播过程中较晚阶段的梯度。这些空闲时间就是我们所说的“流水线泡沫”,它们会浪费宝贵的 GPU 资源。
这是一个简单的例子。假设一个模型分布在 2 个 GPU 上,其中 GPU 2 无法开始处理批次 A 的前向传递,直到 GPU 1 完成其部分。在反向传播期间,同样的问题反过来发生 - GPU 等待来自下游 GPU 的梯度。这些等待期会在管道中产生空闲间隙或“气泡”。管道阶段越多(例如在非常大的模型中),气泡就越多,从而使扩展效率低下。
DualPipe 通过同时向前和向后运行微批次来解决此问题。这意味着新批次的前向传递与先前批次的后向传递重叠。通过将 GPU 到 GPU 的通信与计算重叠,它可以有效地减少空闲时间。

该图显示了 DualPipe 调度,其中有 8 个流水线并行等级和 20 个微批次在两个方向上运行。共享黑色边框的单元格表示重叠的计算和通信。
为了将通信和计算重叠起来,DualPipe 将数据传输拆分成更小的块(“微批量流式传输”),允许计算从第一个块开始,而后面的块仍在传输。通过使用多个 CUDA 流,通信和计算可以在单独的 GPU 线程上异步运行。此外,反向传递被拆分成两个不同的部分:_输入梯度_计算要传递到上游的梯度,而_权重梯度_计算用于更新当前层参数的梯度。

第五天:3FS 和 Smallpond - LLM 的数据基础设施

3FS(Fire-Flyer File System)是 DeepSeek 开源的一种高性能并行文件系统,通过分布式存储架构和并行读写技术,提高了数据处理的效率,用于存储和管理数据,专为应对 AI 训练和推理工作负载的挑战而设计。3FS是deepseek开发的Fire-Flyer AI-HPC的一部分,在论文Fire-Flyer AI-HPC: A Cost-Effective Software-Hardware Co-Design for Deep Learning有详细的介绍。
Fire-Flyer AI-HPC有三个部分,HAI Platform 两年前就开源了,3FS今天也开源了,只剩下HaiScale还没开源。

Smallpond是一个专门处理海量数据的工具(基于 3FS 的数据处理框架),构建于 DuckDB 和 3FS 之上,支持轻量级、高性能的数据处理,可扩展至 PB 级数据集。可以把它想象成一个超级智能的分拣机器人。它利用 3FS 的高性能存储和 DuckDB 的高效查询能力,提供了一个简单易用的接口来处理数据。

第六天:DeepSeek-V3/R1 - 大规模跨节点专家并行以及如何以 545% 的利润率运营

在最后一天,DeepSeek 发布了有关 DeepSeek-V3/R1 推理系统的详细信息——这是一次前所未有的、近距离的对大规模服务于 LLM 的生产系统的深入了解。

架构图展示了 DeepSeek 生产系统中各个组件如何协同工作。
鉴于 DeepSeek-V3/R1 的高稀疏性(每层256 位专家中只有 8 位被激活),高效的并行策略至关重要。在预填充期间,系统采用Routed Expert EP32MLA/Shared Expert DP32并行性,每个部署单元跨越四个节点。每个 GPU 管理九个路由专家一个共享专家。相比之下,解码阶段使用Routed Expert EP144MLA/Shared Expert DP144并行性,将部署单元扩展到十八个节点,每个 GPU 处理两个路由专家
系统采用与训练一致的精度格式,具体来说,前馈矩阵乘法和调度传输采用FP8 格式,核心 MLA 计算和组合传输采用BF16 格式。这种精度策略确保与训练过程保持一致。
为了优化吞吐量,DeepSeek 采用了复杂的双批次重叠策略,该策略专门用于缓解大规模跨节点专家并行 (EP) 带来的大量通信开销。在预填充阶段,每批请求被分成两个微批次,交替执行。这种交替执行允许一个微批次的通信延迟有效地隐藏在另一个微批次的计算之后,从而显著提高整体吞吐量。
社区的反响也印证了这些项目的价值:短短几天内,FlashMLA 获得破万 Star,其他项目也收获了数千 Star 和诸多讨论。这说明开发者们对开源高性能AI工具有强烈需求和兴趣。随着时间推移,我们期待会有更多实践案例出现,证明这些开源项目在不同场景下的效果。不论是云厂商整合3FS、科研团队用DualPipe加速实验,还是初创公司用FlashMLA节省硬件投入,这些都将是对 DeepSeek 开源举措的最佳回馈。
当然,技术的演进没有终点。DeepSeek 开源的这五个项目为行业树立了新的标杆,但也留下了新的问题和改进空间。未来的AI基础设施需要在性能、成本、易用性之间取得更好的平衡。在追求极致性能的同时,也要考虑兼容性和标准化,让更多人容易使用。所幸,这正是开源模式的强项——集众智可以不断完善。我们有理由相信,在全球开发者的共同努力下,这五个项目将持续迭代,演化出更加成熟强大的版本,或催生出更多灵感迭出的衍生项目。
最后,用一句话来总结 DeepSeek 开源周带来的启示:“工欲善其事,必先利其器”。DeepSeek 用实际行动告诉我们,打造通往AGI的宏伟应用之前,先打磨好基础设施这个“利器”是何等重要。而开源共享,则是磨砺这把利器的最佳方式。DeepSeek 开源的五大项目为AI行业贡献了宝贵的工具和思路,也预示着一个更开放、高效、合作的AI技术时代的到来。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号
一文带你搞懂DeepSeek开源周:多项核心技术全面解析