[논문 리뷰] Deep Lake: a Lakehouse for Deep Learning
딥 레이크는 이미지, 비디오 및 애너테이션과 같은 복잡한 데이터를 텐서로 천연 저장함으로써 딥러닝 워크로드에 최적화된 레이크하우스 아키텍처를 도입한다. 이는 파이토치, 텐서플로우, JAX에 고성능 GPU 최적화 스트리밍을 가능하게 하며, 데이터 인게이션 및 스트리밍에서 최신 기술 수준의 성능을 달성한다. 웹데이터셋 및 파quet보다 대규모 텐서 데이터에서 뛰어난 성능을 발휘하며, SQL 유사 쿼리, 브라우저 내 시각화, ACID 준수 버전 관리 기능을 지원한다.
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 활용도를 저하시키지 않고도 복잡한 다중 모odal 데이터셋을 딥러닝 파이프라인에 원활하게 통합할 수 있도록 하기 위해.
- 시간 여행, ACID 트랜잭션, 쿼리 기능을 갖춘 통합된, 버전 관리가 가능한 데이터 레이어를 제공함으로써 데이터 레이크 수준의 기능을 제공하지만, 딥러닝에 최적화된 텐서를 천연로 지원하기 위해.
- 주요 딥러닝 프레임워크 간 효율적인 데이터 로딩, 실시간 데이터 재료화, 시각화를 가능하게 하여 머신러닝 라이프사이클을 단순화하기 위해.
제안 방법
- 동적 크기의 텐서를 객체 스토리지에 계층적, 청크 기반, 타입 기반의 저장 레이아웃을 사용해 저장하는 새로운 텐서 스토리지 포맷(TSF)을 도입한다.
- 학습 중 GPU 활용도를 극대화하기 위해 데이터 확보, 압축 해제, 사용자 정의 변환을 스케줄링하는 스트리밍 데이터로더를 활용한다.
- 필터링, 집계, 프로젝션을 지원하는 다차원 텐서 데이터에 대한 SQL 유사 연산을 가능하게 하는 텐서 쿼리 언어(TQL)를 개발한다.
- 클라우드 스토리지에서 로컬 프리프로세싱 없이도 직접 스트리밍하고 렌더링할 수 있도록 WebGL을 사용한 브라우저 내 시각화 엔진을 구축한다.
- 파이토치, 텐서플로우, JAX와의 천연 상호운용성을 제공하기 위해 데이터셋을 텐서 호환 데이터로더로 노출시킨다.
- 외부 버전 관리 도구에 의존하지 않고도 내장된 ACID 준수 트랜잭션 모델을 통해 버전 관리 및 시간 여행 기능을 제공한다.
실험 결과
연구 질문
- RQ1어떻게 데이터 레이크하우스가 I/O 오버헤드를 최소화하면서도 이미지, 비디오와 같은 복잡하고 고차원적인 데이터를 천연으로 저장하고 스트리밍할 수 있는가?
- RQ2데이터 사전 로딩 없이도 성능을 저하시키지 않고 GPU 최적화된 데이터 스트리밍을 달성할 수 있는가?
- RQ3분석 및 전처리 워크로드에 대해 다차원 텐서 데이터에 대해 SQL 유사 쿼리 언어를 얼마나 효과적으로 확장할 수 있는가?
- RQ4웹데이터셋, 파quet, TFRecord와 같은 기존 형식과 비교해 딥러닝 워크로드에서의 인게이션 및 스트리밍 성능 측면에서 레이크하우스 아키텍처는 어떤가?
- RQ5현대 웹 기술과 클라우드 스토리지 기반으로 페타바이트 규모의 텐서 데이터셋을 효율적으로 브라우저 내에서 시각화할 수 있는가?
주요 결과
- 딥 레이크는 최적화된 텐서 스토리지 및 스트리밍 파이프라인 덕분에 대규모 이미지에서 웹데이터셋 및 파quet보다 데이터 인게이션 및 스트리밍 성능에서 뛰어난 성능을 발휘한다.
- 스트리밍 데이터로더는 모델 학습 계산과 동시에 데이터 확보, 압축 해제, 변환을 오버랩함으로써 높은 GPU 활용도를 달성한다.
- TQL은 저장된 텐서 위에서 직접 필터링, 집계, 프로젝션 연산을 수행할 수 있도록 효율적인 SQL 유사 쿼리 기능을 제공한다.
- 브라우저 내 시각화 엔진은 WebGL을 사용해 필요에 따라 스트리밍하고 디코딩함으로써 이미지 및 비디오와 같은 복잡한 데이터를 실시간으로 렌더링한다.
- 딥 레이크의 내장된 버전 관리 및 ACID 트랜잭션은 Git과 같은 외부 도구에 의존하지 않고도 시간 여행 및 데이터 라인저이 기능을 제공한다.
- 벤치마크 결과에 따르면, 특히 고해상도이거나 크기가 변하는 텐서를 포함한 대규모 딥러닝 데이터 워크플로우에서 딥 레이크는 최신 기술 수준의 성능을 달성한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.