Skip to main content
QUICK REVIEW

[논문 리뷰] Scaling Datalog for Machine Learning on Big Data

Yingyi Bu, Vinayak Borkar|arXiv (Cornell University)|2012. 03. 01.
Advanced Database Systems and Queries참고 문헌 27인용 수 51
한 줄 요약

이 논문은 반복적 기계학습 워크로드—예를 들어 Pregel과 반복적 Map-Reduce-Update—를 최적화되고 확장 가능한 물리적 실행 계획으로 컴파일함으로써 이들을 통합하는 선언적, Datalog 기반 프레임워크를 제안한다. 실험 결과, Spark나 Hadoop와 같은 전용 시스템과 경쟁 가능한 성능을 달성함과 동시에, 대규모 클러스터에서 다양한 기계학습 작업 간의 더 나은 튜닝, 재사용, 통합을 가능하게 한다.

ABSTRACT

In this paper, we present the case for a declarative foundation for data-intensive machine learning systems. Instead of creating a new system for each specific flavor of machine learning task, or hardcoding new optimizations, we argue for the use of recursive queries to program a variety of machine learning systems. By taking this approach, database query optimization techniques can be utilized to identify effective execution plans, and the resulting runtime plans can be executed on a single unified data-parallel query processing engine. As a proof of concept, we consider two programming models--Pregel and Iterative Map-Reduce-Update---from the machine learning domain, and show how they can be captured in Datalog, tuned for a specific task, and then compiled into an optimized physical plan. Experiments performed on a large computing cluster with real data demonstrate that this declarative approach can provide very good performance while offering both increased generality and programming ease.

연구 동기 및 목표

  • 기존의 Hadoop와 같은 전통적 빅데이터 플랫폼에서 반복적 기계학습 워크로드를 구현할 때 나타나는 비효율성과 복잡성을 해결하기 위해, 재귀나 반복을 위한 내장된 지원이 없는 플랫폼의 한계를 해결한다.
  • Pregel과 반복적 Map-Reduce-Update와 같은 다양한 기계학습 프로그래밍 모델을 단일 선언적 언어로 통합하여 중복을 줄이고 유지보수성을 향상시킨다.
  • 기계학습 워크로드에 대해 재귀적 Datalog 쿼리의 쿼리 최적화 기법을 활용하여 대규모 클러스터에서 효율적인 데이터 병렬 실행 계획을 생성한다.
  • 논리적 설계와 물리적 실행을 분리함으로써 선언적 명세를 통해 작업별 튜닝을 가능하게 한다.
  • 단일 통합 런타임 엔진이 다양한 기계학습 워크로드를 효율적으로 실행할 수 있음을 입증하며, 메모리 제약 조건이 있는 환경에서 전용 시스템보다 뛰어난 성능을 보인다.

제안 방법

  • 반복적 계산과 데이터 플로우 논리를 표현하기 위해 고수준 기계학습 프로그래밍 모델(Pregel과 반복적 Map-Reduce-Update)을 재귀적 Datalog 쿼리로 매핑한다.
  • 대규모 데이터를 클러스터에서 처리하기 위해 외부 메모리 및 분산 실행을 지원하는 확장된 Datalog 엔진을 사용한다.
  • 기존 관계형 데이터베이스 시스템 최적화 기법을 활용하여 재귀 및 반복 처리를 위한 최적화된 물리적 실행 계획을 생성하기 위해 쿼리 최적화기를 적용한다.
  • Hyracks 기반 런타임 시스템을 사용하여 Datalog 프로그램을 효율적인 데이터 병렬 실행 계획으로 컴파일함으로써, 윈도우 이동 및 메시지 전달을 위한 유연한 데이터 재분배를 지원한다.
  • 작업별 튜닝과 자원 인식 실행을 지원하기 위해 Datalog 기반 시스템을 플래너/최적화 스택과 통합한다.
  • 기계학습 워크로드를 위한 일반화되고 확장 가능한 쿼리 처리 기반을 제공하기 위해 Algebricks 대수 및 재작성 규칙 프레임워크를 확장한다.

실험 결과

연구 질문

  • RQ1재귀적 Datalog 쿼리를 사용하여 Pregel과 반복적 Map-Reduce-Update에 속하는 다양한 반복적 기계학습 알고리즘을 선언적으로 표현할 수 있는가?
  • RQ2기존의 데이터베이스 쿼리 최적화 기법이 Datalog 프로그램에 얼마나 효과적으로 적용되어 기계학습 워크로드를 위한 효율적이고 확장 가능한 실행 계획을 생성할 수 있는가?
  • RQ3실제 대규모 기계학습 작업에서 Spark나 Hadoop와 같은 전용 시스템과 비교해 볼 때 Datalog 기반 시스템의 성능은 어떠한가?
  • RQ4단일 통합 데이터 병렬 런타임이 각 모델 유형에 대해 별도의 시스템이 필요 없이 다양한 기계학습 워크로드를 효율적으로 실행할 수 있는가?
  • RQ5선언적 접근 방식이 지능형 또는 특수 목적의 반복 프레임워크보다 특정 기계학습 작업에 대해 더 나은 튜닝과 자원 할당을 가능하게 하는가?

주요 결과

  • Datalog 기반 시스템은 실제 대규모 데이터셋에서 Spark와 Hadoop와 경쟁 가능한 성능을 달성하여 통합 선언적 접근의 타당성을 입증했다.
  • 동일한 하드웨어 환경에서 Spark는 주 메모리 제약으로 실패한 반면, Datalog 시스템은 성공적으로 실행되어 더 나은 메모리 효율성을 입증했다.
  • 실행 효율성 면에서 Hadoop보다 한 단계 높은 성능을 기록하여 쿼리 최적화기의 최적화 효과가 뚜렷하게 드러났다.
  • PageRank와 배치 경사 하강법에 대한 Datalog 프로그램은 간결하고 고도로 튜닝 가능했으며, 논리적 명세만으로도 작업별 최적화가 가능했다.
  • 이론적 통합을 통해 ETL과 기계학습 워크로드를 단일 런타임으로 통합함으로써 파이프라인 복잡성과 데이터 전송 오버헤드를 감소시켰다.
  • 시스템은 특정 데이터 분포와 자원 할당에 맞는 최적화된 물리적 계획을 생성할 수 있는 능력을 입증하여 다양한 워크로드에서 효율적인 실행을 가능하게 했다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.