DeepSeek开源AI数据处理神器:6.6TiB/s惊人吞吐!还能扩展至PB级数据
分解式架构结合了数千个SSD的吞吐量和数百个存储节点的网络带宽,使应用程序能够以不受位置影响的方式访问存储资源。
强一致性实现带有分配查询(CRAQ)的链式复制以实现强一致性,从而使应用程序代码简单且易于推理。
文件接口开发由事务键值存储(例如FoundationDB)支持的无状态元数据服务。文件接口众所周知且随处可用。无需学习新的存储API。
数据准备将数据分析管道的输出组织成分层目录结构,并有效地管理大量中间输出。
数据加载器通过跨计算节点随机访问训练样本,消除了预取或混洗数据集的需要。
检查点支持大规模训练的高吞吐量并行检查点。
用于推理的KVCache提供了一种基于DRAM的缓存的经济高效的替代方案,可提供高吞吐量和更大的容量。
(1)峰值吞吐量
下图展示了一个大型3FS集群的读压测吞吐情况。该集群由180个存储节点组成,每个存储节点配备2×200Gbps InfiniBand网卡和16个14 TiB NVMe SSD。大约500+个客户端节点用于读压测,每个客户端节点配置1x200Gbps InfiniBand网卡。在训练作业的背景流量下,最终聚合读吞吐量达到约6.6 TiB/s。
(2)灰度排序
DeepSeek利用GraySort基准对smallpond进行了评估,该基准可衡量大规模数据集的排序性能。其实现采用两阶段方法:(1) 使用键的前缀位通过shuffle对数据进行分区,以及 (2) 分区内排序。两个阶段都从3FS读取数据/向3FS写入数据。
(3)KVCache
KVCache是一种用于优化大语言模型推理过程的技术。它通过在解码器层中缓存先前标记的键和值向量来避免冗余计算。上方的图展示了所有KVCache客户端的读取吞吐量,突出显示了峰值和平均值,峰值吞吐量高达40 GiB/s。下图显示了同一时间段内垃圾回收(GC)中删除操作的IOPS。
开发: