Model Serving
모델 서빙이 학습된 모델과 프로덕션 사이의 간극을 어떻게 메우는지 알아보십시오. Ultralytics 플랫폼에서 Ultralytics YOLO26을 위한 배포 전략을 살펴보십시오.
모델 서빙은 학습된 머신러닝 모델을 호스팅하고 네트워크 인터페이스를 통해 소프트웨어 애플리케이션에서 해당 기능을 사용할 수 있도록 만드는 프로세스입니다. 이는 디스크에 저장된 정적 모델 파일과 실제 데이터를 처리하는 라이브 시스템 간의 다리 역할을 합니다. 모델이 machine learning (ML) 학습 단계를 완료하면 이미지, 텍스트, 표 형식 데이터 등의 입력을 받아 예측을 반환할 수 있는 프로덕션 환경에 통합되어야 합니다. 이는 일반적으로 모델을 Application Programming Interface (API)로 감싸서 웹 서버, 모바일 앱 또는 IoT 장치와 통신할 수 있도록 함으로써 달성됩니다.
AI에서 모델 서빙의 역할#
모델 서빙의 주요 목표는 predictive modeling 기능을 효과적으로 운영하는 것입니다. 학습은 정확도와 손실 최소화에 초점을 맞추는 반면, 서빙은 latency(예측이 반환되는 속도) 및 throughput(초당 처리할 수 있는 요청 수)과 같은 성능 지표에 중점을 둡니다. 강력한 서빙 인프라는 computer vision (CV) 시스템이 과부하 상태에서도 안정적으로 유지되도록 보장합니다. 여기에는 Docker와 같은 도구를 사용한 containerization 기술이 자주 포함되며, 이는 모델을 종속성과 패키징하여 서로 다른 컴퓨팅 환경에서 일관된 동작을 보장합니다.
실제 애플리케이션 사례#
모델 서빙은 데이터를 기반으로 즉각적인 의사결정을 가능하게 함으로써 다양한 산업 전반에 걸쳐 보편적인 AI 기능을 제공합니다.
- 스마트 제조: 산업 환경에서 AI in manufacturing 시스템은 서빙된 모델을 사용하여 조립 라인을 검사합니다. 부품의 고해상도 이미지가 로컬 서버로 전송되고, 여기서 YOLO26 모델이 긁힘이나 정렬 불량 같은 결함을 감지하여 결함이 있는 항목을 제거하도록 즉시 경고를 보냅니다.
- 소매 자동화: 소매업체는 AI in retail을 활용하여 고객 경험을 향상합니다. object detection 모델로 서비스되는 카메라는 체크아웃 구역에서 제품을 식별하고, 수동 바코드 스캔 없이 총 비용을 자동으로 계산합니다.
실제 구현#
모델을 효과적으로 서빙하려면 서로 다른 학습 프레임워크와 서빙 엔진 간의 상호 운용성을 촉진하는 ONNX 같은 표준화된 형식으로 export models하는 것이 유용합니다. 다음 예제는 모델을 로드하고 추론을 실행하는 방법을 보여주며, 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 같은 프로토콜을 통해 즉각적인 응답을 제공하며, 이는 사용자 대면 웹 애플리케이션에 필수적입니다. 반대로 배치 서빙은 야간 보고서 생성과 같은 작업에 적합한 오프라인 대용량 데이터를 처리합니다. 프라이버시나 인터넷 연결 없는 저지연이 필요한 애플리케이션의 경우, Edge AI는 서빙 프로세스를 장치로 직접 이동시켜 TensorRT 같은 최적화된 형식을 활용하여 제약된 하드웨어에서 성능을 극대화합니다. 많은 조직이 Ultralytics Platform을 활용하여 클라우드 API 및 엣지 장치를 포함한 다양한 엔드포인트로 이러한 모델의 배포를 단순화합니다.
관련 용어와의 차이점#
밀접한 관련이 있지만, "모델 서빙"은 모델 배포(Model Deployment) 및 **추론(Inference)**과는 구별됩니다.
- 모델 배포: 이는 모델을 프로덕션 환경에 릴리스하는 더 넓은 수명 주기 단계를 말합니다. 서빙은 배포된 모델을 실행하는 데 사용되는 특정 메커니즘 또는 소프트웨어(NVIDIA Triton Inference Server 또는 TorchServe 등)입니다.
- 추론: 이는 입력으로부터 예측을 계산하는 수학적 행위입니다. 모델 서빙은 최종 사용자를 위해 inference가 안정적으로 이루어지도록 하는 인프라(네트워킹, scalability, 보안)를 제공합니다.
- 마이크로서비스: 서빙은 종종 microservices 세트로 아키텍처가 구성되며, 여기서 모델은 애플리케이션의 다른 부분이 쿼리할 수 있는 독립형 서비스로 실행되며 JSON 같은 경량 형식으로 데이터를 교환합니다.






