6.1 DeepSeek 的“开源周”

2025 年 2 月底,DeepSeek 开启了一场技术领域的开源盛宴,连续 5 天向全球开发者社

区开放了 5 个重要的底层技术项目代码库(如图 6-1 所示)。这一举措被业界视为 DeepSeek

推动 AI 开源生态和技术变革的重要里程碑,引发了全球开发者的强烈关注和广泛讨论。

图 6-1 DeepSeek“开源周”开放的项目代码库

这 5 个开源项目展示了 DeepSeek 在 AI 底层技术领域的深厚积累与创新:从硬件性能的极

致优化,到低精度计算的革命性突破,再到并行计算的重构。同时,DeepSeek 通过开源实现了

以下目标。

◎大幅降低技术门槛:创业公司仅需数十张显卡即可开发能够对标行业巨头的大模型,

降低了 AI 技术的准入门槛,开启了 AI 技术的“平权时代”。

◎挑战行业巨头:DeepSeek 的开源项目直接挑战了英伟达的 CUDA 和 NCCL 生态,推

动了国产软硬件适配,打破了大厂对高效推理工具的垄断。

◎加速 AI 应用落地:开源代码库可直接集成至 vLLM、Hugging Face 等生态,加速了 AI

应用的开发和部署,推动了边缘计算、实时推理等技术的普及。

◎成本革命:DeepSeek-V3 API 调用成本利润率达 545%,其开源策略推动了 AI 行业的

降价潮,降低了大模型训练和推理的成本,增强了行业的竞争力。

◎重塑市场格局:与 OpenAI 的闭源路线形成对比,DeepSeek 的开源战略吸引了更多开

发者加入其生态,有望重塑全球 AI 市场的竞争格局。

下面我们详细介绍每个项目的功能与目标、技术架构与核心技术、主要特点与优势、适用

的应用场景,以及可能的影响与发展前景。

6.2 FlashMLA:减少显存消耗

在 DeepSeek“开源周”推出的众多创新项目里,FlashMLA(Flash Multi-Head Latent

Attention)一马当先。它是为英伟达的 Hopper 架构 GPU 量身打造的,目的是让大模型在推

理阶段的性能更上一层楼,如图 6-2 所示。简单来说,就是让大模型在处理复杂任务时更快、

更省资源。

图 6-2 FlashMLA 的界面

6.2.1 项目特点

FlashMLA 的优秀之处在于它能深度优化显存利用和计算流程。它采用的 MLA 机制能降

低显存占用和延迟,让大模型在有限的硬件条件下处理更长的上下文。它还支持 BF16 和 FP16

计算模式,在模型精度基本不受损的情况下,可以进一步减少显存占用和带宽需求,推理速度

也能大幅提升。

在英伟达的 Hopper H800 集群环境下,FlashMLA 的显存利用率实现了高达 3 倍的提

升。在 Hopper GPU 平台上,FlashMLA 展现出惊人的性能,实现了 3000GB/s 的带宽,以及

580TFLOPS 的算力输出,推动大模型的推理速度成倍增长。

值得一提的是,FlashMLA 的作者还提供了针对多种国产 GPU(如沐曦、摩尔线程、海光

DCU 等)的移植版本链接,彰显了其设计所具备的通用性和强大的扩展潜力,推动了 AI 技术

在更广泛硬件平台上的应用与创新。

6.2.2 应用场景

在大模型推理部署的广阔领域,FlashMLA 凭借自身卓越的性能优势,成为多个关键应用

场景中不可或缺的加速引擎。

1.聊天机器人和实时对话系统

在客服问答、智能助手等聊天机器人及实时对话系统中,低延迟处理用户输入并迅速生

成回复是提升用户体验的关键。

FlashMLA 通过优化推理过程,显著降低了延迟,使聊天机器人能够更加敏捷地进行响应。

以 xAI 发布的 Grok 语音对话模型为例,它对实时性的要求极高。FlashMLA 可作为其强大的

后端支撑,为用户带来流畅、自然的交互体验,增强对话系统的实用性与用户黏性。

2.长文档处理

长篇文章摘要生成、法律文档分析等长文档处理任务对模型的上下文窗口长度要求颇高。

FlashMLA提升显存利用率的特性在此类任务中发挥了关键作用,使长序列处理得以轻松实现。

借助 FlashMLA,开发者无须增加硬件投入,便能将模型可以处理的上下文长度扩展数倍,

从而实现长文档的高效理解与生成。这有助于在信息爆炸的时代快速提炼关键信息,提升文

档处理效率与准确性,为知识管理、法律咨询等领域提供有力的工具。

3.各行业实时 AI 推理

在医疗领域的实时病情分析、金融领域的高速交易决策等需要 AI 实时决策的场景中,

1 毫秒的延迟都可能影响决策的准确性与及时性。

FlashMLA 凭借其高吞吐、低延迟的特性,为对时效极度敏感的应用提供了坚实保障。

在医疗场景中,它助力医生快速获取病情分析结果,为紧急救治争取时间;在金融领域,它

助力从业者迅速做出决策,把握市场机遇,提升竞争力。

综上所述,涉及 Transformer 模型解码的场景(如文本生成、翻译、对话等),均可将

FlashMLA 作为通用加速组件,为各类应用带来性能与效率的双重提升,推动 AI 技术在更多

领域实现深度应用与创新发展。

6.2.3 技术剖析

1.动态显存资源分配

FlashMLA 在处理 Transformer 解码任务时,就像一个精明的管家,根据序列的实际长度动

态分配计算资源和显存空间。传统方法按照最大序列长度准备资源,会导致在处理短序列时浪

费资源。FlashMLA 的按需分配策略让显存利用率大幅提升,避免了资源的不合理占用。

2.“分页”KV Cache 机制

在 Transformer 解码过程中,FlashMLA 引入了“分页”的 KV Cache 设计,把缓存划分成

以 64 个元素为单位的页。这种块状缓存模式为查找和部分交换操作提供了便利,大幅减少了

不必要的数据迁移,提升了缓存管理的效率和性能。

3.支持 BF16 和 FP16 精度

FlashMLA 支持 BF16 和 FP16 精度。BF16 是一种对训练和推理都很友好的数据格式,在

确保数值稳定性的同时,能将显存占用率降低至 FP32 的一半。FlashMLA 对 BF16 的原生支持,

让模型采用更低的精度进行注意力计算,从而有效减少内存占用及对带宽的需求,进一步提升

计算速度。

4.完全并行的 GPU 实现

FlashMLA 基于 CUDA 内核实现,充分发挥了 Hopper 架构和 GPU 硬件的优势。它通过精

心调度计算线程和内存访问,实现了计算与显存带宽的双重饱和。在纯内存受限的场景中,其

显存带宽可达 3000GB/s;在计算受限的场景中,基于 H800 GPU、CUDA 12.8 环境,算力输出

可达 580TFLOPS。这些数据接近 Hopper GPU 平台的理论峰值,充分体现了其在架构层面深度

优化的显著成效。

5.借鉴开源项目

FlashMLA 深受开源项目 FlashAttention 2、FlashAttention 3 和英伟达的 CUTLASS 库的

启发,在架构设计上借鉴了这些项目的实践经验,并结合自身特点进行改进,如针对可变长

序列进行了特殊优化。通过汲取他人之长,FlashMLA 的注意力计算效率达到了领先水平。

113DeepSeek 核心技术揭秘

6.2.4 影响与展望

1.技术革新

FlashMLA 的成功为在现有硬件基础上进行算法优化开辟了广阔的空间。它通过实践印证

了“软件定义硬件性能”的理念,并凭借精妙的内核优化,将 GPU 的性能推至极限。

通过开源 FlashMLA,DeepSeek 为全球开发者搭建了协同创新的舞台,未来有望继续拓展

支持范围,适配更多的 GPU 架构,与主流深度学习框架深度集成,成为 Transformer 推理领域

的事实标准。

2.产业赋能

FlashMLA 等开源优化工具的出现,大幅降低了 AI 应用的准入门槛。以往只有大厂才能实

现的性能,如今中小型团队通过软件升级也能实现。这种竞争不仅推动了企业自身发展,也为

整个 AI 产业生态注入了活力,促进了技术交流与创新。

3.DeepSeek 的战略布局

对 DeepSeek 来说,FlashMLA 是其开源战略的开篇之作,表达了其致力于 AI 基础设施开

