Skip to main content
QUICK REVIEW

[논문 리뷰] On Optimizing Operator Fusion Plans for Large-Scale Machine Learning in SystemML

Matthias Böehm, Berthold Reinwald|arXiv (Cornell University)|2018. 01. 02.
Formal Methods in Verification참고 문헌 64인용 수 5
한 줄 요약

이 논문은 대규모 머신러닝 시스템 내에서, 특히 SystemML에서 연산자 융합을 위한 비용 기반 최적화 프레임워크를 제시한다. 이는 유효한 융합 계획을 탐색하는 체계적인 알고리즘, 비용 모델을 사용한 최적 후보 선택, 그리고 조밀, 희소, 압축 데이터에 대한 로컬 및 분산 연산을 위한 효율적인 코드 생성을 제공한다. 이로 인해 수동으로 작성된 융합 연산자 대비 최대 21배의 성능 향상을 달성하면서도 최소한의 오버헤드를 유발한다.

ABSTRACT

Many large-scale machine learning (ML) systems allow specifying custom ML algorithms by means of linear algebra programs, and then automatically generate efficient execution plans. In this context, optimization opportunities for fused operators---in terms of fused chains of basic operators---are ubiquitous. These opportunities include (1) fewer materialized intermediates, (2) fewer scans of input data, and (3) the exploitation of sparsity across chains of operators. Automatic operator fusion eliminates the need for hand-written fused operators and significantly improves performance for complex or previously unseen chains of operations. However, existing fusion heuristics struggle to find good fusion plans for complex DAGs or hybrid plans of local and distributed operations. In this paper, we introduce an optimization framework for systematically reason about fusion plans that considers materialization points in DAGs, sparsity exploitation, different fusion template types, as well as local and distributed operations. In detail, we contribute algorithms for (1) candidate exploration of valid fusion plans, (2) cost-based candidate selection, and (3) code generation of local and distributed operations over dense, sparse, and compressed data. Our experiments in SystemML show end-to-end performance improvements with optimized fusion plans of up to 21x compared to hand-written fused operators, with negligible optimization and code generation overhead.

연구 동기 및 목표

  • 복잡한 DAG와 하이브리드 로컬/분산 워크로드에서 히ュ리스틱 기반 연산자 융합의 한계를 해결하기 위해.
  • 물리화 지점, 희소성 활용, 다양한 융합 템플릿 유형을 고려하여 융합 계획을 체계적으로 최적화하기 위해.
  • 각 패턴에 대해 수동으로 코딩된 연산자를 요구하지 않도록 융합을 자동화하여 개발 오버헤드를 줄이기 위해.
  • 로컬 및 분산 실행 환경에서 조밀, 희소, 압축 데이터 표현에 대해 효율적인 코드 생성을 가능하게 하기 위해.
  • 원칙적이고 비용 인식 기반의 융합 계획 수립을 통해 대규모 머신러닝 워크로드의 종단 간 성능을 향상시키기 위해.

제안 방법

  • 후보 탐색, 비용 기반 후보 선택, 융합 연산자에 대한 코드 생성으로 구성된 3단계 프레임워크를 제안한다.
  • 메모리 제약 조건과 데이터 레이아웃 특성에 주의하면서 DAG 내에서 유효한 융합 계획을 탐색할 수 있는 알고리즘을 개발한다.
  • 물리화, I/O, 계산, 그리고 연산 체인 전반의 희소성 활용을 고려한 비용 모델을 적용한다.
  • 단일 패ass, 다중 집계, 희소성 활용 패턴을 포함한 다양한 융합 템플릿 유형을 지원한다.
  • 로컬 및 분산 실행을 위한 최적화된 코드를 생성하며, 조밀, 희소, 압축 데이터 표현을 모두 처리한다.
  • 시스템의 컴파일러 및 런타임에 최적화 파이프라인을 통합하여 원활한 배포를 가능하게 한다.

실험 결과

연구 질문

  • RQ1선형 대수 연산의 DAG에서 융합 계획을 어떻게 체계적으로 탐색할 수 있을까? 이는 지수적 탐색 공간을 피하기 위함이다.
  • RQ2물리화, I/O, 계산, 희소성 등을 고려한 융합 계획 비교에 효과적인 비용 모델은 무엇인가?
  • RQ3로컬 및 분산 연산을 포함하는 하이브리드 워크로드에서 융합 계획을 어떻게 최적화할 수 있을까?
  • RQ4자동 융합이 성능과 일반성 측면에서 수동으로 작성된 융합 연산자보다 뛰어날 수 있는가?
  • RQ5조밀 중간 결과를 물리화하지 않고도 연산 체인 전반에서 희소성을 어떻게 활용할 수 있을까?

주요 결과

  • 제안된 최적화 프레임워크는 SystemML에서 수동으로 작성된 융합 연산자 대비 최대 21배의 종단 간 성능 향상을 달성한다.
  • 이 프레임워크는 수동 최적화된 코드의 성능을 뛰어넘으면서도 각 융합 패턴의 수동 구현이 필요 없음을 입증한다.
  • 최적화 및 코드 생성 오버헤드는 극히 미미하여 실세계 배포에 실용적이다.
  • 시스템은 물리화된 조밀 중간 결과를 피하면서도 연산 체인 전반에서 희소성을 효과적으로 활용한다.
  • 비용 기반 선택 메커니즘이 복잡한 DAG와 하이브리드 실행 계획에서 히ュ리스틱 기반 융합 전략보다 뛰어난 성능을 보인다.
  • 이 프레임워크는 조밀, 희소, 압축 데이터 표현 전반에 걸쳐 일반화되어 있어 다양한 머신러닝 워크로드에 적용 가능성을 높인다.

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

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

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

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