[논문 리뷰] Extending Relational Query Processing with ML Inference
Raven는 ONNX 런타임과 통합된 중간 표현형(IR)을 통해 SQL Server 내부에서 머신러닝 추론을 깊이 통합함으로써 관계형 및 머신러닝 연산자 간의 교차 최적화를 가능하게 하여, 네이티브 실행과 고급 쿼리 최적화를 활용해 독립형 추론 프레임워크 대비 최대 24배의 성능 향상을 달성한다.
The broadening adoption of machine learning in the enterprise is increasing the pressure for strict governance and cost-effective performance, in particular for the common and consequential steps of model storage and inference. The RDBMS provides a natural starting point, given its mature infrastructure for fast data access and processing, along with support for enterprise features (e.g., encryption, auditing, high-availability). To take advantage of all of the above, we need to address a key concern: Can in-RDBMS scoring of ML models match (outperform?) the performance of dedicated frameworks? We answer the above positively by building Raven, a system that leverages native integration of ML runtimes (i.e., ONNX Runtime) deep within SQL Server, and a unified intermediate representation (IR) to enable advanced cross-optimizations between ML and DB operators. In this optimization space, we discover the most exciting research opportunities that combine DB/Compiler/ML thinking. Our initial evaluation on real data demonstrates performance gains of up to 5.5x from the native integration of ML in SQL Server, and up to 24x from cross-optimizations--we will demonstrate Raven live during the conference talk.
연구 동기 및 목표
- 기업용 관계형 데이터베이스 관리 시스템(RDBMS) 환경 내에서 고성능, 보안성, 통제 가능성을 확보한 머신러닝 추론을 달성하고자 하는 것.
- RDBMS 내부에서의 머신러닝 추론이 전용 머신러닝 프레임워크의 성능을 따라하거나 뛰어넘을 수 있는지 조사하는 것.
- 관계대수 및 쿼리 최적화 기법에 머신러닝 스코어링과 모델 파이프라인을 위한 네이티브 지원을 통합하는 것.
- 보안, 감사, 고가용성과 같은 엔터프라이즈 데이터베이스 기능에 완전 통합된 상태에서 표준 SQL을 사용해 머신러닝 모델을 원활하게 배포하고 실행할 수 있도록 하는 것.
- 통합된 실행 프레임워크 내에서 관계형 연산자(예: 조인, 집계)와 머신러닝 연산자(예: 추론, 특성화) 간의 새로운 교차 최적화 방법을 탐색하는 것.
제안 방법
- Raven는 SQL 쿼리와 파이썬 기반 머신러닝 파이프라인을 관계형 및 머신러닝 연산자를 모두 포함하는 통합된 중간 표현형(IR)으로 캡처하기 위해 정적 분석기를 사용한다.
- 시스템은 IR 내에서 ML 추론을 스캔 및 조인 연산자로 푸시다하는 등의 새로운 교차 연산자 최적화를 적용하여 데이터 이동을 최소화하고 효율성을 향상시킨다.
- Raven는 ONNX 런타임을 SQL Server 내부에 네이티브로 통합하여, 최소한의 지연 시간으로 저지연, 인라인 실행이 가능한 ONNX 호환 모델을 실행할 수 있도록 한다.
- 지원되지 않는 모델 파이프라인의 경우, Raven는 외부 언어 런타임(예: 파이썬/R) 또는 도커 및 REST 엔드포인트 기반의 컨테이너 기반 추론을 통해 외부 프로세스 실행 방식으로 대체한다.
- 최적화된 IR는 SQL Server에서 컴파일되고 실행되며, 데이터 및 모델 처리 모두에 대해 네이티브 병렬 실행 및 쿼리 실행 엔진을 활용한다.
- 성능 측정은 다양한 데이터 크기와 모델 유형을 대상으로 하며, Raven를 독립형 ONNX 런타임 및 외부 실행 방식과 비교하여 수행된다.
실험 결과
연구 질문
- RQ1RDBMS 내부에서의 머신러닝 모델 스코어링이 전용 머신러닝 추론 프레임워크와 비교해 성능 면에서 유사하거나 뛰어나게 구현될 수 있는가?
- RQ2관계형 연산자와 머신러닝 연산자 간의 교차 최적화가 종단 간 추론 지연을 얼마나 효과적으로 줄이는가?
- RQ3관계형 데이터베이스 엔진 내부에 머신러닝 추론을 네이티브로 통합함으로써 발생하는 성능 오버헤드는 어느 정도인가?
- RQ4쿼리 최적화, 캐싱, 병렬 실행과 같은 네이티브 데이터베이스 기능이 머신러닝 추론 성능 향상에 어느 정도 기여하는가?
- RQ5통합된 IR이 다양한 머신러닝 프레임워크와 데이터 처리 파이프라인 간 최적화를 어떻게 가능하게 하는가?
주요 결과
- Raven가 SQL Server 내부에 ONNX 런타임을 네이티브로 통합함으로써, 독립형 ONNX 런타임 실행 대비 최대 5.5배의 속도 향상을 달성한다.
- 관계형 연산자와 머신러닝 연산자 간의 교차 최적화로 인해 최대 24배의 성능 향상이 발생하며, 특히 대규모 데이터 처리에서 두드러진다.
- 작은 데이터셋(예: 100개 튜플)의 경우, SQL Server 내 모델 및 세션 캐싱 덕분에 Raven가 독립형 ONNX 런타임보다 최대 10배 빠른 성능을 보인다.
- 대규모 데이터셋(100만~1000만 개 튜플)의 경우, SQL Server에서 스캔 및 PREDICT 연산자의 자동 병렬화 덕분에 Raven가 ORT 대비 약 5배의 속도 향상을 달성한다.
- 외부 프로세스 실행(Raven Ext)의 오버헤드는 약 0.5초/호출 수준이며, 지원되지 않는 파이프라인에 대해서도 실용적인 성능을 유지한다.
- Raven의 배치 추론은 개별 튜플 추론 대비 순서 수준의 성능 향상을 제공하며, 최적의 배치 크기는 주요 튜닝 파rameter이다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.