DeepSeek开源周Day5压轴登场:3FS与Smallpond,能否终结AI数据瓶颈之争?

2025年2月28日,DeepSeek开源周迎来了第五天,也是本次活动的收官之日。自2月24日启动以来,DeepSeek团队以每天一个开源项目的节奏,陆续向全球开发者展示了他们在人工智能基础设施领域的最新成果。今天,他们发布了Fire-Flyer File System(简称3FS)和配套的数据处理框架Smallpond。这两项工具专注于解决AI训练与推理中的数据访问和处理难题,以卓越的性能和简洁的设计,为开发者提供了一套经过生产环境验证的解决方案。

开源周回顾:五天五项成果

DeepSeek开源周从2月24日開始,每日推出一项新工具,逐步构建起一个覆盖AI开发核心环节的技术链条。以下是前四天的简要回顾:

  • Day 1:FlashMLA - FlashMLA是一个专为Hopper GPU优化的高效MLA解码内核,针对变长序列处理进行了深度优化。它支持BF16数据格式,配备分页KV缓存(块大小64),在H800上的性能表现尤为突出:内存绑定场景下达到3000 GB/s,计算绑定场景下达到580 TFLOPS。这一工具为需要快速解码的AI模型提供了强有力的支持。

  • Day 2:DeepEP - DeepEP是首个开源的EP通信库,专为MoE(Mixture of Experts)模型的训练和推理设计。它支持高效的全对全通信,覆盖节点内(通过NVLink)和节点间(通过RDMA)场景,提供了高吞吐量内核用于训练和推理预填充、低延迟内核用于推理解码,以及原生FP8分派支持。此外,DeepEP还具备灵活的GPU资源控制功能,可优化计算与通信的重叠,提升大规模分布式训练的效率。

  • Day 3:DeepGEMM - DeepGEMM是一个FP8 GEMM(通用矩阵乘法)库,支持密集和MoE两种GEMM计算,广泛应用于V3/R1模型的训练和推理。它的性能在Hopper GPU上可达1350+ FP8 TFLOPS,核心逻辑仅约300行代码,采用即时编译(JIT)技术,无需复杂依赖。这种简洁而高效的设计使其在多种矩阵规模下超越了专家调优的内核。

  • Day 4:优化并行策略 - 第四天发布了三项工具:DualPipe、EPLB和性能分析数据集。DualPipe是一种双向管道并行算法,优化了V3/R1训练中的计算-通信重叠;EPLB是一个专家并行负载均衡器,针对MoE模型提升资源利用率;配套的分析工具则提供了V3/R1训练中的计算-通信重叠数据。这些工具共同助力大规模模型训练的效率提升。

这四天的成果从GPU计算优化到通信效率,再到并行策略,展现了DeepSeek在AI基础设施领域的全面布局。而今天发布的3FS和Smallpond则将焦点转向数据存储与处理,完成了这一技术拼图的最后一块。

3FS:分布式文件系统的性能标杆

Fire-Flyer File System(3FS)是一个专为AI工作负载设计的高性能分布式文件系统。它充分利用现代SSD的高速存储能力和RDMA网络的低延迟特性,构建了一个兼具高吞吐量与强一致性的共享存储层。这一系统的核心目标是为分布式应用的开发提供简洁、高效的数据访问支持,解决AI开发中数据密集型任务的瓶颈。

在这里插入图片描述

设计与特性

3FS的设计围绕三大特点展开:

  • 解耦架构:通过将存储与计算分离,3FS允许存储节点和计算节点独立扩展。这种设计结合了数千个SSD的吞吐量和数百个存储节点的网络带宽,使得应用程序可以以无视数据位置的方式访问存储资源。

  • 强一致性:3FS采用CRAQ(Chain Replication with Apportioned Queries)机制,通过链式复制和分担查询确保数据在所有节点间保持一致。这种强一致性让开发者无需担心数据同步问题,简化了应用逻辑的编写。

  • 标准文件接口:基于事务型键值存储(例如FoundationDB),3FS提供了无状态的元数据服务,支持标准的文件系统接口。开发者无需学习复杂的专用API,就能像操作本地文件系统一样使用3FS。

支持的工作负载

