暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

DeepSeek 开源周第五弹:3FS —— 专为 AI 训练和推理设计的分布式存储

28

DeepSeek 开源周的最后一天,为我们带来了 Fire-Flyer File System (3FS),这是一个专为 AI 训练和推理设计的高效分布式文件系统。此外,DeepSeek 还开源了基于 3FS 的数据处理框架 Smallpond,是一款构建于 DuckDB 和 3FS 之上的轻量级数据处理框架。

数据处理与存储的挑战

在 AI 训练中,数据存储和访问的效率往往是制约整体性能的关键因素。例如:

  • 数据访问延迟:在分布式训练中,数据通常存储在远程服务器上,频繁的 I/O 操作会导致显著的延迟,拖慢训练速度;
  • 存储瓶颈:随着模型和数据集的规模不断增长,传统的文件系统难以应对高并发的数据访问需求;
  • 数据一致性:在分布式环境中,如何保证数据的一致性和可靠性是一个复杂的挑战。

3FS 主要特性和优势

3FS 是一款高性能分布式文件系统,专为应对 AI 训练和推理工作负载的挑战而设计。它利用现代 SSD 和 RDMA 网络,提供一个共享存储层,简化分布式应用的开发。3FS 的主要特性和优势包括:

性能与易用性

  • 解耦架构:融合数千块 SSD 的吞吐能力和数百个存储节点的网络带宽,使应用能够高效地访问存储资源。
  • 强一致性:基于 CRAQ(Chain Replication with Apportioned Queries) 实现强一致性。
  • 文件接口:基于事务型键值存储(如 FoundationDB) 构建无状态元数据服务,采用通用文件接口,无需学习新的存储 API。

多样化工作负载

  • 数据准备:将数据分析管道的输出组织为分层目录结构,并高效管理大规模中间数据。
  • 数据加载:支持跨计算节点的随机访问,无需预取或 Shuffle 数据集,提高训练效率。
  • Checkpoint:支持大规模训练任务的高吞吐并行 Checkpoint 机制。
  • 推理 KVCache:提供比 DRAM 缓存更具性价比的方案,具备高吞吐能力,并显著提升缓存容量。

3FS 的性能如何?

3FS 在高性能存储方面表现卓越,能够满足 AI 训练和推理的极端 I/O 需求,具体体现在以下几个方面:

峰值吞吐量

在大规模读压力测试中,3FS 集群展示了极高的吞吐能力。测试使用 180 个存储节点(每个节点配备 2×200Gbps InfiniBand NICs 和 16 块 14TiB NVMe SSD),并由 500 多个客户端节点发起并发读取请求(每个客户端配备 1×200Gbps InfiniBand NIC)。最终聚合读吞吐量达到 6.6 TiB/s,即使在 AI 训练任务带来额外背景流量的情况下,仍能保持卓越的 I/O 性能。

GraySort

3FS 在 GraySort 基准测试中表现优异,该测试衡量大规模数据集的排序能力。测试采用两阶段方法:

  • 第一阶段:通过 key 的前缀位进行数据分区(Shuffle)。
  • 第二阶段:在各个分区内执行排序。

测试集群由 25 个存储节点(每个节点包含 2 个 NUMA 域,每个 NUMA 运行 1 个存储服务,2×400Gbps NICs)和 50 个计算节点(每个节点包含 2 个 NUMA 域、192 个物理核心、2.2 TiB RAM 和 1×200Gbps NIC)组成。在 8192 个分区上对 110.5 TiB 的数据进行排序在 30 分钟 14 秒内完成,平均吞吐量达到 3.66 TiB/分钟

KVCache

KVCache 是一种用于优化 LLM 推理过程的技术。它通过缓存解码器层中先前 token 的键值向量来避免冗余计算。下图展示了所有 KVCache 客户端的读取吞吐量,其中峰值吞吐量高达 40 GiB/s

总结

回顾本周的发布,DeepSeek 已经构建了完整的大模型技术栈,覆盖从底层计算优化到高效存储管理的关键环节:

参考资料

  • deepseek-ai/3FS:https://github.com/deepseek-ai/3FS
  • deepseek-ai/smallpond:https://github.com/deepseek-ai/smallpond

文章转载自Se7en的架构笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论