Skip to main content
QUICK REVIEW

[논문 리뷰] SPORES: Sum-Product Optimization via Relational Equality Saturation for Large Scale Linear Algebra

Yisu Remy Wang, Shana Hutchison|arXiv (Cornell University)|2020. 02. 19.
Parallel Computing and Optimization Techniques참고 문헌 27인용 수 11
한 줄 요약

SPORES는 등가 포화와 E-그래프를 사용하여 등가 표현식을 탐색함으로써 대규모 선형 대수 워크로드를 위한 완전하고 관계대수 기반 최적화 프레임워크를 도입한다. 이는 SystemML에 통합되어 기존 최적화를 재발견하고 새로운 최적화를 발견하며, 희소성과 대수적 등가성을 체계적으로 활용하여 실제 머신러닝 워크로드에서 최대 5배의 성능 향상을 달성한다.

ABSTRACT

Machine learning algorithms are commonly specified in linear algebra (LA). LA expressions can be rewritten into more efficient forms, by taking advantage of input properties such as sparsity, as well as program properties such as common subexpressions and fusible operators. The complex interaction among these properties' impact on the execution cost poses a challenge to optimizing compilers. Existing compilers resort to intricate heuristics that complicate the codebase and add maintenance cost but fail to search through the large space of equivalent LA expressions to find the cheapest one. We introduce a general optimization technique for LA expressions, by converting the LA expressions into Relational Algebra (RA) expressions, optimizing the latter, then converting the result back to (optimized) LA expressions. One major advantage of this method is that it is complete, meaning that any equivalent LA expression can be found using the equivalence rules in RA. The challenge is the major size of the search space, and we address this by adopting and extending a technique used in compilers, called equality saturation. We integrate the optimizer into SystemML and validate it empirically across a spectrum of machine learning tasks; we show that we can derive all existing hand-coded optimizations in SystemML, and perform new optimizations that lead to speedups from 1.2X to 5X.

연구 동기 및 목표

  • 스parseness, 공통 부분식, 융합 가능한 연산자와 같은 여러 최적화 차원에서 복잡한 선형 대수 표현식을 최적화하는 데 있어 히우리스틱 기반 컴파일러의 한계를 해결하기 위해.
  • 관계대수를 중간 표현으로 활용하여 등가적이며 최적화된 선형 대수 표현식의 완전하고 체계적인 탐색을 제공하기 위해.
  • 등가 포화와 E-그래프를 통해 등가 표현식의 비가속적인 큰 탐색 공간을 극복하여, 완전성을 포기하지 않으면서도 확장 가능한 탐색을 가능하게 하기 위해.
  • 최적화기를 SystemML에 통합하고, 기존에 알려진 최적화를 재발견하며 성능 향상을 이끄는 새로운 최적화를 발견할 수 있는 능력을 실증적으로 검증하기 위해.

제안 방법

  • 합, 곱, 전치 연산을 관계연산자(예: 조인, 유니온, 집계)로 표현하는 공식 매핑을 사용하여 선형 대수 표현식을 관계대수 표현식으로 변환한다.
  • 숫자 값을 가진 K-관계(백 의미 체계) 위에서 관계대수 프레임워크를 사용하여 등가성이 결정 가능하고, 공통 쿼리의 합성에 대한 동형성으로 완전성이 확보되도록 한다.
  • 표준 관계항등식의 집합을 사용하여 등가 포화를 적용하고, E-그래프를 구성하여 탐색 공간 내 모든 등가 표현식을 압축적으로 표현한다.
  • 스키마 인식 기반 클래스 인variant를 활용하여 속성 정보에 액세스하고, 규칙 적용 중 상수 폴딩과 정확한 비용 추정을 가능하게 한다.
  • 등가 포화 중 재작성 매칭을 샘플링하여 탐색 깊이와 수렴 시간 사이의 균형을 유지하고, 대규모 프로그램에서는 전체 포화를 피한다.
  • 비용 기반 제약 소거기를 사용하여 E-그래프에서 최적의 표현식을 추출한 후, 실행을 위해 다시 선형 대수 표현식으로 변환한다.

실험 결과

연구 질문

  • RQ1관계대수 기반 중간 표현은 히우리스틱 규칙에 의해 놓친 표현까지 포함하여 등가 선형 대수 표현식을 완전하게 탐색할 수 있는가?
  • RQ2유니온, 집계, 공통 부분식이 포함된 합-곱 표현식에서 발생하는 큰 탐색 공간을 등가 포화와 E-그래프로 어떻게 적응적으로 관리할 수 있는가?
  • RQ3이러한 접근은 SystemML과 같은 실전 컴파일러의 수작업 최적화를 얼마나 잘 재발견하고 초월할 수 있는가?
  • RQ4실제 머신러닝 워크로드에서 체계적인 탐색을 통해 발견된 새로운 비트리비얼 최적화로는 어떤 성능 향상이 달성될 수 있는가?

주요 결과

  • SPORES는 SystemML 내 모든 기존 수작업 최적화를 성공적으로 재발견하여 완전성과 실용적 적용 가능성을 입증했다.
  • 최적화 기술이 알려지지 않은 새로운 최적화를 발견하여 다양한 머신러닝 워크로드에서 1.2×에서 5×의 성능 향상을 이끌어냈다.
  • 백 의미 체계와 표준형 등가성을 갖춘 관계대수를 사용함으로써 SPORES는 모든 등가 표현식을 이론적으로 완전하게 체계적으로 탐색함을 보장한다.
  • 클래스 인variant의 통합은 정확한 비용 추정과 효과적인 상수 폴딩을 가능하게 하여 최적화 결정의 품질을 향상시켰다.
  • 등가 포화 중 재작성 매칭을 샘플링함으로써 전체 포화 없이도 우수한 탐색 효율성을 달성하여 대규모 프로그램에 대한 확장성을 확보했다.
  • 실증적 평가 결과, 제약 소거기는 이론적으로 최적일 수 있으나 상당한 오버헤드를 유발함을 확인하여, 샘플링 기반 탐색이 실무에서 더 효과적임을 입증했다.

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

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

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

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