DeepSeek 开源周:在 AGI 探索中不断挑战自己的极限

server/2025/3/6 4:22:49/

(下面文字主要由 Grok 3 协助生成) 

背景与概述

DeepSeek 的开源周始于 2025 年 2 月 24 日,发布了 一批生产测试过的 AI 基础设施工具。这些工具旨在支持高效的 AGI(通用人工智能)开发,并为社区提供可构建的基础设施,加速社区创新,推动 AI 技术的发展。也体现了其“无虚言,仅真诚代码”的开发理念。

根据 DeepSeek Open Infra Index,发布的存储库包括:

  • Day 1: FlashMLA - 高效 MLA 解码内核

  • Day 2: DeepEP - MoE 模型训练和推理的通信库

  • Day 3: DeepGEMM - FP8 GEMM 库

  • Day 4: DualPipe、EPLB、profile-data - 训练优化工具

  • Day 5: 3FS 和 smallpond - 文件系统和数据处理框架

  • Day 6: DeepSeek-V3/R1 推理系统概述

本文将重点分析 FlashMLA、DeepGEMM 和 3FS,并简要提及其他工具。

FlashMLA:高效解码内核

FlashMLA 是一个为 Hopper GPU 优化的高效解码内核,特别适用于 AI 模型的变长序列推理。根据 FlashMLA GitHub 的文档,其功能和特性包括:

  • 安装与使用:通过 python setup.py install 安装,提供基准测试脚本 tests/test_flash_mla.py,在 H800 SXM5 上达到 3000 GB/s 内存带宽和 580 TFLOPS 计算性能(CUDA 12.8)。

  • 特性:支持 BF16 和 FP16,采用分页 KV 缓存(块大小 64),优化变长序列,需 Hopper GPU 和 CUDA 12.3+(推荐 12.8+),PyTorch 2.0+。

  • 社区支持:与 MetaX、Moore Threads、Hygon DCU、Intellifusion 和 Iluvatar Corex 等合作,提供扩展支持。

其重要性在于加速 AI 模型的推理过程,尤其在实时应用和大规模部署中。例如,处理变长序列(如文本生成)时,FlashMLA 显著减少延迟,提升性能。

DeepGEMM:优化 FP8 矩阵乘法库

DeepGEMM 提供优化后的 FP8 GEMM 内核,支持普通和 MoE 分组 GEMM,针对 Hopper GPU 进行了优化。根据 DeepGEMM GitHub 的文档,其详细特性如下:

  • 功能文档:包括 deep_gemm.gemm_fp8_fp8_bf16_nt 等函数,测试代码在 /tests/test_core.py,支持 Python 3.8+、CUDA 12.3+、PyTorch 2.1+。

  • 性能:在 H800 SXM5 上测试,与 CUTLASS 3.6 比较,普通 GEMM 速度提升 1.4x 至 2.7x,分组 GEMM 也有显著提升(见下表)。

类型

M

N

K

计算性能 (TFLOPS)

内存带宽 (GB/s)

速度提升

普通 GEMM (密集)

64

2112

7168

206

1688

2.7x

普通 GEMM (密集)

64

24576

1536

289

2455

1.7x

分组 GEMM (MoE, 连续)

4

8192

4096

7168

1297

418

  • 优化:采用持久化 warp 特化、Hopper TMA 特性(如多播和描述符预取),支持非对齐块大小,FFMA SASS 交错优化提升 10%+ 性能。

  • 重要性:矩阵乘法是 AI 计算的核心,DeepGEMM 通过 FP8 降低精度,减少内存和计算成本,特别适合大型模型训练和推理。

3FS:高性能并行文件系统

3FS(Fire-Flyer File System)是一个为 AI 工作负载设计的高性能并行文件系统,根据 3FS GitHub 的文档,其功能和性能包括:

  • 架构:采用分离式架构,结合数千 SSD 的吞吐量和数百存储节点的网络带宽,采用 Chain Replication with Apportioned Queries (CRAQ) 确保一致性。

  • 特性:支持无状态元数据服务(基于事务性键值存储如 FoundationDB),优化数据准备、数据加载器、检查点和 KVCache。

  • 性能:在 180 节点集群上峰值吞吐量 6.6 TiB/s,GraySort 基准测试在 25 节点集群上达到 3.66 TiB/min,KVCache 每客户端节点峰值读吞吐量 40+ GiB/s。

其重要性在于处理 AI 模型所需的海量数据,确保高效的数据访问和存储,特别适合大规模训练和推理任务。

其他工具概述

除了上述核心工具,DeepSeek 还发布了以下工具:

  • DeepEP:根据 DeepEP GitHub,这是一个 MoE 模型训练和推理的通信库,支持高吞吐量、低延迟的 GPU 内核,优化 NVLink 和 RDMA 通信。

  • DualPipe:根据 DualPipe GitHub,是一个双向管道并行算法,优化训练中的计算-通信重叠,减少管道气泡,提升效率。

  • EPLB 和 profile-data:分别用于专家并行负载平衡和分析计算-通信重叠。

  • smallpond:基于 3FS 的数据处理框架,优化 AI 数据准备。

