ONNX Runtime (크로스 플랫폼 추론 가속)
ONNX Runtime (크로스 플랫폼 추론 가속)
모델을 파이토치로 훈련하고 나서, 서빙은 그대로 같은 프레임워크로 하면 느릴 때가 많아요. ONNX Runtime은 ONNX 포맷으로 내보낸 모델을 다양한 하드웨어에서 가속해 주는 크로스 플랫폼 추론 엔진이에요. 파이토치, 텐서플로, scikit-learn 등 여러 프레임워크로 만든 모델을 읽어서 돌릴 수 있죠.
원리는 간단해요. (1) 훈련한 모델을 ONNX 포맷으로 내보내고, (2) InferenceSession으로 로드해서 추론하고, (3) 필요하면 실행 공급자(Execution Provider)나 양자화로 성능을 조절해요. 그래프 최적화를 먼저 적용하고, 하드웨어별 가속기가 있는 부분은 그 실행 공급자로 나눠서 처리해요.
핵심 개념
- ONNX 포맷: 프레임워크 간 모델 교환 표준
- InferenceSession: ONNX 모델을 로드해 추론하는 핵심 객체
- Execution Provider: CUDA, TensorRT, OpenVINO 등 하드웨어별 가속기
- 그래프 최적화·양자화: 추론 성능 튜닝 방법