-
모델 서빙(Model Serving)OpenShift AI 2024. 8. 10. 16:13
모델 서빙(Model Serving)이란?
모델 서빙은 머신러닝 모델을 실제 애플리케이션 환경에서 사용할 수 있도록 배포하고 관리하는 과정입니다. 이는 모델을 API 형태로 노출하여 다른 시스템이나 애플리케이션이 이를 호출하고 결과를 활용할 수 있도록 합니다.
OpenVINO 모델 서버
OpenVINO란?
• OpenVINO(Open Visual Inference & Neural Network Optimization)는 Intel에서 제공하는 도구로, 딥러닝 모델의 추론 성능을 최적화하고 가속화하는 데 사용됩니다.
• OpenVINO는 다양한 하드웨어(Intel CPU, GPU, VPU 등)에서 최적화된 추론을 지원하며, 특히 컴퓨터 비전과 관련된 작업에 유리합니다.
OpenVINO 모델 서버
• OpenVINO 모델 서버는 OpenVINO 툴킷을 기반으로 모델을 호스팅하고 추론 요청을 처리하는 서버입니다.
• 이 서버는 고성능 추론을 제공하며, HTTP/REST API를 통해 모델을 쉽게 배포하고 사용할 수 있습니다.
기본 모델 서버 런타임 제공
• 기본 런타임 제공: OpenShift AI는 기본적으로 OpenVINO 모델 서버 런타임을 제공하여 사용자가 쉽게 모델을 배포하고 서비스할 수 있도록 합니다.
• 사용 사례: 예를 들어, 이미지 분류 모델을 OpenVINO 모델 서버에 배포하면, 애플리케이션은 HTTP 요청을 통해 이미지를 보내고, 모델은 이미지를 분석하여 분류 결과를 반환할 수 있습니다.
커스텀 런타임 추가 가능
커스텀 런타임이란?
• 커스텀 런타임은 기본 제공되는 런타임 외에, 특정 요구사항이나 환경에 맞춘 사용자 정의 런타임을 추가하는 것을 의미합니다.
• 이를 통해 사용자는 특정 프레임워크(TensorFlow, PyTorch 등)나 라이브러리 요구사항에 맞는 런타임 환경을 구성할 수 있습니다.
왜 커스텀 런타임이 필요한가?
• 다양한 모델 지원: 기본 런타임이 지원하지 않는 특정 프레임워크나 버전의 모델을 서빙하려는 경우.
• 특수 요구사항: 특정 하드웨어나 소프트웨어 의존성이 있는 모델을 서빙할 때.
• 성능 최적화: 특정 환경에서의 성능 최적화를 위해 맞춤형 구성을 필요로 하는 경우.
예제: 커스텀 런타임 활용하기
1. 상황: 한 데이터 과학 팀이 PyTorch로 훈련된 모델을 배포하고자 합니다. 그러나 기본 OpenVINO 런타임은 PyTorch를 직접 지원하지 않습니다.
2. 해결책:
• 커스텀 런타임 개발: PyTorch 모델을 서빙할 수 있는 환경을 갖춘 Docker 이미지를 생성합니다.
• OpenShift에 배포: 해당 이미지를 OpenShift에 배포하여, PyTorch 모델을 서빙할 수 있는 API를 구성합니다.
3. 결과: 클라이언트 애플리케이션은 REST API를 통해 PyTorch 모델에 요청을 보내고 결과를 받을 수 있습니다.
이렇게 OpenShift AI 플랫폼은 다양한 모델 서빙 요구사항에 대응할 수 있도록 기본 런타임을 제공하는 동시에, 커스텀 런타임을 통해 확장성과 유연성을 제공합니다. 이를 통해 사용자는 다양한 머신러닝 모델을 효율적으로 운영 환경에 배포하고 관리할 수 있습니다.
'OpenShift AI' 카테고리의 다른 글
피처 엔지니어링(Feature Engineering) (0) 2024.08.10 GPU와 VPU의 차이점은 (1) 2024.08.10 데이터셋(dataset) (0) 2024.08.09 AI 및 머신러닝 확장성 문제에 대한 방안 (0) 2024.07.14 OpenShift AI 기반 AI 인프라 구축 백서 (1) 2024.07.14