Model Serving
모델 서빙이 학습된 모델과 프로덕션 사이의 간극을 어떻게 메우는지 알아보십시오. Ultralytics 플랫폼에서 Ultralytics YOLO26을 위한 배포 전략을 살펴보십시오.
모델 서빙은 학습된 머신러닝 모델을 호스팅하고 네트워크 인터페이스를 통해 소프트웨어 애플리케이션에서 모델의 기능을 사용할 수 있도록 만드는 프로세스입니다. 이는 디스크에 저장된 정적 모델 파일과 실제 데이터를 처리하는 라이브 시스템 사이의 가교 역할을 합니다. 모델이 머신러닝(ML) 학습 단계를 완료하면 이미지, 텍스트 또는 표 데이터와 같은 입력을 받아 예측 결과를 반환할 수 있는 프로덕션 환경에 통합되어야 합니다. 이는 일반적으로 모델을 API(Application Programming Interface)로 래핑하여 웹 서버, 모바일 앱 또는 IoT 기기와 통신할 수 있게 함으로써 구현됩니다.
Link to this sectionAI에서 모델 서빙의 역할#
The primary goal of model serving is to operationalize predictive modeling capabilities effectively. While training focuses on accuracy and loss minimization, serving focuses on performance metrics like latency (how fast a prediction is returned) and throughput (how many requests can be handled per second). Robust serving infrastructure ensures that computer vision (CV) systems remain reliable under heavy loads. It often involves technologies like containerization using tools such as Docker, which packages the model with its dependencies to ensure consistent behavior across different computing environments.
Link to this section실제 애플리케이션 사례#
모델 서빙은 데이터를 기반으로 즉각적인 의사결정을 가능하게 함으로써 다양한 산업 전반에 걸쳐 보편적인 AI 기능을 제공합니다.
- 스마트 제조: 산업 환경에서 제조 분야의 AI 시스템은 서빙된 모델을 사용하여 조립 라인을 검사합니다. 부품의 고해상도 이미지가 로컬 서버로 전송되면, YOLO26 모델이 흠집이나 정렬 불량과 같은 결함을 감지하고 즉각적인 알림을 트리거하여 결함이 있는 제품을 제거합니다.
- 소매 자동화: 소매업체는 소매 분야의 AI를 활용하여 고객 경험을 향상합니다. 객체 탐지(object detection) 모델로 서빙되는 카메라는 체크아웃 구역에 있는 제품을 식별하여 수동 바코드 스캔 없이도 자동으로 총비용을 합산합니다.
Link to this section실제 구현#
모델을 효과적으로 서빙하려면 모델을 내보내는 것(export models)이 유리할 때가 많으며, 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.")Link to this section올바른 전략 선택하기#
서빙 전략의 선택은 구체적인 사용 사례에 크게 의존합니다. **온라인 서빙(Online Serving)**은 REST나 gRPC와 같은 프로토콜을 통해 즉각적인 응답을 제공하며, 이는 사용자 대면 웹 애플리케이션에 필수적입니다. 반대로 **배치 서빙(Batch Serving)**은 대용량 데이터를 오프라인으로 처리하며, 야간 보고서 생성과 같은 작업에 적합합니다. 인터넷 의존성 없이 프라이버시나 낮은 지연 시간이 필요한 애플리케이션의 경우, Edge AI가 서빙 프로세스를 기기로 직접 이동시키며 TensorRT와 같이 최적화된 형식을 활용하여 제한된 하드웨어 환경에서 성능을 극대화합니다. 많은 조직이 Ultralytics Platform을 활용하여 클라우드 API 및 엣지 기기를 포함한 다양한 엔드포인트로 모델을 더 쉽게 배포합니다.
Link to this section관련 용어와의 차이점#
밀접한 관련이 있지만, "모델 서빙"은 모델 배포(Model Deployment) 및 **추론(Inference)**과는 구별됩니다.
- 모델 배포(Model Deployment): 이는 모델을 프로덕션 환경에 릴리스하는 더 광범위한 수명 주기 단계를 의미합니다. 서빙은 배포된 모델을 실행하는 데 사용되는 구체적인 메커니즘 또는 소프트웨어(NVIDIA Triton Inference Server 또는 TorchServe 등)입니다.
- Inference: This is the mathematical act of calculating a prediction from an input. Model serving provides the infrastructure (networking, scalability, and security) that allows inference to happen reliably for end-users.
- 마이크로서비스(Microservices): 서빙은 종종 마이크로서비스(microservices) 세트로 아키텍처가 구성되며, 여기서 모델은 애플리케이션의 다른 부분이 쿼리할 수 있는 독립적인 서비스로 실행되고 종종 JSON과 같은 경량 형식으로 데이터를 교환합니다.