3FS能够无缝支持AI开发中的多种场景:

  • 数据准备:高效组织和管理数据分析管道的输出,支持大规模中间数据的存储与访问。
  • 数据加载:通过随机访问功能,允许多个计算节点并行加载训练样本,无需额外的预取或洗牌操作。
  • 检查点管理:提供高吞吐量的并行检查点保存和加载功能,满足大规模训练的需求。
  • KVCache推理:作为DRAM的成本效益替代方案,3FS为推理中的键值缓存(KVCache)提供高吞吐量和大容量支持,显著降低硬件成本。

性能表现

3FS的性能数据令人印象深刻:

  • 在一个由180个存储节点组成的集群中,每个节点配备2个200Gbps InfiniBand网卡和16个14TiB NVMe SSD,3FS实现了6.6 TiB/s的聚合读取吞吐量。这一测试是在500多个客户端节点(每个配备1个200Gbps网卡)的压力下完成的,同时还承载了训练任务的背景流量。

  • 在25节点集群的GraySort基准测试中,3FS支持110.5 TiB数据的排序任务,耗时30分14秒,平均吞吐量达到3.66 TiB/min。这一测试展示了其在大规模数据处理中的稳定性。

  • 对于推理中的KVCache查找,单个客户端节点的峰值吞吐量可达40 GiB/s,配合高效的垃圾回收机制,确保了持续的高性能。

获取与使用

开发者可以通过3FS GitHub仓库获取源代码,仓库中包含详细的设计文档、部署指南和API参考。安装依赖包括libfuse、FoundationDB和Rust工具链,构建过程支持Ubuntu 20.04和22.04,具体步骤可在文档中找到。

Smallpond:轻量级数据处理框架

与3FS配套发布的是Smallpond,一个基于DuckDB和3FS构建的轻量级数据处理框架。它的目标是为PB级数据集提供高效、简便的处理工具,同时保持无长运行服务的设计理念,降低使用和维护的复杂性。

在这里插入图片描述

功能与优势

Smallpond结合了DuckDB的强大SQL查询能力和3FS的高性能存储,具备以下特点:

  • 高性能处理:利用DuckDB的列式存储和向量化查询引擎,确保数据处理的高效性。
  • 可扩展性:支持跨节点处理超大规模数据集,轻松应对AI训练所需的PB级数据。
  • 易用性:提供类似pandas的Python API,开发者只需几行代码即可完成复杂的数据操作。

使用示例

Smallpond的简单性体现在其使用方式上。以下是一个典型的工作流程:

# 下载示例数据
wget https://duckdb.org/data/prices.parquet
import smallpond# 初始化会话
sp = smallpond.init()# 加载数据
df = sp.read_parquet("prices.parquet")# 数据分区与处理
df = df.repartition(3, hash_by="ticker")
df = sp.partial_sql("SELECT ticker, min(price), max(price) FROM {0} GROUP BY ticker", df)# 保存与查看结果
df.write_parquet("output/")
print(df.to_pandas())

这段代码展示了从数据加载、分区、SQL查询到结果输出的完整过程,整个操作无需手动管理分布式环境,极大降低了开发门槛。

性能表现

Smallpond的性能同样经过严格测试。在GraySort基准测试中,它与3FS协作,在50个计算节点和25个存储节点的集群上,成功在30分14秒内完成了110.5 TiB数据的排序,平均吞吐量达到3.66 TiB/min。这一结果不仅验证了Smallpond的高效性,也展示了其与3FS无缝集成的能力。

获取与使用

Smallpond支持Python 3.8至3.12版本,安装只需运行pip install smallpond。开发者可通过Smallpond GitHub仓库获取源代码,并在文档中找到详细的入门指南和API参考。此外,Smallpond还提供了开发支持,例如单元测试和文档构建指南,方便社区参与改进。

2024 AI基础设施论文补充

除了本次开源周的成果,DeepSeek团队在2024年的SC24会议上发表了论文《Fire-Flyer AI-HPC: A Cost-Effective Software-Hardware Co-Design for Deep Learning》,详细阐述了他们的软硬件协同设计理念。论文可在ACM链接或Arxiv链接查看,其中包含了对3FS等技术的理论分析和实现细节,为理解今日发布内容提供了更深的背景。

五天成果总结

