머신러닝 모델을 클라우드 또는 엣지 환경에 배포하는 방법을 알아보세요. Ultralytics YOLO26의 내보내기 및 생산을 어떻게 간소화하는지 확인하세요.
모델 배포는 훈련된 머신러닝 모델을 실제 운영 환경에 통합하여 새로운 데이터를 기반으로 실질적인 의사결정이나 예측을 수행하는 중요한 단계입니다. 이는 연구 또는 실험 환경(종종 고립된 노트북에서 수행됨)에서 모델이 실제 사용자와 시스템과 상호작용하는 실제 애플리케이션으로의 전환을 의미합니다 모델 배포는 훈련된 머신러닝 모델을 실제 운영 환경에 통합하여 새로운 데이터를 기반으로 실질적인 의사결정이나 예측을 수행하는 핵심 단계입니다. 이는 연구 또는 실험 환경(주로 독립된 노트북에서 수행됨)에서 실제 사용자와 시스템과 상호작용하는 라이브 애플리케이션으로의 전환을 의미합니다. 이 과정을 통해 가중치와 아키텍처로 구성된 정적 파일은 동적 AI 에이전트로 변모하여, 예를 들어 영상 피드에서 물체를 식별하거나 웹사이트에서 제품을 추천하는 등 가치를 창출할 수 있게 됩니다.
효과적인 배포를 위해서는 모델 훈련과는 별개의 과제들, 즉 지연 시간, 확장성, 하드웨어 호환성 등을 해결해야 합니다. 기업들은 종종 Ultralytics 활용하여 이 라이프사이클을 간소화함으로써, 클라우드에서 훈련된 모델이 강력한 서버부터 리소스가 제한된 에지 디바이스에 이르기까지 다양한 환경에 원활하게 배포될 수 있도록 보장합니다.
배포 전략은 일반적으로 클라우드 배포와 에지 배포 두 가지 범주로 나뉩니다. 선택은 속도, 프라이버시, 연결성에 대한 구체적인 요구사항에 크게 좌우됩니다.
모델을 배포하기 전에 일반적으로 대상 하드웨어에서 효율적으로 실행되도록 최적화 과정을 거칩니다. 이 과정에는 모델 내보내기가 포함되며, 여기서 훈련 형식(예: PyTorch)이 ONNX와 같은 배포에 적합한 형식으로 변환됩니다. ONNX (Open Neural Network Exchange) 또는 OpenVINO와 같은 배포에 적합한 형식으로 변환하는 작업입니다.
양자화와 같은 최적화 기법은 정확도를 크게 저하시키지 않으면서 모델의 크기와 메모리 사용량을 줄입니다. 서로 다른 컴퓨팅 환경 간 일관성을 보장하기 위해 개발자들은 종종 Docker와 같은 컨테이너화 도구를 사용하는데, 이는 모델과 필요한 모든 소프트웨어 종속성을 함께 패키징합니다.
다음은 YOLO26 모델을 ONNX 내보내는 방법의 예시입니다. 이는 배포 준비 과정에서 흔히 수행되는 단계입니다:
from ultralytics import YOLO
# Load the YOLO26 nano model
model = YOLO("yolo26n.pt")
# Export the model to ONNX format for broad compatibility
# This creates a file suitable for various inference engines
path = model.export(format="onnx")
print(f"Model successfully exported to: {path}")
모델 배포는 다양한 산업 분야에서 널리 사용되는 컴퓨터 비전 시스템을 구동합니다.
머신러닝 라이프사이클에서 모델 배포를 관련 용어와 구분하는 것이 중요합니다:
배포는 끝이 아닙니다. 모델이 가동되면 데이터 드리프트와 같은 detect 위한 지속적인 모델 모니터링이 필요합니다. 데이터 드리프트란 실제 데이터가 훈련 데이터와 차이를 보이기 시작하는 현상을 말합니다. Prometheus나 Grafana 같은 도구를 통합하여 track 지표를 track 시스템이 시간이 지나도 안정적으로 유지되도록 합니다. 성능이 저하되면 모델을 재훈련하고 재배포해야 할 수 있으며, 이로써 MLOps의 사이클이 완성됩니다.