DeepSeek 开源周的最后一天,为我们带来了 Fire-Flyer File System (3FS),这是一个专为 AI 训练和推理设计的高效分布式文件系统。此外,DeepSeek 还开源了基于 3FS 的数据处理框架 Smallpond,是一款构建于 DuckDB 和 3FS 之上的轻量级数据处理框架。
在 AI 训练中,数据存储和访问的效率往往是制约整体性能的关键因素。例如:
3FS 是一款高性能分布式文件系统,专为应对 AI 训练和推理工作负载的挑战而设计。它利用现代 SSD 和 RDMA 网络,提供一个共享存储层,简化分布式应用的开发。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 性能。
3FS 在 GraySort 基准测试中表现优异,该测试衡量大规模数据集的排序能力。测试采用两阶段方法:
测试集群由 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 是一种用于优化 LLM 推理过程的技术。它通过缓存解码器层中先前 token 的键值向量来避免冗余计算。下图展示了所有 KVCache 客户端的读取吞吐量,其中峰值吞吐量高达 40 GiB/s。