这些工具进一步增强了 AI 开发中的通信和并行处理能力,详情见 DeepSeek Open Infra Index。

Day 6:DeepSeek-V3/R1 推理系统概述

第 6 天发布了 DeepSeek-V3/R1 推理系统的概述,优化了跨节点专家并行(EP)驱动的批量扩展、计算-通信重叠和负载平衡,达到每 H800 节点 73.7k 输入和 14.8k 输出 token 每秒,成本利润率 545%。详情见 Day 6 Overview(英文)和 知乎文章(中文)。

小结

这些技术的意义和作用可以比喻为高速列车的关键部件:

  • FlashMLA 是先进的推进系统,驱动列车高速运行,象征快速 AI 模型推理。

  • DeepGEMM 是高效的电力分配系统,确保能量优化传递,代表高效计算操作。

  • 3FS 是先进的信号和轨道系统,处理复杂路线和大量交通,反映高效数据管理。

正如每个部件对列车的顺利运行至关重要,这些技术共同确保 AI 系统的效率和可扩展性。

关键引用

  • FlashMLA GitHub 存储库 - 高效 MLA 解码内核文档

  • DeepGEMM GitHub 存储库 - FP8 GEMM 库文档

  • 3FS GitHub 存储库 - 高性能并行文件系统文档

  • DeepSeek Open Infra Index - 开源周存储库列表

  • DeepSeek-V3 技术报告 - AI 模型训练细节

  • Day 6 Overview - DeepSeek-V3/R1 推理系统概述

  • 知乎文章 - DeepSeek-V3/R1 推理系统中文概述

  • DeepEP GitHub 存储库 - MoE 通信库文档

  • DualPipe GitHub 存储库 - 管道并行算法文档


http://www.ppmy.cn/server/172777.html

相关文章

土木工作2年,考研到211计科,目前研二,该如何准备秋招?

今天给大家分享的是一位粉丝的提问,土木工作2年,考研到211计科,目前研二,该如何准备秋招? 接下来把粉丝的具体提问和我的回复分享给大家,希望也能给一些类似情况的小伙伴一些启发和帮助。 同学提问&#x…

【音视频】FFmpeg如何查询命令帮助文档

一、ffmpeg、ffplay、ffprobe区别 ffmpeg:Hyper fast Audio and Video encoder 超快音视频编码器ffplay :Simple media player 简单媒体播放器ffprobe: Simple multimedia streams analyzer 简单多媒体流分析器 二、ffmpeg查看帮助文档 基…

六、Redis 高级功能详解:BitMap、HyperLogLog、Geo、Stream

Redis 高级功能详解:BitMap、HyperLogLog、Geo、Stream Redis 不仅提供了基础的数据结构(String、List、Set、Hash、Sorted Set),还提供了一些高级数据结构,专门用于特定的应用场景,如位运算统计、去重计数、地理位置存储、流数据处理等。本文将详细介绍这些高级功能的使…

DeepSeek-R1国产化系统gpu驱动+cuda+ollama+webui可视化离线私有化部署

1.概述 网上大部分教程都是在线部署,完全离线私有化部署的文章不多,本文介绍从GPU驱动、cuda、ollama、deepseek模型和open webui等完全离线安装几个方面,让小白0基础也可以私有化部署大模型deepseek-R1。 我使用的设备是银河麒麟V10操作系统…

Node.js 实现 fs 模块删除文件

1. 使用 fs.unlinkSync 同步删除文件 fs.unlinkSync 是 fs 模块提供的同步删除文件的方法。它会阻塞 Node.js 事件循环,直到文件删除操作完成。 const fs require("fs"); const filePath "path/to/your/file.txt"; try {fs.unlinkSync(file…

【Elasticsearch】使用ILM自动化滚动操作

如何在Elasticsearch中使用索引生命周期管理(ILM)自动化滚动操作(rollover)的教程。 --- Elasticsearch教程:使用ILM自动化滚动操作 在Elasticsearch中,索引生命周期管理(ILM)是一…

【蓝桥杯集训·每日一题2025】 AcWing 5526. 平衡细菌 python

AcWing 5526. 平衡细菌 Week 3 3月4日 题目描述 农夫约翰有 N N N 块草地排成一行,其中草地 i i i 的细菌水平与健康草的细菌水平相差 a i a_i ai​。 例如,如果 a i − 3 a_i−3 ai​−3,则草地 i i i 的细菌水平比正常水平低 3 …

线反转法实现矩形键盘按键识别

由于行、列线为多键共用,各按键彼此将相互发 生影响,必须将行、列线信号配合起来并作适当的处 理,才能确定闭合键的位置。 线反转法 第1步:列线输出为全低电平,则行线中电平由高变低 的所在行为按键所在行。 第2步&…