모델 배포
모델 배포의 핵심 사항을 알아보고, ML 모델을 예측, 자동화 및 AI 기반 통찰력을 위한 실제 도구로 전환하는 방법을 알아보세요.
모델 배포는 머신 러닝 라이프사이클에서 학습된
머신 러닝(ML) 모델이 프로덕션 환경에 통합되어
프로덕션 환경에 통합하는 중요한 단계입니다. 이는 모델을 학습하고 통제된 환경에서 검증하는 개발 단계와
제어된 환경에서 모델을 학습하고 검증하는 개발 단계와 실행 가능한 인사이트를 제공하여 가치를 창출하는
인사이트를 제공합니다. 효과적인 배포가 이루어지지 않으면 아무리 정교한
신경망(NN)은 정적 파일로 남아 최종 사용자와 상호작용할 수 없으며
최종 사용자 또는 외부 소프트웨어 시스템과 상호 작용할 수 없습니다. 가장 중요한 목표는 모델의 예측 기능을
모바일 앱부터 엔터프라이즈 클라우드 서비스까지 다양한 애플리케이션에 대해 액세스 가능하고, 안정적이며, 확장 가능한
서비스.
배포 파이프라인
연구 환경에서 프로덕션 환경으로 모델을 전환하려면 일반적으로 다음과 같이 설계된 구조화된 파이프라인이 필요합니다.
성능과 안정성을 보장하도록 설계된 파이프라인이 필요합니다.
-
모델 최적화: 모델이 훈련 환경을 떠나기 전에 종종 다음과 같은
모델 최적화를 통해
실행 속도를 개선하고 메모리 사용량을 줄이기 위해 다음과 같은 기술은
양자화 같은 기술은
모델의 가중치(예: 32비트 부동 소수점에서 8비트 정수로)를 낮추어 계산 요구 사항을 대폭 낮추고
정확도에 미치는 영향은 최소화합니다.
-
모델 내보내기: 최적화된 모델은 트레이닝 프레임워크와 독립적인 표준 형식으로 변환됩니다.
트레이닝 프레임워크와 독립적인 표준 형식으로 변환됩니다. 다음과 같은 형식은
ONNX (개방형 신경망 교환)
와 같은 형식을 사용하면 PyTorch 훈련된 모델을 다양한 추론 엔진에서 실행할 수 있습니다. 하드웨어별 가속을 위해 개발자는
는 TensorRT 로 내보내거나, NVIDIA GPU의 경우 OpenVINO
Intel CPU.
-
컨테이너화: 모델이 여러 컴퓨팅 환경에서 일관되게 실행되도록 하려면
컨테이너화를 사용하는 것이 일반적입니다.
Docker와 같은 도구는 모델과 해당 모델에 대한
종속성 및 런타임 환경을 하나의 경량 단위로 패키지화하여 "내 컴퓨터에서 작동하는" 문제를 제거합니다.
머신에서 작동한다"는 문제를 제거합니다.
-
오케스트레이션 및 확장: 수요가 많은 시나리오에서는 배포된 컨테이너를 다음과 같은
오케스트레이션 시스템에 의해 관리됩니다. 이러한 플랫폼은
확장성, 새 모델 자동 가동
인스턴스를 자동으로 가동하여 트래픽 급증을 처리하고 고가용성을 보장합니다.
배포 환경
환경 선택은 애플리케이션의 다음과 같은 요구 사항에 따라 크게 달라집니다.
추론 지연 시간, 데이터 프라이버시, 그리고
연결성.
-
클라우드 배포: 다음과 같은 클라우드 플랫폼에서 호스팅 모델
AWS SageMaker 또는
Google 버텍스 AI는 사실상 무제한의 컴퓨팅 성능과
손쉬운 확장성을 제공합니다. 이는 복잡한
대규모 언어 모델(LLM) 또는 일괄 처리
실시간 응답이 덜 중요한 일괄 처리 작업에 이상적입니다.
-
엣지 AI: 인터넷 없이 실시간 추론이 필요한
인터넷에 의존하지 않는 실시간 추론
모델을 로컬 디바이스에 직접 배포합니다.
엣지 AI는 다음과 같은 소형 하드웨어를 활용합니다.
NVIDIA Jetson 또는
라즈베리 파이와 같은 소형 하드웨어를 활용하여 소스에서 데이터를 처리합니다. 이 접근 방식은 지연 시간을 최소화하고
지연 시간을 최소화하고 데이터 프라이버시를 강화합니다.
민감한 정보를 디바이스에 보관합니다.
-
브라우저 기반: TensorFlow.js와 같은 프레임워크를 사용하면
모델은 클라이언트의 하드웨어를 사용하여 웹 브라우저 내에서 전적으로 실행할 수 있습니다. 이 제로 인스톨 접근 방식은 다음과 같은 경우에 탁월합니다.
대화형 웹 애플리케이션 및 경량
컴퓨터 비전(CV) 작업에 탁월합니다.
실제 애플리케이션
-
자동화된 제조 품질 관리: 공장 환경에서는
YOLO11 객체 감지 모델이 컨베이어 벨트 위의 카메라에 연결된 엣지
컨베이어 벨트 위의 카메라에 연결된 장치에 배치됩니다. 제품이 지나가면 이 모델은 실시간으로
이상 감지를 수행하여 다음과 같은 결함을 식별합니다.
균열 또는 잘못 정렬된 라벨. 이 시스템은 즉시 기계식 암을 작동시켜 결함이 있는 품목을 제거하므로 수작업 검사에 비해
수작업 검사에 비해 효율성이 크게 향상됩니다. 자세히 알아보기
제조 분야의 AI.
-
스마트 리테일 분석: 소매업체가 배포하는
객체 추적 모델을 배포하여
객체 추적 모델을 배포합니다. 이 시스템은 로컬 서버에서 비디오 피드를 처리하여 트래픽이 많은 지역의 히트맵을 생성하고
영역의 히트맵을 생성하고 대기열 길이를 모니터링합니다. 이 데이터는 관리자가 매장 레이아웃과 직원 배치 수준을 최적화하는 데 도움이 됩니다. 방법 보기
쇼핑 경험을 혁신하는 소매업의 AI
쇼핑 경험을 혁신하는 방법을 알아보세요.
관련 개념: 배포 대 서빙 대 MLOps
"모델 배포"를 에코시스템의 관련 용어와 구별하는 것이 중요합니다:
-
모델 배포와 모델 서비스: 배포는 모델을 프로덕션에 적용하는 가장 중요한 프로세스를 의미합니다. 모델 제공은 특정
메커니즘 또는 소프트웨어(예
NVIDIA Triton 추론 서버 또는
TorchServe 등)를 통해 API 요청을 수신하고 모델을 실행하여
예측을 생성합니다. 서빙은 배포의 구성 요소입니다.
-
모델 배포 대
MLOps: 배포는 광범위한 MLOps 프레임워크 내의 단일 단계입니다. MLOps(머신 러닝 운영)는 다음을 포함합니다.
데이터 수집, 학습, 평가, 배포 및 지속을 포함한 전체 수명 주기
모델 모니터링을 포함한 전체 라이프사이클을 포괄합니다.
데이터 드리프트.
배포를 위해 모델 내보내기
배포의 일반적인 첫 단계는 학습된 모델을 호환성이 높은 형식으로 내보내는 것입니다. 다음 예제
는 YOLO11 모델을 ONNX 형식으로 내보내는 방법을 보여줍니다. ultralytics 패키지를 준비하여
다양한 플랫폼에 배포할 수 있습니다.
from ultralytics import YOLO
# Load a pretrained YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to ONNX format for broad compatibility
# This creates 'yolo11n.onnx' which can be used in deployment environments
model.export(format="onnx")