DeepSeek开源周的五项发布共同构成了一个完整的AI基础设施生态:

  • FlashMLA:高效的GPU解码内核,为变长序列处理提供极致性能。
  • DeepEP:MoE模型通信库,优化分布式训练和推理的通信效率。
  • DeepGEMM:高性能FP8 GEMM库,加速核心矩阵计算。
  • 优化并行策略(DualPipe/EPLB):提升大规模模型训练的并行效率与负载均衡。
  • 3FS与Smallpond:解决数据存储与处理的瓶颈,提供高吞吐量与易用性。

从计算优化到数据管理,这五项工具覆盖了AI开发的关键环节,每一项都经过生产环境验证,确保了实用性与可靠性。开发者可以通过各项目的GitHub仓库下载代码,亲自体验这些工具的强大功能。

结语

随着Day 5的发布,DeepSeek开源周画上了圆满的句号。3FS和Smallpond的亮相,不仅展示了DeepSeek在数据访问领域的深入探索,也为AI社区提供了一套高效实用的解决方案。如果你对这些项目感兴趣,不妨访问它们的GitHub仓库,下载代码,动手尝试。让我们共同见证AI技术的未来发展。

  • https://mp.weixin.qq.com/s/ZHY8zEjaDQa9f5fEzFYDLw

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/72183.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL AnyWhere 的备份与恢复

目录 一、备份 二、恢复 1、自动恢复 2、映像恢复 3、日志恢复-指定时间点 4、日志恢复-指定偏移 5、完整的恢复流程 6、恢复最佳实践 三、其他操作 1、dbtran 2、SQL Shell 工具 数据库的安装与基本使用内容请参考博客: SAP SQLAnyWhere 17 的安装与基本使用_sql…

入门基础项目(SpringBoot+Vue)

文章目录 1. css布局相关2. JS3. Vue 脚手架搭建4. ElementUI4.1 引入ElementUI4.2 首页4.2.1 整体框架4.2.2 Aside-logo4.2.3 Aside-菜单4.2.4 Header-左侧4.2.5 Header-右侧4.2.6 iconfont 自定义图标4.2.7 完整代码 4.3 封装前后端交互工具 axios4.3.1 安装 axios4.3.2 /src…

unity学习61:UI布局layout

目录 1 布局 layout 1.1 先准备测试UI,新增这样一组 panel 和 image 1.2 新增 vertical layout 1.3 现在移动任意一个image 都会影响其他 1.3.1 对比 如果没有这个,就会是覆盖效果了 1.3.2 对比 如果没有这个,就会是覆盖效果了 1.4 总结&#xf…

翻译: 深入分析LLMs like ChatGPT 一

大家好,我想做这个视频已经有一段时间了。这是一个全面但面向普通观众的介绍,介绍像ChatGPT这样的大型语言模型。我希望通过这个视频让大家对这种工具的工作原理有一些概念性的理解。 首先,我们来谈谈你在这个文本框里输入内容并点击回车后背…

Ubuntu 下 nginx-1.24.0 源码分析 - ngx_conf_add_dump

