OpenLake MLPerf Storage v3.0 性能结果
OpenLake 在 MLPerf Storage v3.0 基准测试的 Llama 3.1 8B checkpointing 任务中,在同类 Closed division S3 提交结果中实现了最高的读写带宽。这一结果证明了该系统在减少大规模 LLM 训练期间状态保存时的 GPU 空闲时间,以及在故障后加速恢复的能力。
MLPerf Storage v3.0 基准测试结果
OpenLake 在 Llama 3.1 8B 配置下领先于同类 S3 提交结果,该配置模拟了 Llama 3 系列模型。基准测试测试了存储系统在训练过程保存或恢复模型状态时,在满载情况下的行为。
性能指标
对于 Llama 3.1 8B 配置,OpenLake 提供了以下性能指标:
| Metric | OpenLake Result |
|---|---|
| Write Bandwidth | 6.72 GiB/s |
| Write Duration | 29.42 seconds |
| Read Bandwidth | 11.55 GiB/s |
| Read Duration | 9.37 seconds |
与其他提交结果的比较
当与其他使用相同 Closed division checkpointing 工作负载、S3 API 接口、Llama 3.1 8B 模型、单个客户端节点和单个数据并行实例的已发布结果进行比较时,OpenLake 的表现优于竞争对手:
| Organization | Write Bandwidth | Read Bandwidth | Write Duration | Read Duration |
|---|---|---|---|---|
| OpenLake | 6.72 GiB/s | 11.55 GiB/s | 29.42 s | 9.37 s |
| NVIDIA AIStore (6 node) | 3.40 GiB/s | 11.08 GiB/s | 30.83 s | 9.47 s |
| NVIDIA AIStore (12 node) | 3.20 GiB/s | 8.33 GiB/s | 30.83 s | 12.90 s |
| NVIDIA AIStore (3 node) | 3.02 GiB/s | 6.99 GiB/s | 15.00 s | |
| Nebius Object Storage | 2.81 GiB/s | 7.14 GiB/s | 37.24 s | 14.67 s |
OpenLake 的写带宽为 6.72 GiB/s,是次快同类提交结果的 1.98 倍。
OpenLake 的技术架构
OpenLake 利用 Infinity Core I/O Engine 为 AI 工作负载实现高性能存储。该系统由 io_uring 和 GPUDirect Storage 提供动力,旨在实现低延迟和高吞吐量。
关键实现细节
为了在减少 CPU 开销的同时最大限度地增加在途 I/O 操作,OpenLake 采用了以下技术:
- Asynchronous io_uring I/O: 用于非阻塞内核操作。
- Pinned Execution Threads: 减少调度开销。
- Fine-grained I/O Coalescing: 优化数据移动。
- XFS and Workload-Specific Tuning: 为 AI 存储需求量身定制。
- S3 API Interface: 为读取和写入 checkpointing 提供标准接口。
此外,该项目使用 Rust compio (thread-per-core 设计) 配合 GPU 上压缩,以支持 KV offloading,在 96 节点集群上实现了超过 100 万 IOPS,延迟为 1ms。
Checkpoint 性能对 LLM 训练的影响
Checkpointing 是指定期将模型权重、优化器状态和训练状态保存到存储中,以保护在可能持续数周的大规模训练运行中的进度。
降低训练成本
在同步 checkpointing 中,训练会暂停直到状态被持久化写入。更快的写带宽可以减少 GPU 空闲时间,从而提高加速器利用率并降低整体训练成本。
加速恢复
更快的读带宽可以减少故障后的恢复路径,从而使训练能够更快地恢复。这对于强化学习、预训练和后训练任务至关重要,因为这些任务会频繁创建 checkpointing,且基础设施故障可能会发生。