一文解读DeepSeek开源周【Open Source Week】解锁的那些硬核科技和狠活【AI开发的大杀器】【建议收藏】

引言:Open Source Week是DeepSeek公司2025年2月21日宣布的一个特别活动,该活动从2025年2月24日开始,持续一周时间。在这期间,DeepSeek每天会开源一个新的代码库,总计开放五个重要的底层技术项目代码库。这些代码库涵盖了从大模型推理加速混合专家模型通信优化,到矩阵运算内核提升并行计算效率改进,再到分布式文件系统等AI基础设施的关键层面。更为关键的是这些代码库已通过测试和部署,可投入生产环境。这个活动的目的是完全透明地分享他们的研究进展,促进AI领域的创新和发展。所有开源项目均使用MIT协议,把开源精神最大化。

一文搞懂软件开源协议的那些事【概念、分类、选择及商业应用】-CSDN博客

        DeepSeek自从1月20号上线并开源了DeepSeek R1火爆出圈后,就一直吸引着国内、国外各界的目光,这次的开源周[2.24-3.1]更是把全民DeepSeek的热度推向了一个新的高度,每天解锁硬技能,都给大家带来了各种惊艳感。截止今天,开源周已全部结束,本文就和大家一起回顾开源周的那些硬核科技和狠活!一周开源内容概览:

  • 周一:FlashMLA - 高效多头线性注意力解码内核

  • 周二:DeepEP - 专为混合专家模型设计的高性能通信库

  • 周三:DeepGEMM - 高效FP8通用矩阵乘法库

  • 周四:DualPipe - 创新双向流水线并行算法

  • 周五:3FS & Smallpond - 高性能分布式文件系统与数据处理框架

  • 周六:DeepSeek-V3 / R1 推理系统概览

目录

一、【Day1:FlashMLA】

1、简介

2、核心特点

3、FlashMLA 的主要应用场景

4、GitHub 项目地址

5、小结

二、【Day2:DeepEP】

1、简介

2、核心特点

3、主要应用场景

4、GitHub项目地址

5、小结

三、【Day3:DeepGEMM】

1、简介

2、核心特点

3、主要应用场景

4、GitHub项目地址

5、小结

6、降价

四、【Day4:DualPipe + EPLB + Profiling Data】

1、简介

2、工作原理

3、核心特性

4、GitHub项目地址

五、【Day5:3FS + Smallpond】

1、简介

2、核心特点

3、工作原理

4、GitHub项目地址

5、相关链接

六、【Day6:DeepSeek-V3 / R1 推理系统概览】

1、简介

2、大规模跨节点专家并行

3、线上推理系统的实际统计数据

4、相关链接

七、总结


一、【Day1:FlashMLA】

1、简介

FlashMLA是一个为NVIDIA Hopper GPU优化的高效多头线性注意力解码内核,它能够显著提升大语言模型的推理性能

2、核心特点

  • 支持BF16数据类型:提供高精度计算支持

  • 采用分页KV缓存技术:块大小为64,优化内存访问

  • 针对可变长度序列优化:适应不同长度的输入

  • 惊人的性能表现

    • 内存受限场景:H800 GPU 上达成 3000 GB/秒内存带宽极限(约1分钟下载300部高清电影)

    • 计算受限场景:高达580 万亿次浮点运算/秒(TFLOPS ,相当于1秒完成全人类手工计算几万年的量)

让H800的性能暴增,内存带宽和推理性能都提升了2-3倍!过去这类高效工具多被大公司独占,普通开发者用不起。开源后,所有人都能免费使用,降低AI开发门槛。企业用更少的GPU服务器就能完成任务,未来AI应用(比如智能客服、翻译软件)可能更便宜、更普及。

3、FlashMLA 的主要应用场景

  • 长序列处理:适合处理数千个标记的文本,如文档分析或长对话。
  • 实时应用:如聊天机器人、虚拟助手和实时翻译系统,降低延迟。
  • 资源效率:减少内存和计算需求,便于在边缘设备上部署。

目前 AI 训练或推理主要依赖英伟达 H100 / H800,但软件生态还在完善。

        由于 FlashMLA 的开源,未来它可以被集成到 vLLM(高效 LLM 推理框架)、Hugging Face Transformers 或 Llama.cpp(轻量级 LLM 推理) 生态中,从而有望让开源大语言模型(如 LLaMA、Mistral、Falcon)运行得更高效。

        同样的资源,能干更多的活,还省钱。因为 FlashMLA 拥有更高的计算效率(580 TFLOPS)和更好的内存带宽优化(3000 GB/s),同样的 GPU 资源就可以处理更多请求,从而降低单位推理成本。对于 AI 公司或者云计算服务商来说,使用 FlashMLA 也就意味着更低的成本、更快的推理,让更多 AI 公司、学术机构、企业用户直接受益,提高 GPU 资源的利用率。