放协作的愿景。通过开放核心技术,DeepSeek 得到了开发者社群的信任,扩大了影响力,树立

了领军者的形象。

如果 FlashMLA 被广泛采用,那么 DeepSeek 技术方案在行业内的地位将得到巩固。在未来,

通过推出更多的优化库,DeepSeek 可以构建完善的开放 AI 基础设施套件。

4.未来展望

FlashMLA 作为高性能的开源 AI 组件,将成为通往通用人工智能(Artificial General

Intelligence,AGI)道路上的关键基础设施。随着社区的深度参与和持续改进,它有望进一步提

升性能、丰富功能,在更多的实战项目中得到验证和完善。

从长远看,以 FlashMLA 为代表的开源项目将帮助行业搭建更加经济、高效、透明的 AI

算力资源池,加速通用人工智能落地,推动 AI 技术从理论研究走向实际应用,为人类社会带

来创新和变革。

6.3 DeepEP:通信系统的优化

DeepEP(Deep Expert Parallelism)是 DeepSeek 开源周推出的第二个项目,它专门为

MoE 模型设计,旨在解决在进行分布式训练和推理时专家子模型之间通信开销大、效率低的

问题。尽管 MoE 模型通过多个专家网络协同工作,提升了模型的容量和效率,但也带来了专

家之间频繁交换数据的挑战。DeepEP的目标是突破通信瓶颈,让MoE模型更充分地发挥优势。

6.3.1 项目特点

DeepEP 作为专门面向 MoE 模型通信的库,具备以下特点。

1.突破 MoE 通信瓶颈

MoE 模型虽然能实现高效计算,但长久以来受制于通信开销。DeepEP 针对这一点提供了

全栈优化的解决方案,从硬件链路利用到数据格式压缩,大幅降低了通信成本,使采用 MoE

并行的训练和推理任务能够线性扩展到更多 GPU,而不会因通信过载导致效果不佳。正如

DeepSeek 官方所说,这个通信库堪称“AI 算力焦虑终结者”,将 MoE 模型的训练门槛“腰斩”。

2.单机 / 多机统一高效

DeepEP 同时优化了机内和机间通信,既适用于 DGX 工作站这样的单机 8 卡环境,也适

用于大型集群多节点环境。开发者无须为不同拓扑编写不同的通信逻辑,DeepEP 会自动选择

NVLink 或 RDMA 路径并进行优化。这大幅提升了 MoE 模型在各种硬件上的可移植性,也保

证了从单机调试到多机部署的一致高性能。

3.兼顾训练吞吐和推理延迟

DeepEP 提供了两种内核模式,能同时满足训练和推理两种截然不同的需求。在训练时,

它通过流水线并行和优化带宽利用率,让千亿模型的训练速度提升约 40%;在推理时,它精简

路径,将响应延迟降低至原来的 1/5。这种灵活的性能模式让 DeepEP 成为通用的 MoE 通信方

案,而不会局限于特定场景。

4.前瞻性 Native FP8 支持

DeepEP 原生支持 FP8,这在当前的开源通信库中并不多见。FP8 被认为是下一代 AI 硬件

和算法的重要方向之一,英伟达的 Hopper 架构 GPU 也支持 FP8 运算。DeepEP 提前布局 FP8,

意味着开发者在未来可以让模型高效地适应下一代低精度训练范式。同时,FP8 带来的能耗和

带宽优势也符合绿色 AI 的趋势,使大模型更具可持续性。

5.GPU 资源弹性控制

DeepEP 允许灵活设置 GPU 上用于通信的资源的比例,如 SM 核的分配等。这意味着在一

些极端场景下,开发者可以选择牺牲少量计算资源换取更快的通信速度,或反之。这种灵活性

为深度性能优化提供了可能,如在不同模型、不同集群结构上调整参数以找到最优平衡点,使

整体吞吐量最大化。

6.开源惠及社群

DeepEP 以 MIT 许可证开源,开发者可以自由使用并贡献改进建议。开源让这一尖端通

信技术不再是少数大厂的专利,而成为全行业共享的财富。特别是对资金和人力有限的研究

团队或创业公司而言,无须付出昂贵代价即可使用 DeepEP,大幅降低了实现超大规模模型的

门槛。这在当前 AI“军备竞赛”中是一股清流,推动了公平竞争和协作创新。

6.3.2 应用场景

DeepEP 主要应用在 MoE 模型的训练和推理中。MoE 模型近年来在大模型和多模态模型

中受到关注,它通过组合多个专家网络,能以较小的计算代价获得接近超大规模模型的性能。

MoE 的部署需要解决通信问题,DeepEP 正好契合此需求。

1.超大规模模型训练

DeepSeek 这种 1 万亿个参数级别的模型,以及 Google Switch Transformer 等模型,大多

采用 MoE 技术。DeepEP 可以让成百上千个 GPU 构成的集群在训练此类模型时保持高效率,

减少通信等待时间。例如,在机器翻译、语言模型预训练等需要处理海量数据的任务中,

DeepEP 带来的通信提速意味着训练过程可以提前数周完成,大幅缩短了训练周期。

2.大模型分布式推理服务

在采用 MoE 模型对外提供推理服务时(如多专家的聊天问答系统),DeepEP 确保各节

点的专家迅速响应,不会因为通信导致超时或响应迟缓。举例来说,一个天气预报 MoE 模型

部署在多个 GPU 上,DeepEP 可以保证每次查询时各专家的数据交换时间在毫秒级,从而实

时输出预测结果。在实时分析、应急响应等场景中,这种能力非常重要。

3.复杂科学模拟

在一些科学计算(如气候模拟、基因分析)场景中,可以用 MoE 思想将不同的功能模

块拆分,放到不同的算力节点上。DeepEP 能用于这些高性能计算场景,加速跨节点的数据交

换。例如,蛋白质动力学模拟需要在不同的节点上运行不同粒度的模拟器,DeepEP 确保各节

点之间传递数据的延迟最低,从而接近实时地协同工作。

4.AI-as-a-Service 平台

提供底层算力服务的平台(如云厂商或研究机构)在支持用户训练 MoE 模型时,可以

将 DeepEP 作为集群的一个标准通信加速组件。这会提升整个平台对 MoE 工作负载的支持效

率,吸引更多用户使用相应的服务。在私有化部署的企业 AI 系统中也可以集成 DeepEP,以

帮助 IT 团队架设高效的 AI 集群。

总体而言,对于需要在多 GPU 或多节点间频繁传输大块张量的深度学习场景,特别是

MoE 模型,DeepEP 极为适用。它在这些场景中的作用类似于“通信加速卡”,大幅提升了

数据并行任务的执行效率(只不过是以软件形式实现的)。

6.3.3 技术剖析

1.Intra-Node 通信优化(NVLink 加速)

在单机多 GPU 环境下,DeepEP 利用 NVLink 的高速互联通道进行 GPU 直连通信。

NVLink 是英伟达 GPU 专用的高速总线,带宽远超 PCIe。DeepEP 针对 NVLink 设计了

优化的通信内核,使单机内 GPU 互联通信的速度提高 3 倍,达到约 158GB/s,接近 Hopper

架构下的理论峰值。这就好比在服务器内部铺设多车道的高速公路,让 GPU 之间的数据交换

畅通无阻。

2.Inter-Node 通信优化(RDMA + InfiniBand)

在跨服务器的多机集群环境下,DeepEP 采用 RDMA(远程直接内存访问)技术,通过

InfiniBand 等高速网络实现节点间通信的低延迟。DeepEP 有一套 RDMA 低延迟内核,避免

经过 CPU 中转,将跨服务器通信延迟降低至 163 微秒,实现了 InfiniBand 网络的极限性能。

这就像在不同城市之间架设高速公路并取消大量中转站,使远程通信的速度接近本地通信的

速度。

3.FP8 智能压缩

DeepEP 支持 FP8(8 位浮点)数据。在通信时,使用 FP8 代替传统的 FP16 和 BF16,可

以将数据大小缩小一半甚至更多,使带宽占用率下降 60%。FP8 精度较低,在 MoE 场景中可

用于传输对精度不敏感的中间激活数据等。DeepEP 的通信内核原生支持 FP8 格式,在不显

著影响精度的情况下,可以大幅减少传输的数据量,如图 6-3 所示。这相当于“智能交通灯

压缩”策略,在不拥堵的前提下让车流量得到控制和优化。

图 6-3 DeepEP 的通信机制

4.高吞吐与低延迟双模内核

