当前位置: 首页 > news >正文

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

相关文章:

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

2025年2月28日,DeepSeek开源周迎来了第五天,也是本次活动的收官之日。自2月24日启动以来,DeepSeek团队以每天一个开源项目的节奏,陆续向全球开发者展示了他们在人工智能基础设施领域的最新成果。今天,他们发布了Fire-F…...

ROS2软件调用架构和机制解析:Publisher创建

术语 DDS (Data Distribution Service): 用于实时系统的数据分发服务标准,是ROS 2底层通信的基础RMW (ROS Middleware): ROS中间件接口,提供与具体DDS实现无关的抽象APIQoS (Quality of Service): 服务质量策略,控制通信的可靠性、历史记录、…...

【落羽的落羽 C++】C++入门基础·其之一

文章目录 一、C简介1. C的发展历史2. C参考文档 二、namespace命名空间1. C语言的一个缺陷2. namespace3. 命名空间的使用3.1 命名空间成员访问3.2 using展开 一、C简介 1. C的发展历史 C起源于1979年的贝尔实验室,Bjarne Stroustrup(本贾尼博士&#…...

docker使用代理的简单配置

1准备代理服务器 准备代理服务器,例如192.168.120.168:52209 配置docker.service文件 查看service文件的位置 systemctl status docker 编辑service文件 vim /usr/lib/systemd/system/docker.service 添加代理配置 ... [Service] Environment"HTTP_PROXY…...

每日一题-设计食物评分系统,哈希表的有效使用

本题出自LeetCode2353.设计食物评分系统,连着一星期都是设计类的题目哈 题目 设计一个支持下述操作的食物评分系统: 修改 系统中列出的某种食物的评分。返回系统中某一类烹饪方式下评分最高的食物。 实现 FoodRatings 类: FoodRatings(Strin…...

大模型应用:多轮对话(prompt工程)

概述 在与大型语言模型(如ChatGPT)交互的过程中,我们常常体验到与智能助手进行连贯多轮对话的便利性。那么,当我们开启一个新的聊天时,系统是如何管理聊天上下文的呢? 一、初始上下文的建立 1. 创建新会…...

WSDM24-因果推荐|因果去偏的可解释推荐系统

1 动机 可解释推荐系统(ERS)通过提供透明的推荐解释,提高用户信任度和系统的说服力,如下图所示,然而: 1:现有工作主要关注推荐算法的去偏(流行度偏差),但未显…...

VScode在Windows11中配置MSVC

因为MSVC编译器在vs当中,所以我们首先要安装vs的一部分组件。如果只是需要MSVC的话,工作负荷一个都不需要勾选,在单个组件里面搜索MSVC和windows11 SDK,其中一个是编译器,一个是头文件然后右下角安装即可。搜索Develop…...

数据库基础二(数据库安装配置)

打开MySQL官网进行安装包的下载 https://www.mysql.com/ 接着找到适用于windows的版本 下载版本 直接点击下载即可 接下来对应的内容分别是: 1:安装所有 MySQL 数据库需要的产品; 2:仅使用 MySQL 数据库的服务器; 3&a…...

cuda-12.4.0 devel docker 中源码安装 OpenAI triton

1,准备 docker 容器 下载docker image: $ sudo docker pull nvidia/cuda:12.6.2-devel-ubuntu20.04 创建容器: sudo docker run --gpus all -it --name cuda_LHL_01 -v /home/hongleili/ex_triton/tmp1:/root/ex_triton/tmp1 nvidia/cuda:12.6…...

doris: Hive Catalog

通过连接 Hive Metastore,或者兼容 Hive Metatore 的元数据服务,Doris 可以自动获取 Hive 的库表信息,并进行数据查询。 除了 Hive 外,很多其他系统也会使用 Hive Metastore 存储元数据。所以通过 Hive Catalog,我们不…...

【LeetCode】131.分割回文串

目录 题目描述输入输出示例及数据范围思路C 实现 题目描述 这道题目来自 LeetCode 131. 分割回文串。 题目描述如下: 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。 输入输出示例及数据…...

JeeWMS graphReportController.do SQL注入漏洞复现(CVE-2025-0392)

免责申明: 本文所描述的漏洞及其复现步骤仅供网络安全研究与教育目的使用。任何人不得将本文提供的信息用于非法目的或未经授权的系统测试。作者不对任何由于使用本文信息而导致的直接或间接损害承担责任。如涉及侵权,请及时与我们联系,我们将尽快处理并删除相关内容。 0x0…...

基于Python+django+mysql旅游数据爬虫采集可视化分析推荐系统

2024旅游推荐系统爬虫可视化(协同过滤算法) 基于Pythondjangomysql旅游数据爬虫采集可视化分析推荐系统 有文档说明 部署文档 视频讲解 ✅️基于用户的协同过滤推荐算法 卖价就是标价~ 项目技术栈 Python语言、Django框架、MySQL数据库、requests网络爬虫…...

我的工作经历

主要说一下毕业工作大半年了一些心得与想法。 首先是因为本科不好的原因,单2硕士找了一个国企(其实应该说是央企)。也幸好找的是央企,后续工作基本上没有强度,不然后期神经衰弱抑郁症家里乱七八糟催婚的事情能把人逼疯…...

筑牢安全防线:工商业场所燃气泄漏防护新方案

燃气安全是企业经营不可逾越的生命线。在餐饮后厨、化工车间、酒店锅炉房等场所,可燃气体一旦泄漏,极易引发严重事故。如何实现精准监测、快速响应,成为工业及商业领域安全管理的核心诉求。旭华智能深耕安全监测领域,推出的工业及…...

基于STM32的智能停车场管理系统

1. 引言 传统停车场管理存在车位利用率低、停车体验差等问题,难以满足现代城市停车需求。本文设计了一款基于STM32的智能停车场管理系统,通过车位状态实时监测、智能导航与无感支付技术,实现停车资源的高效利用与用户服务的全面升级。 2. 系…...

MacBook 终端中使用 vim命令

在 MacBook 终端中使用 vim 编辑器时,以下是一些常用命令和操作指南: 1. 基本操作 启动 vim vim 文件名 # 打开或创建文件退出 vim 保存并退出: 按 Esc,然后输入 :wq,按 Enter。 不保存退出: 按 Esc&am…...

VoIP之SBC(会话边界控制器)

‌  SBC(Session Border Controller,会话边界控制器)‌是一种在VoIP通信网络中的重要设备,用于连接处理会话边界,核心功能包含信令代理/媒体代理、网络NAT穿越、防火墙、QoS等。 经典案例 关键说明 用于客户端和核心业务服务器的互联互通支持IP接入控…...

threejs:document.createElement创建标签后css设置失效

vue3threejs,做一个给模型批量CSS2D标签的案例,在导入模型的js文件里,跟着课程写的代码如下: import * as THREE from three; // 引入gltf模型加载库GLTFLoader.js import { GLTFLoader } from three/addons/loaders/GLTFLoader.…...

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

idea大量爆红问题解决

问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...

【Oracle APEX开发小技巧12】

有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...

OPENCV形态学基础之二腐蚀

一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...

听写流程自动化实践,轻量级教育辅助

随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...