ngx_conf_add_dump 定义在src\core\ngx_conf_file.c static ngx_int_t ngx_conf_add_dump(ngx_conf_t *cf, ngx_str_t *filename) {off_t size;u_char *p;uint32_t hash;ngx_buf_t *buf;ngx_str_node_t *sn;ngx_conf_dump_t *cd;has…

Oracle 导出所有表索引的创建语句

在Oracle数据库中,导出所有表的索引创建语句通常涉及到使用数据字典视图来查询索引的定义,然后生成对应的SQL语句。你可以通过查询DBA_INDEXES或USER_INDEXES视图(取决于你的权限和需求)来获取这些信息。 使用DBA_INDEXES视图 如…

快速搭建多语言网站的 FastAdmin 实践

快速搭建多语言网站的 FastAdmin 实践 引言 在全球化的背景下,越来越多的网站需要支持多种语言,以便满足不同用户的需求。FastAdmin 是一个基于 ThinkPHP 的快速后台开发框架,提供了丰富的功能和灵活的扩展性,非常适合用于快速搭…

Python 实战:构建分布式文件存储系统全解析

Python 实战:构建分布式文件存储系统全解析 在当今数据爆炸的时代,分布式文件存储系统凭借其高可扩展性、高可靠性等优势,成为了数据存储领域的热门选择。本文将详细介绍如何使用 Python 构建一个简单的分布式文件存储系统。从系统架构设计&…

【综合项目】api系统——基于Node.js、express、mysql等技术

目录 0 前言 1 初始化 2 注册登录 2.1 注册 2.1.1 功能:密码加密(2.3.3) 2.1.1.1 操作 2.1.1.2 bcryptjs详解 2.1.2 插入新用户(2.3.4) 2.1.3 优化:表单数据验证(2.5) …

tableau之标靶图、甘特图和瀑布图

一、标靶图 概念 标靶图(Bullet Chart)是一种用于显示数据与目标之间关系的可视化图表,常用于业务和管理报告中。其设计旨在用来比较实际值与目标值,同时展示额外的上下文信息(如趋势)。 作用 可视化目标…

Linux下的网络通信编程

在不同主机之间,进行进程间的通信。 1解决主机之间硬件的互通 2.解决主机之间软件的互通. 3.IP地址:来区分不同的主机(软件地址) 4.MAC地址:硬件地址 5.端口号:区分同一主机上的不同应用进程 网络协议…

网络七层模型—OSI参考模型详解

网络七层模型:OSI参考模型详解 引言 在网络通信的世界中,OSI(Open Systems Interconnection)参考模型是一个基础且核心的概念。它由国际标准化组织(ISO)于1984年提出,旨在为不同厂商的设备和应…

530 Login fail. A secure connection is requiered(such as ssl)-java发送QQ邮箱(简单配置)

由于cs的csdN许多文章关于这方面的都是vip文章,而本文是免费的,希望广大网友觉得有帮助的可以多点赞和关注! QQ邮箱授权码到这里去开启 授权码是16位的字母,填入下面的mail.setting里面的pass里面 # 邮件服务器的SMTP地址 host…

Sqlserver安全篇之_TLS的证书概念

证书的理解 参考Sqlserver的官方文档https://learn.microsoft.com/zh-cn/sql/database-engine/configure-windows/certificate-overview?viewsql-server-ver16 TLS(Transport Layer Security)传输层安全和SSL(Secure Sockets Layer)安全套接字层协议位于应用程序协议层和TCP/…

【SQL】掌握SQL查询技巧:数据分组与排序

目录 1. GROUP BY 1.1 定义与用途1.2 示例说明1.3 注意事项1.4 可视化示例 2. ORDER BY 2.1 定义与用途2.2 升序说明(默认)2.3 降序排序2.4 多列排序2.5 可视化示例 3. GROUP BY 与 ORDER BY 的结合使用4. 可视化示例总结 在数据库管理中,S…

SOME/IP-SD -- 协议英文原文讲解6

前言 SOME/IP协议越来越多的用于汽车电子行业中,关于协议详细完全的中文资料却没有,所以我将结合工作经验并对照英文原版协议做一系列的文章。基本分三大块: 1. SOME/IP协议讲解 2. SOME/IP-SD协议讲解 3. python/C举例调试讲解 5.1.3.1 E…

NameError: name ‘libpaddle‘ is not defined

问题场景: Error: Can not import paddle core while this file exists: C:\Users\Admin\AppData\Roaming\Python\Python38\site-packages\paddle\fluid\libpaddle.pyd Traceback (most recent call last): File "C:\Users\Admin\AppData\Roaming\Python\Pyth…

青少年编程与数学 02-010 C++程序设计基础 11课题、程序结构

青少年编程与数学 02-010 C程序设计基础 11课题、程序结构 一、C程序结构二、main函数1. main 函数的基本形式1.1 无参数形式1.2 带参数形式 2. 参数解释3. 示例3.1 无参数形式3.2 带参数形式 4. 编译和运行4.1 编译4.2 运行 5. main 函数的返回值6. 总结 三、预处理指令1. #in…

【Linux】learning notes(3)make、copy、move、remove

文章目录 1、mkdir (make directory)2、rmdir (remove directory)3、rm(remove)4、>5、touch 新建文件6、mv(move)7、cp(copy) 1、mkdir (make…

智能AI替代专家系统(ES)、决策支持系统(DSS)?

文章目录 前言一、专家系统(ES)是什么?二、决策支持系统(DSS)是什么?1.决策支持系统定义2.决策系统的功能与特点3.决策支持系统的组成 三、专家系统(ES)与决策支持系统(D…