DeepEP 针对不同的使用场景,设计了两类通信内核:一类是面向训练过程的高吞吐内核,

另一类是面向推理和解码过程的低延迟内核。高吞吐内核利用批处理填满带宽资源,适合大

批量的训练数据交换;低延迟内核采用简洁的 RDMA 路径,缩短了等待时间,适合需要实时

新的绝对最大值历史第 6 章 DeepSeek 开源技术剖析

响应的推理通信。这种双模式设计确保了无论是在大规模中训练还是在在线推理中,DeepEP

都能发挥最佳效果。

5.通信与计算重叠

DeepEP 引入了一种基于 hook 的通信—计算重叠方法,在不占用额外计算单元(SM)

的情况下,将通信过程和 GPU 计算过程并行执行。这类似于 DualPipe 在流水线训练中的工作:

让 GPU 在进行矩阵计算的同时,利用空闲的 DMA 引擎发送或接收数据。通过 PyTorch 等框

架的回调 hook,将通信操作插入计算图的适当位置,实现完全并行。这意味着 GPU 几乎没

有闲时,要么在算术运算,要么在收发数据。

6.NVSHMEM 集成

DeepEP 的底层依赖英伟达的 NVSHMEM 库,并进行了修改和优化。NVSHMEM 提供了

PGAS(一种全局地址空间)模型,使编程模型可以像访问本地内存一样访问远端 GPU 的显存。

DeepEP 使用 NVSHMEM 打通了 GPU 直接读写彼此显存的通道,结合自研算法实现了智能

调度和负载均衡。这种深度集成硬件的做法,让 DeepEP 的性能远超基于 MPI 或 NCCL 的通

信实现。

6.3.4 影响与展望

1.对大模型架构创新的推动

DeepEP 的出现为大模型架构创新提供了新的可能性。过去,一些有潜力的架构(如更

复杂的 MoE 路由、专家层次化等)可能因为通信开销过大而被放弃。有了 DeepEP,这些架

构的可行性大幅提高。未来,MoE 模型可能会发展出规模更大、更复杂的拓扑,DeepEP 则

将成为其背后的关键支撑技术。

2.形成通信优化的新生态

DeepEP 开源后,有望成为类似于 NCCL、MPI 的通信库事实标准,并且专注更高层的

模型通信优化。社区开发者可以在 DeepEP 上构建针对不同类型模型的并行通信方案,实现

模块化复用。例如,未来可能出现基于 DeepEP 的 Tensor Parallel 通信库、流水线并行通信库等,

119DeepSeek 核心技术揭秘

将不同并行模式下的优化集成在 DeepEP 提供的高速通道之上。这将使整个分布式训练领域

的开源生态更加繁荣。

3.降低大模型训练成本

从经济角度看,DeepEP 使完成训练任务所需的时间减少,或者说在同样的时间内可以

训练规模更大的模型(这意味着成本下降)。对 AI 创业者和学术研究人员来说,这无疑是巨

大利好——训练一个超大规模的模型不再是“天价工程”。在 AI 模型训练成本越来越受关注

的当下,DeepEP 等技术是实现“花小钱办大事”的关键。

4.推动国产 AI 硬件与软件结合

DeepEP 等开源项目开始支持国产 AI 硬件(如对沐曦、寒武纪等国产 GPU 和加速卡的

兼容优化),这将加速国产硬件生态的成熟。有了先进的软件支持,国产 AI 芯片在执行复杂

的分布式任务时也能达到较高的效率。国内的超算中心、大模型研究机构可直接利用这些成果,

少走弯路。

5.DeepSeek 行业领导力提升

作为 DeepSeek 技术版图的重要部分,DeepEP 的成功巩固了 DeepSeek 在 AI 基础设施领

域的地位。相比于封闭开发,DeepSeek 通过开源赢得了口碑和社区支持,这对公司长期发展

具有战略意义:一方面,社区的反馈和贡献可以帮助 DeepSeek 更快地迭代技术;另一方面,

这些开源项目在行业内的传播为 DeepSeek 树立了技术标准制定者的地位。如果未来 AI 行业

沿用 DeepSeek 开源的通信协议和工具,那么 DeepSeek 将在开源生态中处于核心地位。

总体而言,DeepEP 的开源,不仅提供了即时的工程价值,也具有长远的产业影响。它

体现了一种趋势:通过开源协作,加速突破 AI 基础设施瓶颈。随着时间的推移,我们有望看

到 DeepEP 被广泛应用并持续演进,融入主流深度学习框架并成为内置组件,衍生出更多创

新性功能。DeepSeek 在这个过程中也将持续受益,继续引领 AI 算力技术革新浪潮。

6.4 DeepGEMM:让矩阵乘法起飞

DeepGEMM 是 DeepSeek“开源周”第三天推出的项目,全名是“深度通用矩阵乘法库”,

图 6-4 DeepGEMM 的界面

如图 6-4 所示。它的目标是把矩阵乘法这个在深度学习中特别基础又特别耗时的操作优化到

极致。在现代深度学习中,GEMM 是最基本也最耗时的算子之一,特别是在 Transformer 等

模型中,大量的张量运算本质上可以归结为矩阵乘法(如 MHA 中的投影、FNN 中的大矩阵

乘法等)。因此,GEMM 的效率在很大程度上决定了模型训练和推理的性能。这就好比在建

造高楼大厦时,“搬砖”是基础又耗时的工作,DeepGEMM 的目标是让“搬砖”的过程变得

又快又好,从而提升整个模型训练和推理的效率。

6.4.1 项目特点

1.支持超低精度运算

DeepGEMM的一大亮点是对FP8的支持。它实现了一套干净且高效的FP8矩阵乘法内核,

辅以细粒度的尺度因子来保证数值的稳定性。尽管 FP8 比 FP16 和 FP32 的精度低,但它可以

121DeepSeek 核心技术揭秘

显著减少内存和带宽的使用,是下一代 AI 模型训练的热点方向之一。DeepGEMM 将 FP8 引

入 GEMM 内核,使计算速度加快、内存占用降低,非常适合训练大模型。

2.极简设计,高效实现

DeepGEMM 的核心代码只有大约 300 行,在实现上避免了对 cUTLASS、cuBLAS 等重

量级库的依赖,而使用了一个经过精心优化的核函数,并通过即时编译技术在运行时生成优

化指令。这种类似“编译器”的行为使 DeepGEMM 可以针对不同的硬件进行动态优化,并

保持代码简洁,方便理解与修改。有开发者形容,使用 DeepGEMM 就像在看一份经过充分

注释的教程一样简单。

3.多布局和 MoE 支持

DeepGEMM 不仅支持标准的密集矩阵乘法(NN、NT 等常用布局),还支持 MoE 特有

的两种分组矩阵乘法。这意味着 DeepGEMM 支持 MoE 模型中需要将多个专家权重并行的稀

疏矩阵乘法运算。无论是常规的 Transformer 模型,还是有专家分组结构的模型,都能使用

DeepGEMM 来加速。

4.性能超越人工调优

DeepGEMM 的高效实现使其在绝大多数矩阵规模下的速度超过了专家精心调优的内核。

也就是说,即使和英伟达官方高度优化的 cuBLAS 库相比,在 FP8 场景中 DeepGEMM 也表

现更优。这对开发者的意义在于,可以直接使用 DeepGEMM,而无须针对各种情况优化内核,

实现了开箱即用的高性能。

5.赋能 DeepSeek 自有模型

DeepGEMM 并非空中楼阁,它已经在 DeepSeek 的大模型训练流水线中得到了实际应用。

例如,DeepSeek-V3 和 DeepSeek-R1 模型的训练和推理就采用了 DeepGEMM 加速矩阵计算。

在英伟达的 Hopper 架构 GPU 上,DeepGEMM 可以提供超过 1350TFLOPS 的 FP8 算力,这

对实际的模型训练是巨大的驱动力,也说明 DeepGEMM 是生产就绪的,经受了实战的考验。

概括来说,DeepGEMM 的目标是成为深度学习矩阵运算的终极解决方案,通过超低精度、

极简实现和性能极致优化,为开发者提供统一的高速矩阵乘法“黑箱”。从用户的角度看,

DeepGEMM 就像一款针对矩阵乘法的特殊编译器:输入矩阵,很快得到输出结果,自动完成

一系列优化与代码生成。这对需要进行大量线性代数运算的 AI 应用来说意义非凡。

