Yolo 비전 선전
선전
지금 참여하기
용어집

모델 서빙

모델 서빙의 필수 사항을 배우십시오. 실시간 예측, 확장성 및 애플리케이션에 대한 원활한 통합을 위해 AI 모델을 배포하십시오.

모델 제공은 머신 러닝 수명 주기의 중요한 단계로, 학습된 모델이 서버나 디바이스에서 호스팅되어 장치에 호스팅되어 실시간 추론 요청을 처리하는 중요한 단계입니다. 머신 러닝(ML) 모델이 학습되고 검증되면 학습하고 검증한 후에는 가치를 제공하기 위해 프로덕션 환경에 통합해야 합니다. Serving은 정적 모델 파일과 정적 모델 파일과 최종 사용자 애플리케이션 사이의 다리 역할을 하며, 이미지나 텍스트와 같은 텍스트 등의 수신 데이터를 수신하고 모델의 예측을 반환합니다. 이 프로세스를 통해 소프트웨어 시스템이 예측 모델링 기능을 즉각적으로 대규모로.

효과적인 모델 제공을 위해서는 모델을 메모리에 로드하고, GPU와 같은 하드웨어 리소스를 관리할 수 있는 강력한 소프트웨어 아키텍처가 필요합니다. GPU와 같은 하드웨어 리소스를 관리하고 요청을 효율적으로 처리할 수 있는 소프트웨어 아키텍처가 필요합니다. 간단한 스크립트로도 추론을 수행할 수 있지만, 프로덕션급 서비스에서는 종종 다음과 같은 전문 프레임워크를 NVIDIA Triton 추론 서버 또는 토치서브. 이러한 도구는 높은 처리량과 짧은 추론 지연 시간을 처리하도록 최적화되어 애플리케이션이 사용자 부하가 많은 상황에서도 애플리케이션의 응답성을 유지합니다.

서빙 아키텍처의 핵심 구성 요소

포괄적인 서비스 설정에는 예측을 안정적으로 제공하기 위해 여러 계층이 함께 작동하는 것이 포함됩니다.

  • 추론 엔진: 모델의 수학적 연산을 실행하는 핵심 소프트웨어입니다. 엔진은 다음과 같은 특정 하드웨어에 최적화되어 있는 경우가 많습니다. TensorRT 와 같은 특정 하드웨어에 최적화되거나 OpenVINO 를 사용하여 성능을 극대화할 수 있습니다.
  • API 인터페이스: 애플리케이션은 정의된 프로토콜을 통해 서비스 모델과 통신합니다. REST API는 단순성으로 인해 웹 통합에 일반적으로 사용되는 반면 gRPC는 고성능과 짧은 지연 시간.
  • 모델 레지스트리: 학습된 모델의 다양한 버전을 관리하기 위한 중앙 집중식 저장소입니다. 이는 새로운 모델 배포로 인해 예상치 못한 문제가 발생하는 경우 서비스 시스템을 이전 버전으로 쉽게 롤백할 수 있습니다. 모델 배포로 인해 예기치 않은 문제가 발생할 경우 서비스 시스템이 이전 버전으로 쉽게 롤백할 수 있습니다.
  • 컨테이너화: 다음과 같은 도구 Docker와 같은 도구는 종속성과 함께 모델을 격리된 격리된 컨테이너로 패키징합니다. 이를 통해 개발자의 노트북부터 클라우드의 Kubernetes 클러스터에 이르기까지 다양한 환경에서 일관성을 보장할 수 있습니다. 클라우드의 Kubernetes 클러스터에 이르기까지 다양한 환경에서 일관성을 보장합니다.
  • 로드 밸런서: 부하 분산 장치: 트래픽이 많은 시나리오에서는 로드 밸런서는 들어오는 추론 요청을 여러 모델 복제본에 분산하여 여러 모델 복제본에 분산하여 단일 서버가 병목 현상이 발생하지 않도록 하여 확장성.

실제 구현

모델을 효과적으로 제공하려면 다음과 같은 표준화된 형식으로 내보내는 것이 도움이 되는 경우가 많습니다. ONNX와 같은 표준화된 형식으로 내보내는 것이 서로 다른 트레이닝 프레임워크와 서비스 엔진 간의 상호 운용성을 촉진합니다. 다음 예는 다음과 같은 방법을 보여줍니다. 로드하는 방법을 보여줍니다. YOLO11 모델을 로드하고 추론을 실행하여 서빙 엔드포인트 내부에 존재하는 로직 을 시뮬레이션하는 방법을 보여줍니다.