4、GitHub 项目地址

GitHub - deepseek-ai/FlashMLA: FlashMLA: Efficient MLA Decoding Kernel for Hopper GPUs​​​​​​

技术栈:    C++、Python、Cuda

5、小结

FlashMLA就像给AI引擎换上了“涡轮增压”,让它在处理复杂任务时既快又省电。通过开源,DeepSeek希望让更多人参与AI技术的创新,共同推动科技进步。

二、【Day2:DeepEP】

1、简介

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 资源。

2、核心特点

  • ✅ 高效且优化的全互联(all-to-all)通信 

  • ✅ 支持节点内和节点间通信,兼容 NVLink 和 RDMA 

  • ✅ 面向训练和推理预填充的高吞吐量内核 

  • ✅ 面向推理解码的低延迟内核 

  • ✅ 原生支持 FP8 数据类型分发 

  • ✅ 灵活的 GPU 资源控制,实现计算与通信的重叠

DeepEP的灵感来源于自然界中的生物进化。在自然界中,生物通过遗传、变异和自然选择逐渐适应环境,变得更强大。可以把它想象成一个“超级智能助手”,DeepEP可以自动设计出高效的程序,而不需要人类程序员一步步地去写代码,它能帮助计算机程序自己变得更好、更聪明! 

DeepEP的核心思想就是“让程序自己进化”。假设你想教一个机器人学会走路。传统方法可能需要工程师手动编写大量的代码,告诉机器人每一步该怎么动。但用DeepEP,你可以直接给机器人设定一个目标:“学会走路”。然后,DeepEP会让机器人尝试各种动作,比如抬腿、迈步、保持平衡等。它会不断测试哪种动作效果最好,并逐步改进,最终让机器人学会走路!它模仿了自然界中生物进化的规律,通过不断尝试、筛选和改进,最终生成高效、智能的解决方案。这种方法不仅节省了人类的时间,还能发现一些人类想不到的好办法。

3、主要应用场景

  • 大规模MoE模型训练(如千亿参数级别)

  • 高并发低延迟的实时推理服务

  • 多模态、科学计算等异构计算任务

特别的,在repo最后,deepseek还说明,用了一个没有在英伟达文档里面的指令用来做优化,真是拥有探索精神的黑客,值得学习!估计是英伟达留的后门接口(为了商业上多卖卡,故意压低卡的利用率),可惜被DeepSeek团队“无情撕碎”😊,捅破了英伟达在技术上的那层窗户纸!

一文深度解析DeepSeek:【技术原理+开发实践+行业应用】【为啥DeepSeek能火爆出圈】【9000+字】_deepseek开发经过-CSDN博客

4、GitHub项目地址

https://github.com/deepseek-ai/DeepEP

技术栈:C++、Python、Cuda、CMake

5、小结

DeepEP 通过全栈式通信优化,重新定义了 MoE 模型的并行训练与推理效率,其开源标志着 AI 基础设施领域从封闭优化向开放协作的转变‌。这一技术突破不仅为开发者提供了高性能工具,也为未来 AI 模型的规模化扩展提供了关键支持。开发者可以直接使用,就像用现成的乐高积木搭房子,降低AI开发门槛,可以使训练速度提升3倍,延迟降低5倍,让AI应用(比如智能助手、自动生成图片)更快落地。

三、【Day3:DeepGEMM】

1、简介

DeepGEMM,全名是“Deep General Matrix Multiplication”(深度通用矩阵乘法),是一个为 DeepSeek-V3 专门设计的,用于 FP8 的,通用矩阵乘法(GEMM)库。FP8 是一种用更少位数(8位)存储数字的方法,就像用更小的便利贴记笔记,虽然每张纸能写的内容少,但搬运和传递更快,节省内存和计算时间。你可以把它看作是一个“超级快的数学助手”,专门用来加速一种叫做矩阵乘法的计算任务。

2、核心特点

  • ✅ 支持FP8:DeepGEMM采用了 CUDA 核心两级累加(解决不精确的问题)

  • ✅ 支持分组GEMM:主要是改进了CUTLASS的分组GEMM,对MoE模型针对性优化

  • ✅ 即时编译: 通过 JIT 技术,代码可以在运行时动态生成和优化,进一步提升性能和灵活性

  • ✅ FFMA SASS 交错:deepseek深入分析了SASS编译结果,在FFMA/FADD中调整SASS指令,提高了细粒度 FP8 GEMM效率