6.4.2 应用场景

DeepGEMM 作为矩阵乘法库,是一个底层组件,可以嵌入各种深度学习训练框架和推理

引擎。具体来说,它的适用场景如下。

1.大模型训练

几乎所有深度学习模型的训练都离不开矩阵乘法。使用 DeepGEMM 替换默认的 GEMM

内核,可以加速训练过程。特别是超大规模模型(如包含数百亿甚至数万亿个参数的模型)

计算量巨大,引入 DeepGEMM 后节省的时间会非常可观。例如,在气象预测模型的训练中,

借助 DeepGEMM 的 FP8 运算可以快速处理海量的矩阵计算,从而更及时地更新模型。对追

求效率的科研项目而言,这是极具吸引力的。

2.推理加速

DeepGEMM 在模型推理中也可以发挥作用。如果将模型权重压缩为以 FP8 表示(可能

需要在训练时配合校准),那么在推理时使用 DeepGEMM FP8 内核可以大幅提升每秒查询量。

例如,在推荐系统、图像识别等需要高吞吐的推理任务中,DeepGEMM 可以减少所需服务器

数量或提供更快的响应速度,这对构建高性能的推理服务器集群、降低部署成本很有帮助。

3.学术研究与教学

DeepGEMM 的简洁实现和出色性能使其成为底层优化的极好案例。高校和研究机构可

以借鉴它来学习 GPU 编程和优化技巧,甚至以它为基础进行新的尝试(如 INT8 GEMM、混

合精度 GEMM 等)。研究人员也可以更方便地将它作为对比基准,验证新的想法。例如,

一个研究细粒度量化的团队可以将他们的方法融入 DeepGEMM 框架,对性能改进效果进行

测试。

4.行业应用集成

对于一些对计算性能要求极高的软件,如 MATLAB、OpenBLAS、分布式数据库(需要

123DeepSeek 核心技术揭秘

矩阵计算的部分)等,DeepGEMM 也有潜在应用价值。如果将其封装为标准的 BLAS 接口库,

那么各种需要矩阵运算的应用程序都可以使用它。例如,在金融工程的大型矩阵风险分析中,

调用 DeepGEMM 内核能更快地完成模拟计算。

值得注意的是,DeepGEMM 尤其适用于使用英伟达 GPU 环境(因为其优化的针对性很

强)。目前,在 AMD GPU 或其他加速器上可能无法直接利用 DeepGEMM 的全部性能优势。

不过,随着 AMD 等推出类似于 FP8 支持的架构,DeepGEMM 的思路也可以移植。

6.4.3 技术剖析

1.FP8 低精度支持

DeepGEMM 最大的特色在于从架构设计上优先为 FP8 服务。传统的 GEMM 库主要优化

FP16 和 FP32,而 DeepGEMM 针对 FP8 的特殊性进行了优化。例如,考虑到 GPU Tensor 核

心进行 FP8 计算时累加精度不高,DeepGEMM 引入 CUDA 核心的两级累加策略以提高精度。

简单来说,就是在 FP8 乘法后,不直接使用 FP8 累加,而是提升部分中间结果的精度后再累加,

兼顾精度与速度。这是一种精妙的折中,使 FP8 计算的误差得到控制。

DeepGEMM 使用细粒度缩放因子为不同矩阵块动态调整数值范围,借鉴了 DeepSeek-V3

论文中的方案,将 FP8 的适用性扩展到更多场景。

通过这些技术,DeepGEMM 实现了“效率不减,精度可控”的 FP8 GEMM,大幅减少

了内存占用。

2.极简核心实现

DeepGEMM 的开发者在说明文档中明确提到,其只有一个核心函数,以简单易懂的

CUDA C++ 实现运算逻辑。这种“简约而不简单”的架构有以下好处。

◎易读、易维护:研究人员和工程师可以方便地阅读源码,理解其中的每一步优化,包

括如何做分块、如何调度线程等。这是高度模板化的库难以做到的。

◎编译开销小:模板和宏的减少,意味着编译速度更快,以及产生的二进制数据体积更

小、兼容性更好。

◎优化灵活:开发者可以直观地基于此实现进行改进,如针对新硬件稍作调整,而不必

深入理解大量模板参数。这种架构使 DeepGEMM 的社区贡献门槛降低了。

3.即时编译

DeepGEMM 不是预先编译好所有可能配置的内核,而是利用即时编译机制在运行时生

成最佳内核。例如,根据矩阵大小、FP8 尺度等参数,即时编译机制会即时优化指令顺序和

寄存器分配。这类似于在不同输入下动态“编译”出最优代码,以确保每次计算都能发挥硬

件的极致性能。

事实上,在安装 DeepGEMM 时,不需要进行特殊编译,因为它在每次调用时由 PyTorch

的即时编译机制进行编译。这种思路类似于现代JavaScript的即时编译引擎对代码的优化方式,

只不过对象换成了矩阵运算。这赋予了 DeepGEMM 面向不同场景自适应优化的能力。

(1)内存布局与分组支持

DeepGEMM 支持多种矩阵存储布局,除了标准的稠密矩阵(A 是否转置、B 是否转置),

还特别支持 MoE 分组 GEMM。具体而言,MoE 有时需要对多个小矩阵(专家权重)并行进

行乘法运算,DeepGEMM 提供了掩码分组 GEMM 内核,可以在一次调用中完成一组矩阵的

乘法运算(通过掩码跳过无效部分)。

DeepSeek 提示,可以将 DeepGEMM 与 DeepEP 的低延迟内核结合使用,即 DeepEP 传

来的多个专家数据可直接输入 DeepGEMM 的分组乘法内核进行处理,从而实现流水化执行。

这展示了 DeepSeek 各优化组件之间的联动:DeepEP 和 DeepGEMM 联动,使 MoE 的通信和

计算更高效。这种针对 MoE 的架构设计,使 DeepGEMM 在 MoE 模型训练中更加游刃有余,

而一般的 GEMM 库难以直接应对这种场景。

(2)性能调优细节

在 DeepGEMM 的说明文档中提及了一些有趣的性能调优细节。例如,在 CUDA 12.2 和

CUDA 12.3 中,CUTLASS 的 FP8 内核性能有变化。通过对比 SASS(汇编),开发者发现了

一处 FADD 指令的特有模式,进而调整实现以利用这个差异。

这些细节说明 DeepGEMM 的开发者对英伟达 GPU 指令级优化做了深入研究,采取了许

多低层次技巧来实现极致性能,如重叠 MMA 指令与 FFMA 指令等。这些精雕细琢的优化让

DeepGEMM 在硬件上的表现十分亮眼。

125DeepSeek 核心技术揭秘

6.4.4 影响与展望

1.对行业的影响

DeepGEMM 的问世和开源对 AI 基础软件栈有不小的影响。

首先,DeepGEMM 填补了超低精度矩阵运算库的空白。在此之前,虽然有一些学术研究

涉及 FP8,但业界缺乏一个成熟的 FP8 GEMM 实现。DeepGEMM 通过实际性能证明了 FP8

的可行性,这将鼓励更多框架和硬件支持 FP8。可以预见,FP8 甚至更低精度(如 INT4)的

计算将更多地被采用,DeepGEMM 则扮演了探路者的角色。

其次,DeepGEMM 展示了代码简洁性与高性能并不矛盾。过去,很多人觉得极致性能

需要通过复杂的模板元编程代码实现,而 DeepGEMM 的出现刷新了人们的认知。这可能对

编程范式产生一些影响:更多的开发者开始重视即时优化在科学计算中的应用,以动态生

成而不是静态生成的方式提高性能。这也让社区反思:一些过于复杂的库的设计是否有简

化空间,毕竟维护上百万行高度模板化的代码成本极高,而 DeepGEMM 的这种简洁实现或

许是一个新方向。

最后,DeepGEMM 为开发者社区提供了新起点,爱好者和专家都可以基于它进行二次开

发。可能有人会为 AMD GPU 编写 DeepGEMM 变体,或者在 CPU 上仿照其思路实现 FP8 加

速,甚至扩展到卷积运算等(卷积也可转换为 GEMM)。DeepGEMM 可能引发小范围的开

源优化风潮,从而推动整个计算优化技术的进步。

2.对 DeepSeek 的意义

DeepGEMM 的发布凸显了 DeepSeek 在基础软件架构方面的雄心,加上 FlashMLA 和

