在之前的文章《幻方萤火 | 高速读写文件系统 3FS》中提到,幻方AI自研了一套适合深度学习模型训练场景的文件读写系统3FS,能提供高性能的批次数据读取,提高模型的训练效率。对于用户而言,使用3FS非常简单,只需要掌握我们封装设计的高性能数据格式,ffrecord,将数据存入幻方萤火超算平台中即可。
那么ffrecord和一般的数据格式有什么不同?它应该要有哪些设计要求呢?本期文章将为大家分享ffrecord设计背后的故事,讲述幻方AI设计ffrecord的理念,展现ffrecord的高性能和便捷。
该项目已开源,可前往查看:
https://github.com/HFAiLab/ffrecord
概述
我们知道,3FS专门针对模型批量读取样本数据这个场景进行了深度的优化,和一般的文件系统不同,3FS 文件系统有如下的一些特点:
1. 支持高吞吐的随机批量读取 (batch read)
2. 大量打开、关闭小文件的开销比较大
如果要充分利用 3FS 文件系统的高效读取性能,我们希望读取的样本数据格式应该满足以下两