3、主要应用场景

矩阵乘法在很多地方都很重要,比如人工智能训练、科学研究、游戏和漫画、大数据分析等,但是矩阵乘法的计算量非常大,尤其是当矩阵很大时,普通的计算机可能需要很长时间才能完成。DeepGEMM使用了一种全新的算法,能够比传统方法更快地完成矩阵乘法。就像你在跑步比赛中找到了一条捷径,能比别人更快到达终点。

4、GitHub项目地址

GitHub - deepseek-ai/DeepGEMM: DeepGEMM: clean and efficient FP8 GEMM kernels with fine-grained scaling

技术栈:Cuda、Python

5、小结

普通AI库可能有几千行代码,而DeepGEMM的核心逻辑只有300行,就像一篇精炼的作文,既高效又容易理解。还支持普通的和专家混合(Mix-of-Experts,MoE)分组 GEMM。MoE模型像多个“小专家”合作解决问题,DeepGEMM专门优化了这种结构的计算,支持两种特殊排列方式,让“专家们”协作更顺畅。

6、降价

开源了这么多的硬核科技还不算,就连价格也要半价!DeepSeek官方表示,DeepSeek-v3 API调用分时段半价!DeepSeek

四、【Day4:DualPipe + EPLB + Profiling Data】

开源周第四天,deepseek带来了三个项目,全部都是关于V3/R1训练和推理相关的并行策略优化。

1、简介

DualPipe 

DualPipe 是 DeepSeek-V3 技术报告中介绍的创新双向流水线并行算法。此算法实现了前向计算过程(Forward Pass)(模型处理输入数据)和后向计算过程(Backward Pass)(模型更新权重)的计算 - 通信阶段完全重叠,同时减少了 "流水线气泡" (Pipeline Bubbles)—— 即计算设备的空闲等待时间。传统方法是一条传送带来回用,DualPipe 则是两条传送带同时开动。

EPLB 

EPLB (Expert Parallelism Load Balancer,专家并行负载均衡器)是 DeepSeek 开发的专门解决 MoE模型(混合专家模型) 在训练或推理时,通过动态调整专家模型的复制和分配策略,确保不同 GPU 之间的负载差异最小化。它就像一个学校的课程安排系统,通过智能调度,确保每个老师的工作量大致相同,提高了整体的教学效率。主要用于优化MoE的分布式部署。

Profiling Data

Profiling Data 是一种性能分析工具,用于记录程序运行过程中的详细信息,帮助开发者了解程序的性能瓶颈、资源利用情况和通信模式。可以把它想象成一个学校的考试成绩分析系统,记录每个学生的考试时间、答题速度、错误率等信息,帮助老师了解学生的学习情况。

2、工作原理

3、核心特性

DualPipe核心特点

  • 计算与通信重叠:DualPipe的设计目标是最大化集群的计算性能,在前向传播和后向传播中实现计算与通信的完全重叠,减少传统流水线并行中的空闲等待时间。 在MoE模型的跨节点写作的专家并行(Expert Parallelism)尤其重要。

  • 双向调度:DualPipe 是双向调度策略,主要是从流水线的两端同时输入,重复利用硬件资源。还设计了一个复杂但很高效的8步调度策略。

  • 显存优化:DualPipe 将模型的最浅层(包括嵌入层)和最深层(包括输出层)部署在同一流水线级别(PP Rank),实现参数和梯度的物理共享,进一步提升内存效率

EPLB 核心特点

  • 负载均衡优化:主要是复制高负载的专家(可以称为:冗余专家策略)并对专家分配进行启发式的调整,确保不同GPU之间的负载均衡。

  • 分层负载均衡:采用三层结构:节点级→节点内专家复制→GPU分配,优先保证同一组的专家尽量分配到同一个节点,减少跨节点的数据传输,然后在每一层都保证负载均衡。这种应用在deepseek V3中的分组限制路由(Group-Limited Expert Routing)策略显著提升了分布式训练的效率。

  • 动态调度策略:根据实际情况动态选择负载均衡策,预填充阶段使用分层策略和解码阶段使用全局策略

4、GitHub项目地址

DualPipe 

GitHub - deepseek-ai/DualPipe: A bidirectional pipeline parallelism algorithm for computation-communication overlap in V3/R1 training.

技术栈:Python