DeepEP,形成了从计算、通信到存储的优化组件链条。DeepSeek 通过开源这些组件,构建了

自身 AI 基础设施生态的雏形。如果这些组件得到广泛使用,那么 DeepSeek 有望成为 AI 基

础工具的主要贡献者和引领者。

从行业竞争的角度看,中国的 AI 公司 DeepSeek 开源 DeepGEMM,相当于向国外巨头

展示实力。特别是在中美科技博弈的大背景下,DeepSeek 以开源形式发布关键技术,一方面

规避了纯商业化带来的监管阻碍,另一方面在全球开发者社区中建立了技术影响力。有分析

指出,在美国陷于法规讨论之际,中国的 DeepSeek 等公司正通过开源策略获得全球 AI 社区

的认可,这将为中国 AI 产业争取更大的话语权和主动权。

3.未来展望

未来,我们可能会看到 DeepGEMM 融入深度学习框架,PyTorch 或 TensorFlow 将其作

为后端。DeepSeek 也许会继续改进 DeepGEMM,如加入混合精度模式、支持特定模式的

GEMM 等,使其更加完善。总之,DeepGEMM 作为 AI 算法与算力结合的结晶,应用前景广

阔,有望在未来相当长一段时间内持续发挥影响力,成为 AI 算法工程师工具箱中的利器。

6.5 DualPipe 与 EPLB:集群并行计算优化

在大模型分布式训练方面,DeepSeek 一口气发布了 DualPipe 和 EPLB 两个项目,目标

是解决训练中的并行调度和负载均衡问题,如图 6-5 所示。DeepSeek 官方把它们称作并行计

算的“黄金搭档”:DualPipe 协调计算与通信,EPLB 平衡专家负载,让成百上千的 GPU 协

同高效运转。

图 6-5 DualPipe 和 EPLB 的界面

由于 DualPipe 和 EPLB 在功能上密切相关,因此将它们合并介绍。DualPipe 专注于流水线

并行训练中的效率提升,EPLB 则专注于 MoE 中的专家负载均衡,它们的共同目标是最大化硬

件利用率,减少资源浪费,从而用更少的硬件达到同等甚至更好的训练效果。

6.5.1 项目特点

1.DualPipe 的特点

在大模型训练领域,DualPipe 以其卓越的性能优势,为科研与产品迭代带来了前所未有的

变革。

在训练时间方面,DualPipe 展现出惊人的效率提升。传统的流水线并行存在明显的前反

向运行间隙,而 DualPipe 通过创新设计,几乎实现了前反向 100% 重叠,使训练步骤大幅减

少(接近传统方法的一半)。对那些因模型规模过大而无法单卡存放、必须采用流水线并行

的大模型而言,DualPipe 显著提升了训练的吞吐率。这意味着,在相同的迭代次数下,训练

总时间几乎可以减半。这无疑为科研项目的快速推进和产品的高效迭代提供了有力支持。

从硬件资源利用的角度看,DualPipe 堪称优化典范。在传统的训练模式中,GPU 经常会

出现长时间的闲置状态,导致资源浪费。DualPipe 能够让 GPU 保持高效运转,使平均利用率

接近满载状态。假设以往某训练任务需要 8 块 GPU 才能勉强达到所需的吞吐率,在 DualPipe

的助力下,仅需 4 块 GPU 就能实现同样的效果(因为每块 GPU 的运行效率实现了翻倍)。

这一显著变化直接降低了对硬件的需求,无论是依赖云 GPU 租赁的团队,还是自购服务器的

企业,DualPipe 都能帮助其节省大量的成本。这些团队或企业也可以将释放出来的算力资源

投入其他任务,进一步提高资源的利用效率。

在训练稳定性方面,DualPipe 也有着出色的表现。传统的流水线并行由于存在“bubble”

(填充与排空流水线)现象,常常会导致训练过程不稳定。例如,在处理最后几个微批次时,

可能会出现梯度聚合不完全等问题。DualPipe 通过消除“bubble”现象,使整个流水线处于

稳定的运行状态。从训练的第二轮开始,每块 GPU 持续执行任务,避免了因任务间隙导致的

资源浪费和运行不稳定等问题。这种稳定的运行状态不仅有助于降低显存峰值(在“bubble”

状态下,某些 GPU 可能会累积大量激活数据,占用大量显存),还能减少负载不平衡带来的

问题。最终,训练曲线会更加平滑地收敛,负载突变引发错误的概率也会降低,训练过程更

加可靠。

在技术集成方面,DualPipe 充分考虑了用户的使用体验。它提供了简洁易用的 PyTorch

接口,即使开发者对并行原理不够精通,也能轻松上手。用户只需掌握 DualPipe 的使用范

式,就可以将其应用到自己的模型训练中,而无须自行实现复杂的双向通信调度。这种低门

槛的设计极大地促进了先进流水线并行算法的推广,让更多的科研团队和企业能够受益于

DualPipe 带来的技术优势。

综上所述,DualPipe 在大模型训练方面从多个维度实现了重大突破,为大模型的发展提

供了强大的技术支撑,具有广阔的应用前景和巨大的商业价值。

2.EPLB 的特点

在现代大模型训练的复杂生态中,高效、稳定且低成本的训练方案是科研和产业界共

同追求的目标。弹性流水线负载均衡(EPLB)技术凭借在多个方面的卓越表现,成为提升

MoE 模型性能的关键利器,其与 DualPipe 结合后,能带来惊人的综合效益。

(1)最大化 MoE 模型的性能

传统的 MoE 模型训练常因专家负载不平衡问题导致算力浪费,出现部分 GPU 满载运行、

部分 GPU 闲置的极端情况。EPLB 技术成功解决了这一难题,它能够让所有 GPU 较为均匀

地分担负载,使 MoE 模型在扩展到更多专家时依然能高效运行,避免了效率崩塌问题。特别

是对拥有上千个专家的超大规模 MoE 模型言而,EPLB 是确保其可扩展性的核心因素。

(2)动态适应负载变化

在训练过程中,数据分布并非一成不变,不同阶段的专家负载也会有波动。EPLB 采用

迭代的方式,每隔一段时间就根据新的负载统计数据重新平衡专家副本。这种类似于自动调

优(Autotuning)的机制,能够实时跟踪最优配置,确保系统始终适应负载变化。在工业界的

大规模部署场景中,实时流数据的特性会不断改变专家的热门程度,EPLB 的动态负载均衡

能力使系统能够根据实际需求灵活调整,保持高效运行。

(3)降低通信开销

虽然增加冗余专家会带来一定的同步和存储成本,但 EPLB 通过合理的专家放置策略(如

将同组专家放置在同一节点),避免了不必要的跨节点通信。同时,负载达到平衡后,每个

专家处理的数据量减少,热点专家需要大量发送和接收数据的情况得到改善,从而降低了通

信总量。在整体上,通信变得更加均匀、可控。

(4)扩展 MoE 模型的规模

EPLB 为 MoE 模型的大规模部署提供了有力支持。在没有 EPLB 的情况下,由于负载不

平衡,即使有大量的 GPU 资源,也无法充分发挥其效能。例如,一个拥有 512 个专家的模型

存在严重的负载不平衡问题,100 块 GPU 中只有一半能够真正参与有效计算;使用 EPLB 后,

可以扩展到上千个专家,并充分利用这 100 块 GPU。这意味着研究人员和开发者可以尝试构

建专家更多、容量更大的模型,充分发挥 MoE 架构“专家越多越好”的优势。

(5)兼容现有 MoE 实现

EPLB 的设计具有高度的兼容性,它主要负责计算专家的放置方案(通过现有 MoE 架构,

如 FairSeq MoE 或 DeepSpeed MoE 的专家并行实现)。这种无侵入的设计使 EPLB 可以轻松

地被添加到任何采用专家并行的训练过程中,用户只需在合适的时机调用 rebalance_experts

函数并重新映射专家参数。此外,EPLB 可以与其他并行算法(如 DeepEP 通信、ZeRO 优化等)

配合使用,组成完整的训练解决方案。

(6)DualPipe 与 EPLB 结合

DualPipe 技术在大模型训练中已经展现出显著的优势,它通过实现前反向的高度重叠,

大幅缩短了训练时间,让训练过程更加高效。EPLB 则专注于提升硬件利用率,通过优化负

载均衡和降低通信开销,减少了对硬件资源的需求。当 DualPipe 和 EPLB 结合使用时,它们

