Skip to main content
QUICK REVIEW

[论文解读] Deep Lake: a Lakehouse for Deep Learning

Sasun Hambardzumyan, Abhinav Tuli|arXiv (Cornell University)|Sep 22, 2022
Data Quality and Management被引用 8
一句话总结

Deep Lake 通过原生存储复杂数据(如图像、视频和标注)为张量,引入了一种专为深度学习工作负载优化的湖仓架构,支持向 PyTorch、TensorFlow 和 JAX 高吞吐、GPU 优化的数据流。它在数据摄入和流式传输方面达到最先进性能,相较于 WebDataset 和 Parquet 在大规模张量数据上表现更优,同时支持类似 SQL 的查询、浏览器内可视化以及符合 ACID 的版本控制。

ABSTRACT

Traditional data lakes provide critical data infrastructure for analytical workloads by enabling time travel, running SQL queries, ingesting data with ACID transactions, and visualizing petabyte-scale datasets on cloud storage. They allow organizations to break down data silos, unlock data-driven decision-making, improve operational efficiency, and reduce costs. However, as deep learning usage increases, traditional data lakes are not well-designed for applications such as natural language processing (NLP), audio processing, computer vision, and applications involving non-tabular datasets. This paper presents Deep Lake, an open-source lakehouse for deep learning applications developed at Activeloop. Deep Lake maintains the benefits of a vanilla data lake with one key difference: it stores complex data, such as images, videos, annotations, as well as tabular data, in the form of tensors and rapidly streams the data over the network to (a) Tensor Query Language, (b) in-browser visualization engine, or (c) deep learning frameworks without sacrificing GPU utilization. Datasets stored in Deep Lake can be accessed from PyTorch, TensorFlow, JAX, and integrate with numerous MLOps tools.

研究动机与目标

  • 解决缺乏针对图像、视频和音频等非结构化数据的可扩展、高性能数据基础设施的问题。
  • 在不牺牲 GPU 利用率的前提下,实现复杂多模态数据集与深度学习流水线的无缝集成。
  • 提供统一的、带版本控制的数据层,支持时间旅行、ACID 事务和查询功能——原生支持张量——与数据湖相当,但专为深度学习优化。
  • 通过支持实时数据物化、可视化和主流深度学习框架间高效数据加载,简化机器学习生命周期。

提出的方法

  • 提出一种新型张量存储格式(TSF),通过分层、分块和类型化存储布局,将动态形状的张量原生存储于对象存储中。
  • 采用流式数据加载器,通过调度数据获取、解压缩和用户定义的转换操作,最大化训练期间的 GPU 利用率。
  • 设计张量查询语言(TQL),支持对多维张量数据进行类似 SQL 的操作,包括过滤、聚合和投影。
  • 利用 WebGL 构建浏览器内可视化引擎,直接从云存储流式传输并渲染复杂数据,无需本地预处理。
  • 通过将数据集暴露为兼容张量的数据加载器,实现与 PyTorch、TensorFlow 和 JAX 的原生互操作性。
  • 通过内置的、符合 ACID 的事务模型支持版本控制和时间旅行,消除对外部版本控制工具(如 Git)的依赖。

实验结果

研究问题

  • RQ1如何在最小 I/O 开销下,原生存储并流式传输复杂、高维数据(如图像和视频)?
  • RQ2湖仓架构是否能在不牺牲吞吐量或无需数据预加载的前提下,实现面向深度学习的 GPU 优化数据流?
  • RQ3类似 SQL 的查询语言在多维张量数据上可扩展到何种程度,以支持分析和预处理工作负载?
  • RQ4与 WebDataset、Parquet 和 TFRecord 等现有格式相比,面向深度学习的湖仓在数据摄入和流式传输性能方面表现如何?
  • RQ5能否利用现代 Web 技术和云存储,高效实现对 PB 级张量数据集的浏览器内可视化?

主要发现

  • 由于其优化的张量存储与流式传输管道,Deep Lake 在大规模图像数据上的数据摄入和流式传输性能优于 WebDataset 和 Parquet。
  • 流式数据加载器通过重叠数据获取、解压缩和转换操作与模型训练计算,实现了高 GPU 利用率。
  • TQL 支持在存储的张量上直接进行高效、类似 SQL 的查询,包括过滤、聚合和投影操作。
  • 浏览器内可视化引擎通过使用 WebGL 按需流式传输和解码数据,实现实时渲染图像和视频等复杂数据。
  • Deep Lake 内置的版本控制与 ACID 事务机制提供了时间旅行和数据血缘追踪能力,且无需依赖 Git 等外部工具。
  • 基准测试结果表明,Deep Lake 在大规模深度学习数据工作流中达到最先进性能,尤其在涉及高分辨率、可变大小张量的场景下表现突出。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。