EPLB

GitHub - deepseek-ai/EPLB: Expert Parallelism Load Balancer

技术栈:Python

Profiling Data

GitHub - deepseek-ai/profile-data: Analyze computation-communication overlap in V3/R1.

五、【Day5:3FS + Smallpond】

1、简介

3FS

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

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

安装和使用都比较简单,API不多,提供两种不同的API,分别支持动态和静态构建数据流图。安装:

pip install smallpond

2、核心特点

  • 高性能设计:3FS专为充分利用NVMe SSD的高输入输出操作每秒(IOPS)和高吞吐量以及RDMA网络而设计。通过这样的设计,3FS能够高效地处理大量数据请求,满足深度学习和大规模计算的需求。

  • 系统架构:3FS系统由四个角色组成:集群管理器、元服务、存储服务和客户端。元服务和存储服务定期向集群管理器发送心跳信号,确保系统稳定和高效运行。多个集群管理器的设置保证了系统的高可用性。

  • 请求控制机制:3FS实现了一种请求发送控制机制,以减轻网络拥塞。在客户端接收到读取请求后,存储服务会请求客户端允许传输数据。这种机制限制了并发发送者的数量,有助于在高负载情况下保持良好的性能。

  • 强一致性与链复制:3FS采用链复制和分配查询(CRAQ)方法,以提供强一致性。文件内容被切分为多个块,并在一系列存储目标上进行复制,这样可以充分释放所有SSD的吞吐量和IOPS。

  • 高吞吐量:通过优化批量写入和读取操作,3FS能够实现每个节点超过10 GiB/s的写入速度,从而加快了检查点保存和加载的过程,降低了训练过程中的延迟。

  • 3FS-KV系统:3FS还支持3FS-KV,这是一个基于3FS构建的共享存储分布式数据处理系统,支持键值存储、消息队列和对象存储模型,进一步提升了系统的灵活性和性能。

3FS这个高性能文件系统的实现中,有一点必须提一下,就是deepseek使用Rust来实现了chunk_engine。chunk_engine是块引擎,是3FS存储服务底层的核心模块之一,负责磁盘物理块的管理、分配和回收,上层可以通过块引擎对块数据进行读写。chunk_engine主要使用了cxx自动生成C++绑定,让C++代码直接调用Rust代码。最近几年,Rust在mlsys领域使用频率越来越多,包括huggingface开发的tokenizers也是Rust实现的。deepseek团队选择Rust来实现chunk_engine可能也是觉得Rust的代码好维护,内存安全,性能也很好的优点。

3、工作原理

Smallpond

4、GitHub项目地址

3FS

GitHub - deepseek-ai/3FS: A high-performance distributed file system designed to address the challenges of AI training and inference workloads.
 

技术栈:C++、Rust、OpenEdge ABL、Python、C、CMake、Other

Smallpond

GitHub - deepseek-ai/smallpond: A lightweight data processing framework built on DuckDB and 3FS.

技术栈:Python

5、相关链接

https://arxiv.org/pdf/2408.14158

GitHub - HFAiLab/hai-platform: 一种任务级GPU算力分时调度的高性能深度学习训练平台

https://github.com/huggingface/tokenizers

六、【Day6:DeepSeek-V3 / R1 推理系统概览】

1、简介

Deepseek先介绍了推理系统的设计原则,推理系统的优化目标:更大的吞吐,更低的延迟。

推理系统架构图

2、大规模跨节点专家并行

Deepseek采用的是多机多卡的专家并行策略:

  • Prefill:路由专家 EP32、MLA 和共享专家 DP32,一个部署单元是 4 节点,32 个冗余路由专家,每张卡 9 个路由专家和 1 个共享专家
  • Decode:路由专家 EP144、MLA 和共享专家 DP144,一个部署单元是 18 节点,32 个冗余路由专家,每张卡 2 个路由专家和 1 个共享专家

多机多卡的专家并行引入比较大的通信开销,所以使用了双 batch 重叠来掩盖通信开销,提高整体吞吐。

prefill 阶段,两个 batch 的计算和通信交错进行,一个 batch 在进行计算的时候可以去掩盖另一个 batch 的通信开销;

decode 阶段,不同阶段的执行时间有所差别,所以我们把 attention 部分拆成了两个 stage,共计 5 个 stage 的流水线来实现计算和通信的重叠。

因为使用了大规模并行(包括专家并行/数据并行)时,就存在某些GPU过载的情况,需要做计算负载均衡和通信负载均衡。