的优势相互补充,省时又省钱。在当前大模型训练成本居高不下的背景下,这种组合能够显

著降低训练成本,提高训练效率,对科研和产业发展有巨大的推动作用。

6.5.2 技术剖析

1.DualPipe:双向流水线并行的创新

DualPipe 主要针对流水线并行训练中的效率问题。传统流水线并行就像接力赛,前面的

选手没跑完,后面的选手就得等着,导致 GPU 闲置,效率低下。DualPipe 的双向流水线并行

算法就好比让接力赛的选手们不仅能向前跑,还能同时向后传递接力棒,即让前反向计算与

通信完全重叠。

(1)双向流水线调度

一般的流水线并行是将模型划分为多段,每段在不同的 GPU 上顺序执行,如 GPU1 负责

层 1 ~ 层 10,GPU2 负责层 11 ~ 层 20 等。但是,每个设备要等前面的设备完成一个批次的前

向传播才能开始执行,反向传播也是串行的,这产生了等待。

DualPipe 引入反向微批次并行的概念:在正向传播流水线还没完成时,就启动反向传播。

它将微批次分成两组,一组为前向传播,另一组为反向传播,从而在流水线中对撞。通过复

杂的调度安排,DualPipe 实现了理想情况下的前向传播和反向传播完全重叠。DeepSeek-V3

技术报告对这个调度算法进行了详细的阐述,提供了划分微批次及时序安排的策略(在说明

文档中有调度示意图)。DualPipe 的本质是让流水线两端同时工作,中间仅有很短的同步时间,

从而消除大部分等待周期。

通过双向调度,DualPipe 几乎消除了流水线中的“bubble”现象。传统的 1F1B 流水线在

迭代的开头和结尾有长时间的“bubble”,DualPipe 的调度让其持续时间大幅缩短。另外,由

于反向传播和前向传播可以同时进行,DualPipe 将吞吐量提高了近 2 倍(在理想情况下,前反

向重叠意味着效率提高 1.8 倍左右,这里考虑了一些调度开销)。总之,双向调度的核心就是

时间复用:前向传播与反向传播不再串行,而是并行推进,硬件利用率随之大幅提高。

(2)跨节点通信重叠

DualPipe 解决了跨节点通信瓶颈问题。当模型并行横跨多机时,不可避免地需要在节点

间传递激活参数和梯度。DualPipe 的方法是将这些通信纳入双向流水线机制,让通信与计算

同时进行。也就是说,GPU 在计算下一层任务的同时,通过网络发送上一层的梯度和激活参

数,让通信时间“隐藏”在计算时间里,不增加总时长。DualPipe 搭配 DeepEP 通信库使用时,

这种重叠效果更加明显,因为 DeepEP 本身也支持通信与计算并行(通过 hook)。因此,在

大规模多机环境下,DualPipe 确保了跨机器的流水线高效运行,不会因网络慢而拖累训练。

(3)与 PyTorch 深度集成

DualPipe 提供了基于 PyTorch 的实现,通过一个自定义的 overlapped_forward_backward

方法将双向调度融入训练循环。用户需要根据自己的模型定义这个前反向交织的方法。

DualPipe 随代码提供了一个例子 example.py 来展示其使用方法。这种设计使 DualPipe 能兼容

现有训练代码:开发者不必推翻训练流程,只需使用 DualPipe 提供的封装层来包装模型并定

义重叠策略,就可以享受双向并行带来的好处。这降低了使用门槛,也为调试和改进调度策

略提供了便利。

2.EPLB:智能均衡专家负载

EPLB 专注于解决 MoE 并行中的负载不平衡问题。在传统的 MoE 训练过程中,有的专家

很忙,对应的 GPU 超负荷运转;有的专家很闲,对应的 GPU 闲置。EPLB 就像一个智能的“资

源调配员”,通过冗余专家策略,给忙碌的专家增加副本以分摊压力,通过启发式算法决定副

本的放置位置,让所有 GPU 的负载尽量均衡。

(1)冗余专家策略

EPLB 需要先估计每个专家的负载(如每轮有多少个 token 被路由到该专家),这可以通

过统计历史的移动平均值来预测。然后,EPLB 会决定给哪些专家增加副本,以及增加副本

的数量(这是 DeepSeek-V3 的论文采用的策略)。虽然增加副本能线性降低单个专家的负载,

但是副本过多会增加通信和调度的复杂度,因此需要折中。EPLB 可根据预估的负载和集群

资源,合理地选择给哪些专家增加多少副本,以实现负载均衡的目标。

(2)分组感知的放置算法

MoE 模型通常将专家划分成组,每个输入只激活某组内的部分专家。DeepSeek-V3 使用

了组限制专家路由(Group-Limited Routing)。EPLB 利用这一点,在放置副本时尽可能将同

组的专家放在同一个节点,使组内通信不出节点,从而降低跨节点的通信流量。这体现了一

种层次化的负载均衡策略:如果节点数量和专家组数量匹配,那么 EPLB 先在节点层面均衡

分配专家组,再在节点内复制专家,以均衡 GPU 负载(称为分层负载均衡策略,用于预填充

阶段)。若组和节点无法对应,则采用全局负载均衡策略(用于解码阶段)。层次化的负载

均衡策略确保了无论专家组和集群结构关系如何,都能最大化利用本地资源减少通信,同时

达到负载均衡。

(3)启发式打包算法

一旦决定了需要多少个副本及副本的分组放置方案,EPLB 就要为每个 GPU 分配专家

(原始专家或专家副本)。它采用了一种贪心启发式打包算法,将专家或专家副本打包到各

GPU,使每个 GPU 的总负载相近。这一过程类似于装箱问题,通常采用启发式方法。EPLB

封装的主函数 eplb.rebalance_experts 负责执行上述运算,输出映射关系 hy2log(物理 GPU 到

逻辑专家的映射)、log2phy(逻辑专家到物理 GPU 的映射)等。开发者可以据此初始化模

型中的专家参数分配方案,将复制的专家加载到正确的 GPU 上,继续训练。

(4)接口与示例

EPLB 提供了简单的 Python 接口,如 eplb.rebalance_experts(weight, num_replicas, num_

groups, num_nodes, num_gpus),传入当前专家负载矩阵和集群配置,即可得到副本的分配方案。

说明文档中给出了一个两层 MoE 架构(每层包括 12 个专家、4 个冗余专家、2 个节点,共 8

个 GPU)的示例来演示调用结果。这个例子有助于用户理解 EPLB 的使用方法和输出规则。

方案生成后,训练框架需要据此重新映射专家。如果配合 DeepEP 等通信库,则新的专家映

射也能自动生效,从而让“边训练,边平衡”成为可能。

6.5.3 影响与展望

1.大模型训练的变革

DualPipe 和 EPLB 的结合,给大模型训练带来了前所未有的变革。

在训练时间上,DualPipe 大幅缩短了训练周期,让原本需要一个月的训练任务缩短到两

周以内。在硬件资源利用上,DualPipe 显著提高了 GPU 的利用率,降低了对硬件的需求,节

省了成本。在训练稳定性上,DualPipe 消除了传统流水线并行的“bubble”现象,让训练过

程更加稳定、可靠。

EPLB 最大化 MoE 模型的性能,通过动态适应负载变化、降低通信开销、扩展模型规模

等方式,让 MoE 模型在大规模训练中更加高效。

DualPipe 和 EPLB 形成了“省时又省钱”的黄金组合,为大模型的科研和产业发展提供

了强大的技术支持。

2.开源带来的深远影响

DualPipe 和 EPLB 的开源,挑战了研究人员对并行计算瓶颈的传统认知,激发了更多后

续研究。它们有望被整合到主流深度学习框架中,让普通用户也能轻松受益,从而降低整个

行业的训练成本。同时,它们促使企业和科研机构重新审视硬件规划,推动硬件厂商提供更

友好的通信和调度支持。

此外,DeepSeek 通过开源这两个项目,树立了开源促进 AI 发展的典范,完善了自身的

生态系统,强化了其在行业内的影响力。未来,DualPipe 可能会激发更多关于流水线并行的

研究,EPLB 则有望扩展成更通用的分布式负载均衡平台。

总之,DualPipe 和 EPLB 的出现,为大模型的训练提供了全新的思路和方法。在开源社

区和 DeepSeek 公司的推动下,大模型的训练效率将不断提升,“用更少的 GPU 训练更大的

模型”将成为行业的常态。

6.6 3FS:为 AI 加速

