본문으로 이동

ONNX Runtime

Conaonda Wiki

ONNX RuntimeONNX(Open Neural Network Exchange) 형식으로 저장된 머신 러닝 모델을 실행하는 고성능 추론 엔진이다. Microsoft가 주도하여 개발하며, 다양한 하드웨어 가속기와 실행 공급자를 통해 크로스 플랫폼 추론을 지원한다.

개요

ONNX Runtime은 2018년 첫 공개 이후 PyTorch, TensorFlow 등 주요 프레임워크에서 내보낸 ONNX 모델을 실행하는 사실상의 표준 추론 엔진으로 자리잡았다. 학습보다는 추론에 특화되어 있으며, CPU뿐 아니라 GPU, NPU, FPGA 등 다양한 하드웨어에서 최적화된 실행을 제공한다.

실행 공급자(Execution Provider)

ONNX Runtime의 핵심 설계 요소로, 실행 공급자(EP)를 교체함으로써 동일한 모델을 서로 다른 하드웨어에서 실행할 수 있다.

  • CPU — 기본 실행 공급자, Intel MKL-ML 최적화 포함
  • CUDA — NVIDIA GPU 가속
  • DirectML — Windows의 모든 DirectX 12 GPU에서 가속
  • TensorRT — NVIDIA GPU 고성능 추론
  • OpenVINO — Intel CPU/GPU/iGPU/NPU
  • CoreML — Apple Silicon (macOS/iOS)
  • QNN — Qualcomm NPU
  • WebNN — 웹 브라우저 기반 추론

활용 사례

로컬 AI

llama.cpp올라마 등이 ONNX 모델을 지원하며, ONNX Runtime을 통해 다양한 하드웨어 가속을 활용한다. 특히 Stable DiffusionONNX 변환 모델을 ONNX Runtime + DirectML 조합으로 AMD GPU에서 실행하는 방식이 널리 쓰인다.

엣지 및 모바일

ONNX Runtime Mobile 패키지는 Android/iOS 환경에서 경량화된 추론을 지원하며, Qualcomm QNN, Apple CoreML 등 모바일 특화 실행 공급자와 통합된다.

함께 보기

출처