1、Prefill Load Balancer

  • 核心问题:不同数据并行(DP)实例上的请求个数、长度不同,导致 core-attention 计算量、dispatch 发送量也不同
  • 优化目标:各 GPU 的计算量尽量相同(core-attention 计算负载均衡)、输入的 token 数量也尽量相同(dispatch 发送量负载均衡),避免部分 GPU 处理时间过长

2、Decode Load Balancer

  • 核心问题:不同数据并行(DP)实例上的请求数量、长度不同,导致 core-attention 计算量(与 KVCache 占用量相关)、dispatch 发送量不同

  • 优化目标:各 GPU 的 KVCache 占用量尽量相同(core-attention 计算负载均衡)、请求数量尽量相同(dispatch 发送量负载均衡)

3、Expert-Parallel Load Balancer

  • 核心问题:对于给定 MoE 模型,存在一些天然的高负载专家(expert),导致不同 GPU 的专家计算负载不均衡

  • 优化目标:每个 GPU 上的专家计算量均衡(即最小化所有 GPU 的 dispatch 接收量的最大值)

3、线上推理系统的实际统计数据

DeepSeek R1/V3所有服务都使用H800,矩阵计算和 dispatch 传输采用和训练一致的 FP8 格式,core-attention 计算和 combine 传输采用和训练一致的 BF16,最大程度保证了服务效果。

因为服务白天负载高,晚上负载低,所以负载高的时候全服务器做推理,负载低的时候腾一些机器出来做研究和训练。

在最近的 24 小时里(北京时间 2025/02/27 12:00 至 2025/02/28 12:00),DeepSeek V3 和 R1 推理服务占用节点总和,峰值占用为 278 个节点,平均占用 226.75 个节点(每个节点为 8 个 H800 GPU)。假定 GPU 租赁成本为 2 美金/小时,总成本为 $87,072/天。

在 24 小时统计时段内,DeepSeek V3 和 R1:

  • 输入 token 总数为 608B,其中 342B tokens(56.3%)命中 KVCache 硬盘缓存。

  • 输出 token 总数为 168B。平均输出速率为 20~22 tps,平均每输出一个 token 的 KVCache 长度是 4989。

  • 平均每台 H800 的吞吐量为:对于 prefill 任务,输入吞吐约 73.7k tokens/s(含缓存命中);对于 decode 任务,输出吞吐约 14.8k tokens/s。

以上统计包括了网页、APP 和 API 的所有负载。如果所有 tokens 全部按照 DeepSeek R1 的定价计算,理论上一天的总收入为 $562,027,成本利润率 545%

实际上deepseek 是没有这么多收入,因为 V3 的定价更低,同时收费服务只占了一部分,另外夜间还会有折扣。

4、相关链接

https://github.com/deepseek-ai/open-infra-index/blob/main/202502OpenSourceWeek/day_6_one_more_thing_deepseekV3R1_inference_system_overview.md

https://zhuanlan.zhihu.com/p/27181462601

七、总结

DeepSeek本周开源内容覆盖了从底层算力优化(如Flash MLA、DeepGEMM)到分布式通信(DeepEP)、并行计算工具(DualPipe、EPLB),再到存储系统(3FS)的全栈技术,旨在提升AI训练和推理效率,降低开发门槛。这些成果充分体现了DeepSeek团队第一性原理的思考方式和强悍的意志,这些开源项目不仅推动了行业技术进步,也对AI生态中的芯片、应用开发等环节产生深远影响。有了DeepSeek,像燧原、沐曦、天数、智芯、摩尔线程、壁仞,这些国产芯片也可以更多介入训练和推理生意了。所以,国产芯片肯定是受益的一方,第二就是基础层做硬件的。除了AGI,Deepseek也许还有更大的野心。如果把大模型比作更底层的操作系统,那OpenAI可能是‘IOS’,而DeepSeek就是‘安卓’。因为比技术更重要的是,开源的生态和协同。

1、一周开源内容汇总

https://github.com/deepseek-ai/open-infra-index

2、深度解读

DeepSeek开源周 Day05:从3FS盘点分布式文件存储系统

DeepSeek开源周 Day04:从DualPipe聊聊大模型分布式训练的并行策略

DeepSeek开源周 Day03:从DeepGEMM看大模型算力提速的矩阵乘法

DeepSeek开源周 Day02:从DeepEP开源趋势重新审视大模型Infra

DeepSeek开源周 Day01:从FlashMLA背后原理回顾KV Cache

欢迎 点赞👍 | 收藏⭐ | 评论✍ | 关注🤗

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值