在“开源周”的最后一天,DeepSeek 给我们带来了一个“大杀器”——3FS,也就是

Fire-Flyer File System。这是一个专门为大模型训练和大数据处理设计的高性能并行分布式存

储系统。

对经常处理 TB 级乃至 PB 级数据的训练任务来说,传统的通用存储系统(如 NFS、

Lustre)往往难以提供足够高的吞吐量和足够低的延迟,I/O 变成训练流水线中的慢节点。

3FS 正是在此背景下诞生的,它旨在通过数据的分布式并行存储与访问,为大模型提供如内

存般快速的数据读写能力,同时保持良好的可扩展性和可靠性。

6.6.1 项目特点

3FS 的主要特点和优势体现在以下几个方面。

1.极致的存储性能

3FS 针对 AI 顺序读取场景实现了业内顶尖的性能。在大规模集群下,3FS 实现了 6.6TiB/s

的聚合读带宽——相当于每秒读取近 7000GB 的数据。与之相比,传统分布式存储系统的读带

宽很难超过百 GB/s 量级。如此高的吞吐量确保了即使成千上万个 GPU 并行训练,都能被及

时“喂饱”数据。此外,IOPS 提升 4 倍和延迟降低 70% 也说明 3FS 能兼顾小文件、随机读

写和低延迟需求。在那些受 I/O 限制的任务(如小文件众多的数据集加载)上,3FS 能够突

破性能瓶颈。

2.显著缩短训练时间

有了 3FS,训练时的数据准备将不再拖慢整体速度。过去,许多大模型的训练要使用异

步加载、数据复制等技巧,就是为了规避 I/O 速度慢的问题,而 3FS 让这些复杂的手段不再必

要。实验表明,DeepSeek 使用 3FS 后,H800 集群的有效算力相当于 H100 的 85%,而成本

仅为 H100 的 30%,其中很重要的原因是存储性能的提升使 GPU 的闲置减少。这意味着,模

型可以用更大的批次、更高的速度进行迭代,以实现更快的收敛。

3.提升大数据处理效率

3FS 不仅服务于 AI,在大数据分析(如 GraySort 基准)中也表现优异。对于企业的数据仓

库、日志处理等应用场景,它也能提供强劲的支持。相比于传统 HDFS 生态的复杂调优,

3FS 更易用、更高效。3FS 以一套系统兼顾大模型训练和数据处理需求,减少了企业部署系

统的种类,提高了使用效率和系统一致性。

4.硬件利用率最大化

通过 3FS,昂贵的 SSD 阵列和高速网络的价值能得到充分发挥。很多企业采购了 NVMe

或 IB,却难以利用峰值性能。3FS 则实现了接近理论值的表现,提高了总拥有成本(TCO)

的性价比。换言之,SSD + IB 搭配 3FS,可实现比搭配传统方案高数倍的 I/O 能力,相当于

节省了硬件资源或者提高了效率。

5.热数据缓存与分层

3FS 内建的冷热数据分层机制可以极大优化访问局部性问题。大模型在训练过程中通常

会多次遍历相同的数据集。3FS 将需要经常访问的数据段自动缓存在内存甚至 GPU 显存(未

来可能支持 GPU 直存)中,使后续访问几乎没有延迟。这种智能缓存相当于在一定程度上融

合了内存文件系统的优点,开发者不需要手动管理缓存,系统会自动提升热点数据的访问速度。

另外,冷数据仍存储在低成本介质上,兼顾了性能与成本。

6.开源与开放

3FS 是开源的(MIT 许可)并提供了文档和使用指南,这对研究存储系统或需要定制方

案的使用者非常有利。社区可以针对自己的场景对 3FS 做二次开发,如增加容错策略、与云

存储接口对接等。3FS 的开放,也有利于其成为行业标准的一部分。如果有大量 AI 项目采用

3FS,则将给传统存储市场带来冲击,同时巩固 DeepSeek 在开源生态中的地位。

3FS 的可扩展性和易用性也很出色,能轻松扩展到海量节点,性能线性增长,而且为上

层应用提供了类似于 POSIX 或对象存储风格的接口。用户不用对现有代码进行大幅修改,就

能将其应用迁移到 3FS 上运行。

6.6.2 应用场景

3FS 作为极具创新性的存储解决方案,在众多数据密集型计算场景中展现出卓越的适用

性与强大的性能优势,能够显著提升各类应用的数据处理效率与运行效果。

1.深度学习训练数据存储

深度学习模型在训练过程中,需要读取海量的训练数据(如图像、文本、视频等),I/O

瓶颈经常成为制约训练效率的关键因素。3FS 将此作为首要目标场景,无论是单机多卡训练,

还是集群多机的分布式训练,直接从 3FS 读取数据都能实现最佳性能。以 ImageNet、LAION

及各类巨量语料库的训练项目为例,以往 I/O 操作频繁导致训练效率低下,而 3FS 的出现几

乎消除了这一瓶颈。在分布式训练中,3FS 分布式共享存储的特性也发挥了巨大优势,无须

在每台机器上存储完整的数据集拷贝,大幅节省了存储空间,同时缩短了数据准备时间,为

深度学习训练提供了高效的数据管理与读取支持。

2.大型模型推理服务

大型模型的推理阶段同样存在大量的数据访问需求。例如,在批量推理测试数据,或者

对外提供搜索、推荐等需要随机访问海量嵌入(embedding)或索引的服务时,确保高并发

下的稳定低延迟响应至关重要。3FS 在这类场景中表现出色。例如,将其用于存储向量数据

库或 embedding 表,能够使上万个并发查询迅速取回 embedding。再如,对于大模型的 KV

Cache,3FS 针对其推理场景下的特定存储需求,提供了精准有效的解决方案,有力保障了大

模型推理服务的高效运行。

3.数据分析和 ETL

对于 Spark、Hive 等大数据处理框架,底层存储的性能直接影响 MapReduce、Join 等的

执行效率。3FS 凭借其出色的性能,能够直接作为这些框架的底层存储,大幅提升数据处理

速度。GraySort 测试已经充分证明 3FS 在排序、shuffle 等操作上的强大实力。在金融分析、

日志处理、机器学习特征工程等批处理任务中,尤其在那些需要频繁扫描全量数据的作业中,

3FS 极高的顺序读取性能优势尽显。例如,一个需要每天运行的日志聚合任务迁移到 3FS 后,

其 I/O 时间从小时级大幅缩短至分钟级,极大地提高了数据分析和 ETL 的整体效率。

4.高性能计算

部分高性能计算(HPC)应用属于 I/O 密集型任务,如流体力学模拟,其每一步计算都会

输出大量的数据检查点。如果存储系统与数据读写速度不匹配,计算节点就会处于等待状态,

严重影响计算效率。3FS 能够应用于 HPC 集群,构建统一的并行存储系统,实现模拟数据的

快速写入,确保计算过程的连续性。此外,对于基因测序等需要并行读写海量小文件的任务,

3FS 的高 IOPS 特性也能发挥重要作用,为科学计算提供高效的数据存储与访问服务。尽管 3FS

是针对 AI 场景进行优化设计的,但它的高吞吐、高并发能力在许多科学计算场景中同样具有

极高的价值。

5.游戏与渲染

在大型游戏服务和场景渲染中,需要处理大量素材、贴图等资源的并行读取任务。3FS

可用于搭建游戏内容分发存储系统,保证多名玩家同时加载地图资源时不会出现卡顿现象,

为玩家提供流畅的游戏体验。在渲染场景中,3FS 支持多台渲染服务器同时读取超高清素材,

并高效存储中间结果,从而显著缩短渲染时间。这类场景本质上与大模型训练相似,涉及大

文件的并行读写操作。3FS 凭借其强大的性能,能够很好地满足游戏与渲染领域的数据存储

与读取需求。

综上所述,在任何需要高性能分布式文件存储的领域,3FS 都是极具竞争力的选择。特

别是当数据规模增长至数十 TB 甚至更大时,3FS 的优势愈发显著。在 AI 领域,3FS 更是扮

演着“深度学习的数据基座”这一关键角色,紧密连接模型与数据,为数据的高效供应提供

动力,推动 AI 技术不断发展。

6.6.3 技术剖析

3FS 作为卓越的存储解决方案,在存储架构、硬件优化、集群设计等多个维度展现出独

特的优势,为大模型训练及大数据处理提供了坚实的基础。

1.并行存储系统架构