from ultralytics import YOLO

# Load the YOLO11 model (this would happen once when the server starts)
model = YOLO("yolo11n.pt")

# Simulate an incoming request with an image source
image_source = "https://ultralytics.com/images/bus.jpg"

# Run inference to generate predictions
results = model.predict(source=image_source)

# Process and return the results (e.g., bounding boxes)
for box in results[0].boxes:
    print(f"Class: {box.cls}, Confidence: {box.conf}")

실제 애플리케이션

모델 서비스는 데이터를 기반으로 즉각적인 의사 결정을 내릴 수 있도록 지원하여 다양한 산업에서 유비쿼터스 AI 기능을 강화합니다. 데이터.

  • 스마트 리테일: 소매업체가 활용하는 결제 프로세스를 자동화하기 위해 소매업에서 AI를 활용합니다. 객체 감지 모델이 제공하는 카메라 는 컨베이어 벨트 위의 제품을 실시간으로 식별하여 바코드 스캔 없이도 총 비용을 집계합니다.
  • 품질 보증: 산업 환경 제조 시스템에서 AI는 조립 라인을 검사하는 모델을 사용하여 조립 라인을 검사합니다. 구성 요소의 고해상도 이미지가 로컬 엣지 서버로 전송되고, 이 서버에서 모델이 스크래치나 정렬 불량과 같은 결함을 감지하여 결함이 있는 품목을 제거하도록 즉각적인 경고를 발동합니다.
  • 금융 사기 탐지: 은행은 보안 API를 통해 제공되는 이상 징후 탐지 모델 를 통해 제공되는 이상 징후 탐지 모델을 사용하여 거래 데이터가 발생할 때마다 분석합니다. 거래가 사기 행위 패턴에 부합하는 경우, 시스템은 다음과 같이 즉시 차단합니다. 즉시 차단하여 금전적 손실을 방지할 수 있습니다.

모델 제공 대 모델 배포

종종 같은 의미로 사용되지만, 모델 서빙과 모델 배포를 구분해야 합니다. 배포는 테스트, 패키징, 설정 등의 단계를 포함하여 모델을 프로덕션 환경으로 릴리스하는 프로세스를 말하며, 여기에는 테스트, 패키징 및 인프라 설정과 같은 단계가 포함됩니다. 인프라 설정. 모델 서빙은 배포의 특정 런타임 측면, 즉 실제로 모델을 실행하고 요청을 처리하는 행위입니다.

또한 효과적인 서빙을 위해서는 지속적인 모델 모니터링을 detect 데이터 드리프트, 즉 수신 데이터의 분포가 학습 데이터에서 트레이닝 데이터와 차이가 발생하여 잠재적으로 정확도를 떨어뜨릴 수 있습니다. 곧 출시될 Ultralytics 플랫폼과 같은 최신 플랫폼은 이러한 단계를 통합하여 트레이닝에서 서비스 및 모니터링으로 트레이닝에서 서비스 및 모니터링으로 원활하게 전환하는 것을 목표로 합니다.

올바른 전략 선택

서빙 전략의 선택은 사용 사례에 따라 크게 달라집니다. 온라인 서빙은 사용자 대면 애플리케이션에 즉각적인 즉각적인 응답을 제공하지만 지연 시간이 짧아야 합니다. 반대로 배치 서빙은 대량의 데이터를 오프라인으로 처리하며, 즉각적인 피드백이 중요하지 않은 야간 보고서 작성과 같은 작업에 적합 야간 보고서 작성과 같은 작업에 적합합니다. 드론이나 휴대폰과 같은 원격 하드웨어에 배포된 애플리케이션의 경우, 엣지 AI는 서빙 프로세스를 디바이스로 직접 이동합니다, 클라우드 연결에 대한 의존도를 없애고 대역폭 비용을 절감할 수 있습니다.

메트릭 수집을 위해 Prometheus와 같은 도구를 사용하고 시각화를 위해 시각화를 위한 Grafana와 같은 도구를 사용하면 엔지니어링 팀이 서비스 인프라의 상태를 track 데 도움이 됩니다. 인프라의 상태를 추적할 수 있어, 모델이 교체된 후에도 계속해서 안정적인 신뢰할 수 있는 컴퓨터 비전 기능을 지속적으로 안정적인 컴퓨터 비전 기능을 제공할 수 있습니다.

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기