Model Deployment
머신 러닝 모델을 클라우드 또는 엣지 환경에 배포하는 방법을 알아봅니다. Ultralytics Platform이 YOLO26의 내보내기와 프로덕션 배포를 간소화하는 방법을 살펴봅니다.
모델 배포는 학습된 머신러닝 모델을 프로덕션 환경에 통합하여 새로운 데이터를 기반으로 실질적인 의사 결정이나 예측을 수행하도록 하는 중요한 단계입니다. 이는 연구 또는 실험 환경(대개 격리된 노트북에서 수행됨)에서 모델이 실제 사용자 및 시스템과 상호 작용하는 라이브 애플리케이션으로 전환되는 과정을 의미합니다. 이 프로세스는 가중치와 아키텍처로 구성된 정적 파일을 동영상 피드에서 객체를 식별하거나 웹사이트에서 제품을 추천하는 등 가치를 창출할 수 있는 활성 AI 에이전트로 변환합니다.
효과적인 배포를 위해서는 모델 학습과는 다른 지연 시간, 확장성, 하드웨어 호환성 등의 문제를 해결해야 합니다. 조직에서는 이 수명 주기를 간소화하기 위해 Ultralytics Platform을 사용하는 경우가 많습니다. 이를 통해 클라우드에서 학습된 모델을 강력한 서버부터 리소스가 제한된 엣지 디바이스까지 다양한 환경에 원활하게 제공할 수 있습니다.
배포 환경#
배포 전략은 일반적으로 클라우드 배포와 엣지 배포라는 두 가지 범주로 나뉩니다. 선택은 속도, 개인정보 보호, 연결성에 대한 구체적인 요구 사항에 크게 좌우됩니다.
- 클라우드 배포: 모델은 중앙 집중식 서버에 상주하며, AWS SageMaker 또는 Google Vertex AI와 같은 서비스에서 관리되는 경우가 많습니다. 애플리케이션은 REST API를 통해 인터넷으로 모델에 데이터를 전송하고, 모델은 요청을 처리한 후 결과를 반환합니다. 이 방식은 사실상 무제한의 컴퓨팅 성능을 제공하므로 대규모의 복잡한 모델에 적합하지만, 안정적인 인터넷 연결에 의존합니다.
- 엣지 배포: 모델은 스마트폰, 드론, 공장 카메라 등 데이터가 생성되는 디바이스에서 로컬로 실행됩니다. 엣지 컴퓨팅이라고 하는 이 접근 방식은 데이터가 디바이스 외부로 전송되지 않으므로 지연 시간을 최소화하고 데이터 개인정보 보호를 강화합니다. TensorRT와 같은 도구는 이러한 환경에 맞게 모델을 최적화하는 데 자주 사용됩니다.
프로덕션을 위한 모델 준비#
모델을 배포하기 전에 일반적으로 대상 하드웨어에서 효율적으로 실행되도록 최적화합니다. 이 프로세스에는 모델 내보내기가 포함되며, 학습 형식(예: PyTorch)을 ONNX(개방형 신경망 교환 형식) 또는 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}")실제 적용 사례#
모델 배포는 다양한 산업 분야에서 널리 사용되는 컴퓨터 비전 시스템을 구동합니다.
- 제조 품질 관리: 스마트 제조 환경에서는 배포된 모델이 컨베이어 벨트를 실시간으로 모니터링합니다. NVIDIA Jetson 디바이스에 맞게 최적화된 모델을 실행하는 카메라 시스템은 제품의 결함을 즉시 감지하여 로봇 팔이 불량품을 제거하도록 작동시킬 수 있습니다. 이를 위해서는 엣지 AI 배포만이 제공할 수 있는 초저지연이 필요합니다.
- 리테일 분석: 매장에서는 배포된 모델을 사용하여 유동 인구와 고객 행동을 분석합니다. 리테일 업체는 객체 추적 모델을 보안 카메라 피드에 통합하여 고객이 많이 찾는 통로의 히트맵을 생성할 수 있습니다. 이러한 인사이트는 매장 레이아웃을 최적화하고 재고 관리를 개선하는 데 도움이 되며, 여러 지점의 데이터를 집계하기 위해 클라우드 기반 배포를 활용하는 경우가 많습니다.
배포, 추론, 학습 비교#
머신러닝 수명 주기에서 모델 배포를 관련 용어와 구분하는 것이 중요합니다.
- 모델 학습은 알고리즘이 데이터셋에서 패턴을 학습하는 교육 단계입니다.
- 모델 배포는 학습된 모델을 프로덕션 인프라(서버, 앱 또는 디바이스)에 설치하는 통합 단계입니다.
- 추론은 배포된 모델이 라이브 데이터를 처리하여 예측을 생성하는 실제 운영 단계입니다. 예를 들어 추론 엔진은 배포된 모델에 정의된 계산을 실행합니다.
모니터링 및 유지 관리#
배포가 마지막 단계는 아닙니다. 모델을 운영 환경에 배포한 후에는 실제 데이터가 학습 데이터와 달라지기 시작하는 데이터 드리프트와 같은 문제를 감지하기 위해 지속적인 모델 모니터링이 필요합니다. 성능 지표를 추적하여 시스템의 안정성을 장기간 유지할 수 있도록 Prometheus 또는 Grafana와 같은 도구를 통합하는 경우가 많습니다. 성능이 저하되면 모델을 다시 학습하고 재배포해야 할 수 있으며, 이를 통해 MLOps의 주기가 완료됩니다.






