作者:
(1) Sasun Hambardzumyan,Activeloop,加利福尼亚州山景城,美国;
(2) Abhinav Tuli,Activeloop,美国加利福尼亚州山景城;
(3) Levon Ghukasyan,Activeloop,加利福尼亚州山景城,美国;
(4)Fariz Rahman,Activeloop,美国加利福尼亚州山景城;
(5) Hrant Topchyan,Activeloop,美国加利福尼亚州山景城;
(6)David Isayan,Activeloop,美国加利福尼亚州山景城;
(7)Mark McQuade,Activeloop,美国加利福尼亚州山景城;
(8) Mikayel Harutyunyan,Activeloop,美国加利福尼亚州山景城;
(9) Tatevik Hakobyan,Activeloop,加利福尼亚州山景城,美国;
(10) Ivo Stranic,Activeloop,加利福尼亚州山景城,美国;
(11)Davit Buniatyan,Activeloop,加利福尼亚州山景城,美国。
多个项目试图改进或创建用于存储非结构化数据集的新格式,包括 TFRecord 扩展 Protobuf [5]、Petastorm [18] 扩展 Parquet [79]、Feather [7] 扩展 arrow [13]、Squirrel 使用 MessagePack [75]、FFCV 中的 Beton [39]。设计一种能够解决所有用例的通用数据集格式非常具有挑战性。我们的方法主要受到 CloudVolume [11] 的启发,CloudVolume 是一个用于存储大量生物医学数据的 4-D 分块 NumPy 存储。还有其他类似的分块 NumPy 数组存储格式,如 Zarr [52]、TensorStore [23]、TileDB [57]。Deep Lake 引入了类型系统、动态形状的张量、与快速深度学习流数据加载器的集成、张量查询和浏览器内可视化支持。存储大规模数据集的另一种方法是使用 HPC 分布式文件系统(如 Lustre [69]),并通过 PyTorch 缓存 [45] 或高性能存储层(如 AIStore [26])进行扩展。Deep Lake 数据集可以利用其优势存储在 POSIX 或 REST API 兼容的分布式存储系统之上。其他类似的方法在矢量数据库 [80, 8, 80] 中发展,用于存储嵌入、特征存储 [73, 16] 或数据版本控制系统,如 DVC [46] 或 LakeFS [21]。相比之下,Deep Lake 版本控制内置于格式中,不需要外部依赖,包括 Git。张量查询语言与 TQP [41] 和 Velox [59] 方法类似,真正充分利用深度学习框架的全部功能,在张量存储上运行 n 维数值运算。总体而言,Deep Lake 与 Hudi、Iceberg、Delta [27, 15, 10] 等数据湖相似,并对 Databarick 的 Lakehouse [28] 等系统进行了补充,以用于深度学习应用。