Skip to main content
QUICK REVIEW

[논문 리뷰] A Tensor Compiler for Unified Machine Learning Prediction Serving

Supun Nakandala, Karla Saur|arXiv (Cornell University)|2020. 10. 09.
Parallel Computing and Optimization Techniques참고 문헌 28인용 수 10
한 줄 요약

Hummingbird는 기존 머신러닝 모델과 특징 추출 연산자를 통합된 텐서 연산 집합으로 컴파일하여, 기존 딥러닝 프레임워크를 통해 CPU 및 GPU에서 효율적인 실행을 가능하게 하는 텐서 컴파일러입니다. 수작업 최적화된 커널과 비교해 경쟁력 있거나 뛰어난 성능을 달성하면서 인프라 복잡성을 줄이고 종단 간 하드웨어 가속을 가능하게 합니다.

ABSTRACT

Machine Learning (ML) adoption in the enterprise requires simpler and more efficient software infrastructure---the bespoke solutions typical in large web companies are simply untenable. Model scoring, the process of obtaining predictions from a trained model over new data, is a primary contributor to infrastructure complexity and cost as models are trained once but used many times. In this paper we propose HUMMINGBIRD, a novel approach to model scoring, which compiles featurization operators and traditional ML models (e.g., decision trees) into a small set of tensor operations. This approach inherently reduces infrastructure complexity and directly leverages existing investments in Neural Network compilers and runtimes to generate efficient computations for both CPU and hardware accelerators. Our performance results are intriguing: despite replacing imperative computations (e.g., tree traversals) with tensor computation abstractions, HUMMINGBIRD is competitive and often outperforms hand-crafted kernels on micro-benchmarks on both CPU and GPU, while enabling seamless end-to-end acceleration of ML pipelines. We have released HUMMINGBIRD as open source.

연구 동기 및 목표

  • 기업 환경에서 기존 머신러닝 모델을 구현하는 데 증가하는 복잡성과 비용을 해결하기 위해.
  • 다양한 특징 추출 및 모델 연산자를 단일 텐서 기반 추상화 아래 통합하여, 여러 프레임워크와 하드웨어 타겟을 지원하는 데 발생하는 N×M 문제를 방지하기 위해.
  • 기존 DNN 컴파일러와 런타임을 활용하여 기존 머신러닝 모델에 대해 효율적이고 이식 가능하며 최적화된 추론을 가능하게 하기 위해.
  • 고수준의 텐서 추상화가 모델 점수 산정에서 수작업 최적화된 명령형 구현보다 뛰어난 성능을 낼 수 있음을 입증하기 위해.

제안 방법

  • 기존 머신러닝 모델(예: 결정 트리, 선형 모델)과 특징 추출기(예: 토큰화, 정규화)를 최소한의 핵심 텐서 연산 집합으로 컴파일합니다.
  • 두 단계 최적화 파이프라인을 사용합니다: 연산자 조합 기반 논리 최적화, 다음으로 DNN 런타임 백엔드를 통한 물리적 최적화.
  • 트리 앙상블에 대한 신규 추론 전략을 적용하며, GEMM 및 TT를 활용하여 모델 특성에 따라 가장 효율적인 방법을 선택합니다.
  • 기존 DNN 프레임워크(PyTorch, TVM)와 그 하드웨어 최적화 백엔드(CPU, GPU)를 활용하여 컴파일된 모델을 실행합니다.
  • 추론 런타임과 통합하여 자동으로 하드웨어 인식 코드 생성 및 최적화를 가능하게 합니다.
  • 밀도 있는 텐서 연산과 희소 텐서 연산을 모두 지원하며, 향후 희소 최적화(예: TACO를 통해)를 위한 확장성도 제공합니다.

실험 결과

연구 질문

  • RQ1기존 머신러닝 모델과 특징 추출기들을 효과적으로 통합된 텐서 계산 추상화로 컴파일할 수 있는가?
  • RQ2이 텐서 기반 컴파일링이 CPU 및 GPU에서 수작업 최적화된 명령형 커널과 경쟁하거나 뛰어난 성능을 낼 수 있는가?
  • RQ3DNN 컴파일러와 런타임을 활용함으로써 인프라 복잡성이 감소하고 기존 머신러닝 모델에 대한 원활한 하드웨어 가속이 가능해지는가?
  • RQ4다양한 모델 유형, 입력 크기, 하드웨어 플랫폼 간에 컴파일된 텐서 모델의 성능는 어떻게 비교되는가?

주요 결과

  • CPU에서 가장 빠른 파이프라인은 scikit-learn 대비 1200배의 성능 향상을 기록했고, 가장 느린 파이프라인은 입력 크기가 작거나 희소한 탓에 단지 60배의 성능 저하를 겪었습니다.
  • CPU에서 평가된 2,317개의 파이프라인 중 60%는 성능 향상을 보였으며, 27%는 희소성 또는 낮은 계산 부하로 인해 성능 저하를 겪었습니다.
  • GPU 가속을 통해 73%의 파이프라인이 성능 향상을 보였고, 가장 빠른 파이프라인은 scikit-learn 대비 1,000배의 성능 향상을 기록했습니다.
  • 고수준 텐서 추상화를 사용함에도 불구하고 마이크로 벤치마크에서 수작업으로 작성된 C++ 및 CUDA 커널보다 성능가 뛰어났습니다.
  • 이 방법은 CPU 및 GPU를 포함한 다양한 하드웨어에서 전체 머신러닝 파이프라인의 종단 간 가속을 가능하게 하며, 최소한의 엔지니어링 오버헤드를 수반합니다.
  • 시스템은 확장 가능하며, 향후 DNN 프레임워크의 개선 사항을 추가 작업 없이도 유용하게 활용할 수 있습니다.

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

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

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

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