Model Serving
모델 서빙이 학습된 모델과 프로덕션 환경 사이의 격차를 어떻게 해소하는지 알아보세요. Ultralytics Platform에서 Ultralytics YOLO26의 배포 전략을 살펴보세요.
모델 서빙은 학습된 머신러닝 모델을 호스팅하고 네트워크 인터페이스를 통해 해당 기능을 소프트웨어 애플리케이션에서 사용할 수 있도록 하는 프로세스입니다. 이는 디스크에 저장된 정적 모델 파일과 실제 데이터를 처리하는 라이브 시스템을 연결하는 다리 역할을 합니다. 모델이 머신러닝 (ML) 학습 단계를 완료하면 이미지, 텍스트 또는 표 형식 데이터와 같은 입력을 받고 예측을 반환할 수 있는 프로덕션 환경에 통합해야 합니다. 일반적으로 모델을 애플리케이션 프로그래밍 인터페이스 (API)로 래핑하여 웹 서버, 모바일 앱 또는 IoT 디바이스와 통신할 수 있도록 함으로써 이를 구현합니다.
AI에서 모델 서빙의 역할#
모델 서빙의 주요 목표는 예측 모델링 기능을 효과적으로 운영하는 것입니다. 학습이 정확도와 손실 최소화에 중점을 둔다면, 서빙은 지연 시간(예측이 반환되는 속도) 및 처리량(초당 처리할 수 있는 요청 수)과 같은 성능 지표에 중점을 둡니다. 견고한 서빙 인프라는 높은 부하에서도 컴퓨터 비전 (CV) 시스템의 안정적인 작동을 보장합니다. 또한 모델과 종속 항목을 함께 패키징하여 서로 다른 컴퓨팅 환경에서 일관된 동작을 보장하는 Docker와 같은 도구를 사용한 컨테이너화 기술이 자주 활용됩니다.
실제 적용 사례#
모델 서빙은 데이터에 기반한 즉각적인 의사 결정을 지원하여 다양한 산업 전반의 보편적인 AI 기능을 구현합니다.
- 스마트 제조: 산업 환경에서 제조 분야의 AI 시스템은 서빙되는 모델을 사용하여 조립 라인을 검사합니다. 부품의 고해상도 이미지가 로컬 서버로 전송되면 YOLO26 모델이 긁힘이나 정렬 불량과 같은 결함을 감지하고, 결함이 있는 제품을 제거하도록 즉시 알림을 트리거합니다.
- 리테일 자동화: 소매업체는 리테일 분야의 AI를 활용하여 고객 경험을 향상합니다. 객체 감지 모델이 제공하는 카메라는 계산 구역의 제품을 식별하고 총비용을 자동으로 집계하므로 수동으로 바코드를 스캔할 필요가 없습니다.
실제 구현#
모델을 효과적으로 서빙하려면 모델을 내보내기하여 ONNX와 같은 표준 형식으로 변환하는 것이 유용한 경우가 많습니다. 이를 통해 서로 다른 학습 프레임워크와 서빙 엔진 간의 상호 운용성이 향상됩니다. 다음 예제는 Python을 사용하여 모델을 로드하고 추론을 실행하는 방법을 보여 주며, 서빙 엔드포인트 내부에 존재할 로직을 시뮬레이션합니다.
from ultralytics import YOLO
# Load the YOLO26 model (this typically happens once when the server starts)
model = YOLO("yolo26n.pt")
# Simulate an incoming API request with an image source URL
image_source = "https://ultralytics.com/images/bus.jpg"
# Run inference to generate predictions for the user
results = model.predict(source=image_source)
# Process results (e.g., simulating a JSON response to a client)
print(f"Detected {len(results[0].boxes)} objects in the image.")적합한 전략 선택#
서빙 전략의 선택은 구체적인 사용 사례에 크게 좌우됩니다. 온라인 서빙은 REST 또는 gRPC와 같은 프로토콜을 통해 즉각적인 응답을 제공하므로 사용자 대상 웹 애플리케이션에 필수적입니다. 반대로 배치 서빙은 대량의 데이터를 오프라인으로 처리하므로 야간 보고서 생성과 같은 작업에 적합합니다. 인터넷에 의존하지 않으면서 개인정보 보호 또는 짧은 지연 시간이 필요한 애플리케이션의 경우, 엣지 AI는 서빙 프로세스를 디바이스로 직접 이동시키며, TensorRT와 같은 최적화된 형식을 활용하여 제한된 하드웨어에서 성능을 극대화합니다. 많은 조직이 Ultralytics Platform을 활용하여 클라우드 API와 엣지 디바이스를 비롯한 다양한 엔드포인트에 이러한 모델을 배포하는 과정을 간소화합니다.
관련 용어와의 구분#
서로 밀접하게 관련되어 있지만 "모델 서빙"은 모델 배포 및 추론과는 구별됩니다.
- 모델 배포: 모델을 프로덕션 환경에 릴리스하는 더 광범위한 수명 주기 단계를 의미합니다. 서빙은 배포된 모델을 실행하는 데 사용되는 구체적인 메커니즘 또는 소프트웨어(NVIDIA Triton Inference Server 또는 TorchServe 등)입니다.
- 추론: 입력으로부터 예측을 계산하는 수학적 작업입니다. 모델 서빙은 최종 사용자가 안정적으로 추론을 수행할 수 있도록 네트워킹, 확장성 및 보안을 비롯한 인프라를 제공합니다.
- 마이크로서비스: 서빙은 마이크로서비스 집합으로 설계되는 경우가 많습니다. 이때 모델은 애플리케이션의 다른 부분에서 쿼리할 수 있는 독립적인 서비스로 실행되며, 일반적으로 JSON과 같은 경량 형식으로 데이터를 주고받습니다.









