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.

研究の動機と目的

  • 画像、動画、音声などの非構造化データを含むディープラーニングワークロードに特化したスケーラブルでパフォーマンスに優れたデータインfraストラクチャの欠如に対処すること。
  • GPU の利用効率を損なうことなく、複雑でマルチモーダルなデータセットをディープラーニングパイプラインにシームレスに統合できること。
  • タイムトラベル、ACID トランザクション、クエリ機能を備えた統一されたバージョニング済みデータレイヤーを提供すること。テンソルをネイティブにサポートし、データレイクに類似したがディープラーニングに最適化されたものである。
  • オンザフライでのデータマテリアライゼーション、可視化、主要なディープラーニングフレームワーク間での効率的なデータロードを可能にすることで、機械学習のライフサイクルを簡素化すること。

提案手法

  • 動的サイズのテンソルをオブジェクトストレージに階層的でチャンク化され、型指定されたストレージレイアウトを用いて格納する、新しいテンソルストレージフォーマット(TSF)を導入する。
  • トレーニング中の GPU 利用率を最大化するために、データフェッチ、解凍、ユーザー定義変換のスケジューリングを最適化したストリーミングデータローダーを採用する。
  • フィルタリング、集計、プロジェクションをサポートする、多次元テンソルデータに対する SQL に類似した操作を可能にするテンソルクエリ言語(TQL)を開発する。
  • WebGL を使用して、ローカルの前処理なしにクラウドストレージから直接ストリーミングしてレンダリングする、ブラウザ内可視化エンジンを構築する。
  • データセットをテンソル互換のデータローダーとして公開することで、PyTorch、TensorFlow、JAX とのネイティブ相互運用性を実現する。
  • 外部バージョニングツールに依存せずに、組み込みの ACID 準拠トランザクションモデルにより、バージョニングとタイムトラベルをサポートする。

実験結果

リサーチクエスチョン

  • RQ1どのようにすれば、I/O オーバーヘッドを最小限に抑えながら、画像や動画などの複雑で高次元のデータをネイティブにストレージし、ストリーミングできるか?
  • RQ2データの事前ロードを必要とせず、かつスループットを損なわずに、GPU 最適化されたデータストリーミングを実現できるか?
  • RQ3分析的および前処理ワークロードに適した、多次元テンソルデータへの SQL に類似したクエリ言語をどの程度効果的に拡張できるか?
  • RQ4WebDataset や Parquet、TFRecord といった既存フォーマットと比較して、ディープラーニング向けレイクハウスのインジェストおよびストリーミングパフォーマンスはどの程度か?
  • RQ5現代のウェブテクノロジとクラウドストレージを用いて、ペタバイト規模のテンソルデータセットを効率的にブラウザ内で可視化できるか?

主な発見

  • Deep Lake は、最適化されたテンソルストレージとストリーミングパイプラインのおかげで、特に大規模な画像において、WebDataset や Parquet を上回るデータインジェストおよびストリーミングパフォーマンスを発揮する。
  • ストリーミングデータローダーは、データフェッチ、解凍、変換をモデルトレーニング計算と重ねることで、高い GPU 利用率を達成する。
  • TQL を用いることで、ストレージされたテンソル上で直接フィルタリング、集計、プロジェクション操作が可能になり、効率的なクエリ処理が実現される。
  • ブラウザ内可視化エンジンは、WebGL を使用してオンデマンドでデータをストリーミングおよびデコードすることで、画像や動画などの複雑なデータをリアルタイムにレンダリングする。
  • Deep Lake の組み込みバージョニングと ACID トランザクションにより、Git のような外部依存なしにタイムトラベルとデータラインレージングの機能が提供される。
  • ベンチマーク結果から、特に高解像度で可変サイズのテンソルを含む大規模なディープラーニングデータワークフローにおいて、Deep Lake が最先端のパフォーマンスを達成していることが示された。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。