ML Model Serving: 학습된 ML 모델을 프로덕션 환경에서 예측 API로 제공하는 시스템. 모델 로딩, 스케일링, 전/후처리, 모니터링 등을 자동화.
B) Model Server의 역할
flowchart LR
Client["클라이언트"]
Client --> API["예측 API"]
subgraph Server["Model Server"]
API --> Pre["전처리"]
Pre --> Model["모델 추론"]
Model --> Post["후처리"]
end
Post --> Response["응답"]
style Server fill:#e3f2fd
특징: - TensorFlow SavedModel 형식 지원 - gRPC/REST API 자동 생성 - 모델 버전 관리 내장 - 배치 추론 지원사용 예: docker run -p 8501:8501 \ --mount type=bind,source=/models/my_model,target=/models/my_model \ -e MODEL_NAME=my_model \ tensorflow/serving
C.3) TorchServe
특징: - PyTorch 모델 (.pt, .pth) 지원 - 커스텀 핸들러로 전/후처리 정의 - 모델 아카이브 (.mar) 패키징 - Metrics API 내장사용 예: torch-model-archiver --model-name my_model \ --version 1.0 \ --model-file model.py \ --serialized-file model.pth \ --handler handler.py
C.4) NVIDIA Triton
특징: - 멀티 프레임워크 (TF, PyTorch, ONNX, TensorRT) - Dynamic Batching - Model Ensemble (파이프라인) - GPU 메모리 최적화사용 사례: - 고성능 GPU 추론 필요 시 - 여러 프레임워크 모델 통합 서빙