区别于传统的集中式文件服务器,3FS 采用共享无单点(shared-nothing)架构,将数据

切分后存储于多个节点。每个节点兼具存储与服务的功能,可以看作独立的存储“分片”。

当客户端对 3FS 发起请求时,多个节点协同响应。以读取大文件为例,请求会被并行分发至

137DeepSeek 核心技术揭秘

不同的节点,各节点分别处理其负责的文件(这种设计理念与 Hadoop HDFS、Ceph 等相似)。

3FS 针对 AI 场景中频繁的顺序读操作进行了深度优化,减少了寻址元数据的开销及不必要的

同步过程,通过全局元数据服务或去中心化算法精准跟踪文件块,确保在集群扩容时数据和

负载能够均衡分布。3FS 的架构聚焦于并行与分布式,以此实现性能的线性扩展,满足不断

增长的存储与处理需求。

2.现代硬件深度优化

(1)SSD 优化:挖掘 NVMe SSD 的极致性能

传统的存储系统在 SSD 的优化上存在局限。3FS 则另辟蹊径,通过精心优化 I/O 调度算

法、减少随机写操作、合并 I/O 请求、采用异步 I/O 技术,充分挖掘了 NVMe SSD 的潜力。

官方数据显示,3FS 的单节点 IOPS 提升了 4 倍(相较于标准 Ext4 或 XFS on SSD)。这充分

表明,3FS 针对 SSD 进行了“榨取带宽”的特殊处理,让 SSD 的性能得以充分释放。

(2)RDMA 网络:加速数据传输

3FS 运用 RDMA over InfiniBand 网络连接各节点。RDMA 技术允许直接访问内存(绕开

内核协议栈),大幅降低了延迟与 CPU 占用率。3FS 基于 RDMA 技术实现数据传输、分布式

锁,以及一致性协议,将跨节点的数据传输延迟降低了 70%。即使在拥有 180 个节点的大型

集群中,3FS 仍能实现 6.6TiB/s 的高吞吐。这得益于其对网络拓扑和协议的精心设计,每个

节点的多块 NIC 能够并行发挥作用。

3.集群友好设计

3FS 从设计之初就充分考虑大规模集群的同步与一致性问题。虽然 3FS 采用的 Paxos、

Raft 等保证元数据一致性的机制尚未完全公开,但它强调跨节点同步的无缝性。在训练中,

当所有 GPU 同时迭代遍历数据集时,若一个文件被多个计算节点并行读取,则 3FS 可以确

保各节点都能读取最新数据,且不会相互影响。初步的 Benchmark 测试表明,在拥有 180 个

节点的环境中,3FS 仍能近乎线性地扩展。

4.GraySort 基准与数据处理

3FS 不仅在大模型训练领域表现出色,对大数据处理也提供了强大的支持。

DeepSeek 将 3FS 与 SmallPond 数据处理框架结合,进行 GraySort 基准测试,在 25 个存

储节点与 50 个计算节点的配置下,成功完成对 110.5TiB 数据的排序,用时仅 30 分 14 秒,

平均吞吐达 3.66TiB/分,成绩斐然。这一结果证明了 3FS 架构对大规模 I/O 与计算混合任务

的卓越支撑能力,不仅数据读取迅速,写入排序结果同样高效。

能达到如此水平,说明 3FS 在并发写和网络 Shuffle 方面进行了优化。SmallPond 借助 3FS

实现分布式 Shuffle 和分区排序,验证了 3FS 处理复杂负载时的可靠性与高性能。

5.KV Cache 模块

3FS 专门集成了 KV Cache 模块,旨在辅助大模型推理。在推理过程中,将生成过程的

KV Cache 存储于外部存储中,以节省 GPU 显存。

KV Cache 在 3FS 上的读峰值可达 40GiB/s,提供了高速且大容量(在 SSD 上可达 TB 级)

的外部缓存,对存储大模型长对话的 KV 历史极为实用。将 KV Cache 整合到 3FS 中,体现

了 DeepSeek 针对 AI 推理等特殊需求进行的精心设计。未来,模型缓存、embedding 存储等

都可借助 3FS 的 KV Cache 模块实现。

6.DuckDB 集成

DeepSeek 提出结合 DuckDB(轻量列式数据库)进行单机分析。3FS 可与 DuckDB 协同

完成训练数据的预处理与分析任务,先利用 DuckDB 在单机上分析小样本,再进行大规模分

布式处理,以这种上下游一体化的思想构建了端到端解决方案。

3FS 具备简单的 SQL 查询或索引能力,类似于将存储与数据处理融合,进一步提升了效

率。未来有望直接在 3FS 上执行过滤、采样等操作,而无须额外拷贝数据集文件,以简化数

据处理流程,提升整体效能。

6.6.4 影响与展望

3FS 的出现对 AI 基础设施层面的影响如下。

1.解除 AI 发展的 I/O 桎梏

AI“算力三要素”是指计算能力(硬件)、存储与宽带(数据吞吐)、软件与算法优化。其

中,计算能力和软件与算法优化的进步很快,而存储与带宽总是拖后腿。3FS 有望改变这一

局面,把 I/O 性能提升一个量级,让训练更大规模的模型、处理更多的数据成为可能。以往

由于读取性能不足,无法使用全量数据进行训练。有了 3FS,就可以大胆进行全量数据训练了。

这不仅有望提升模型的效果,还可能间接推动 AI 算法效果的提升。

2.新型 AI 数据基础设施兴起

3FS 代表了一种趋势,那就是为 AI 定制基础设施,而不是使用通用方案。未来可能会出

现更多类似于“AI 加速数据库”“AI 专用操作系统”的概念。3FS 作为存储层的范例,如果

取得成功,则会引领行业针对 AI 工作负载打造专用的底层系统,大公司或开源社区也可能会

研发自己的系统,从而催生一个活跃的技术生态。

3.与云服务融合

如果 3FS 表现突出,那么,云厂商可能会在其 AI 云上部署 3FS 或类似技术,提供高性

能 I/O 训练服务。这样一来,大模型训练更加平民化,用户即使不搭建自己的存储系统,也

能在云上享受 TB/s 级的吞吐,加速 AI as a Service 落地,让更多的小团队能够训练大模型,

普惠 AI 创新。

4.对大数据存储格局的冲击

HDFS、Ceph 等传统存储系统统治大数据存储领域多年,而 3FS 一旦得到广泛应用,就

可能分得 AI 和部分数据处理领域的市场份额,逼迫传统存储系统演进或与 3FS 集成。如果

3FS 能发展出稳定的社区版本并被业界采纳,那么它可能成为继 Lustre 之后新一代受欢迎的

高性能存储系统。

5.DeepSeek 全栈生态形成

在 DeepSeek 的“开源周”中,5 个项目相继亮相,覆盖了从计算、通信、并行计算到存

储的 AI 基础设施关键环节,标志着 DeepSeek 成功构建了一套自主可控的 AI 基础设施技术栈。

这套全栈技术不仅提升了 DeepSeek 产品的性能,还为其未来转型成为 AI 基础设施提供商奠

定了基础。

展望未来,3FS 有着广阔的发展空间,有望增加更多针对 AI 的特性:在数据管理方面,可

能会引入数据版本管理功能,方便训练数据集的迭代更新;在数据检索方面,可能会支持更

多的数据索引和查询功能;在运维方面,可能会引入自治运维能力;在数据与计算融合方面,

可能会深度融合计算功能,实现数据和算力的无缝对接。总之,3FS 的诞生为数据和算力的

融合描绘了一幅美好的蓝图,当存储不再是 AI 发展的瓶颈,AI 算法就能充分吸收数据的养分,

茁壮成长。

DeepSeek 通过开源 3FS,将这一强大的能力赋予广大开发者,加速了自身在 AGI 领域

的探索进程,也为 AI 科研和产业界带来了福祉。可以预见,在 3FS 等新技术的有力支持下,

大模型和大数据的规模将以前所未有的速度攀升至下一个数量级,进而推动 AI 技术实现质的

飞跃,为人类社会创造更大的价值。


(由于知乎平台稿件格式问题,公式格式不能正确写上;如若读写困难可后台私信我要完整电子版)

对机器学习感兴趣的读者可以去主页关注我;本人著有《速通深度学习》以及《速通机器学习数学基础》二书,想要完整版电子档可以后台私信我;实体版已出版在JD上有售,有兴趣的同学可以自行搜索了解

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