paint-brush
Deep Lake,深度学习的 Lakehouse:摘要和简介经过@dataology
163 讀數

Deep Lake,深度学习的 Lakehouse:摘要和简介

太長; 讀書

研究人员介绍了 Deep Lake,这是一个用于深度学习的开源湖屋,它为深度学习框架优化了复杂数据存储和流媒体。
featured image - Deep Lake,深度学习的 Lakehouse:摘要和简介
Dataology: Study of Data in Computer Science HackerNoon profile picture
0-item

作者:

(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,加利福尼亚州山景城,美国。

链接表

抽象的

传统数据湖通过支持时间旅行、运行 SQL 查询、使用 ACID 事务提取数据以及在云存储上可视化 PB 级数据集,为分析工作负载提供了关键的数据基础设施。它们允许组织打破数据孤岛、解锁数据驱动的决策、提高运营效率并降低成本。然而,随着深度学习使用量的增加,传统数据湖并不适用于自然语言处理 (NLP)、音频处理、计算机视觉和涉及非表格数据集的应用程序等应用。本文介绍了 Deep Lake,这是 Activeloop[1][2] 开发的用于深度学习应用程序的开源 Lakehouse。Deep Lake 保留了原始数据湖的优势,但有一个关键区别:它以张量的形式存储复杂数据(例如图像、视频、注释以及表格数据),并通过网络快速将数据传输到 (a) 张量查询语言、(b) 浏览器内可视化引擎或 (c) 深度学习框架,而不会牺牲 GPU 利用率。存储在 Deep Lake 中的数据集可以通过 PyTorch [58]、TensorFlow [25]、JAX [31] 访问,并且可以与众多 MLOps 工具集成。


关键词 - Deep Lake、深度学习、数据湖、Lakehouse、云计算、分布式系统

1. 引言

数据湖是一个中央存储库,允许组织将结构化、非结构化和半结构化数据存储在一个地方。数据湖提供了一种更好的数据管理、治理和分析方法。此外,它们还提供了一种打破数据孤岛并获得以前隐藏在不同数据源中的洞察的方法。第一代数据湖传统上将数据收集到分布式存储系统中,例如 HDFS [71] 或 AWS S3 [1]。无组织的数据收集将数据湖变成了“数据沼泽”,这催生了以 Delta、Iceberg 和 Hudi [27, 15, 10] 为首的第二代数据湖。它们严格在 Parquet、ORC、Avro [79, 6, 20] 等标准化结构化格式上运行,并提供时间旅行、ACID 事务和模式演化等功能。数据湖直接与 Presto、Athena 等查询引擎集成,


图 1:Deep Lake 架构与深度学习框架交互的概览。


Hive 和 Photon [70, 12, 76, 66] 来运行分析查询。此外,它们还连接到 Hadoop、Spark 和 Airflow [14, 82, 9] 等框架,以进行 ETL 管道维护。反过来,数据湖和查询引擎之间的集成以及明确的计算和存储分离导致了 Lakehouse [28] 等系统的出现,这些系统可以作为数据仓库的替代方案,包括 Snowflake、BigQuery、Redshift 和 Clickhouse [33, 4, 40, 2]。


在过去十年中,深度学习在处理文本、图像、视频和音频等非结构化复杂数据方面已经超越了传统的机器学习技术 [44、47、38、83、51、30、63、56]。深度学习系统不仅超越了传统技术,而且在从 X 射线图像中检测癌症、人类神经细胞解剖重建、玩游戏、驾驶汽车、展开蛋白质和生成图像等应用中实现了超越人类的准确率 [61、48、72、42、77]。具有基于 Transformer 架构的大型语言模型在翻译、推理、摘要和文本完成任务中取得了最先进的成果 [78、36、81、32]。大型多模态网络将非结构化数据嵌入向量中以进行跨模态搜索 [29、60]。此外,它们还用于从文本生成照片般逼真的图像 [62、65]。


尽管深度学习模型成功的主要因素之一是大型数据集的可用性,例如 CoCo(330K 图像)、ImageNet(1.2M 图像)、Oscar(多语言文本语料库)和 LAION(400M 和 5B 图像)[49, 34, 74, 68],但它没有类似于传统分析工作负载的完善的数据基础设施蓝图来支持这种规模。另一方面,现代数据堆栈 (MDS) 缺乏部署高性能深度学习解决方案所需的功能,因此组织选择开发内部系统。


在本文中,我们介绍了 Deep Lake,这是一款专门用于深度学习工作负载的 Lakehouse。Deep Lake 保留了


图 2:Deep Lake 的机器学习循环


与传统数据湖相比,它有一个显著的区别:它将复杂数据(如图像、视频、注释和表格数据)存储为张量,并通过网络将数据快速传输到深度学习框架,而不会牺牲 GPU 利用率。此外,它还提供了 PyTorch、TensorFlow 和 JAX 等深度学习框架之间的本机互操作性 [58、25、31]。


本文的主要技术贡献包括:


• 张量存储格式,将动态形状的数组存储在对象存储中;


• 流数据加载器,可安排获取、解压缩和用户定义的转换,优化向 GPU 的数据传输吞吐量以进行深度学习;


• 张量查询语言在多维数组数据上运行类似 SQL 的操作;


• 浏览器内可视化引擎,从对象存储中流式传输数据并使用 WebGL 在浏览器中呈现它。


本文的其余部分将按如下方式展开。我们首先考虑非结构化数据深度学习的当前挑战。接下来,我们将介绍张量存储格式 (TSF) 及其关键概念。此外,我们将讨论 Deep Lake 在 ML 周期内的功能和应用。接下来,我们将提供性能实验并讨论结果。最后,我们将回顾相关工作,列出可能的局限性并得出结论。



[1] 源代码可访问:https://github.com/activeloopai/deeplake


[2] 文档可在 https://docs.deeplake.ai 获取