봉자씨
친절한 봉자씨의 딥러닝 이야기
봉자씨
전체 방문자
오늘
어제
  • 분류 전체보기 (144)
    • 개발 (25)
      • 딥러닝 단어장 (2)
      • MLOps (6)
      • 딥러닝, Computer Vision (3)
      • Pytorch (0)
      • Develop (5)
      • Kubernetes (4)
      • 대학원생의 좌충우돌 GPU 클러스터 구축기 (3)
      • LangChain (1)
    • 경제 (115)
      • 경제 용어 단어장 (0)
      • 경제일기 (113)

인기 글

최근 글

블로그 메뉴

  • 홈
  • 태그
  • Github

공지사항

최근 댓글

태그

  • Kubernetes
  • MLOps
  • k8s
  • 인플레이션
  • 장단기금리차
  • Kubeflow
  • 빅스탭
  • 대출부실
  • 금리
  • 금리인하
  • SVB
  • CPI
  • AI
  • 채권
  • 경제일기
  • ChatGPT
  • 금리동결
  • kserve
  • 딥러닝
  • 부동산
  • 은행파산
  • 자이언트스탭
  • SVB파산
  • 위스키
  • fomc
  • 금리인상
  • 주식
  • 중국리오프닝
  • 경기침체
  • kubectl

티스토리

250x250
hELLO · Designed By 정상우.
봉자씨

친절한 봉자씨의 딥러닝 이야기

016. [Kubeflow][KServe] Model Serving Data Plane
개발/MLOps

016. [Kubeflow][KServe] Model Serving Data Plane

2022. 9. 14. 15:42
반응형

Data Plane

InferenceService의 Data Plane 아키텍처는 단일 모델에 대한 요청을 조절하는 구성요소의 정적 그래프(Static Graph)로 구성됩니다.
Embedding, A/B test, Multi-Arm-Bandits과 같은 고급 기능은 반드시 인퍼런스 서비스와 함께 구성되어야 합니다.

오른쪽의 세가지 컴포넌트로 구성된 회색박스가 InferenceService이다.

Concept

컴포넌트(Component): 각 엔드포인트는 여러개의 컴포넌트로 구성되어 있습니다. "predictor", "explainer", "transformer" 가 그 컴포넌트들 입니다. 필수 컴포넌트는 predictor 하나이며 시스템의 핵심(core) 입니다. 나머지 "transformer", "explainer"는 선택 컴포넌트입니다. KServe가 진화함에 따라 Outlier Detection과 같은 use case를 지원하기위해 다양한 컴포넌트를 지원하고자 하는 계획이 있습니다.

 

Predictor: Predictor는 인퍼런스 서비스의 일꾼(workhorse) 입니다. 간단하게 모델과 모델 서버로 구성되며 네트워크 엔드포인트로 접근이 가능하게 합니다.

 

Explainer: Explainer는 예측과 더불어 모델 설명을 제공하는 선택적 대체 데이터 플레인을 제공합니다. 사용자는 자신만의 설명 컨테이너(Explaination container)를 정의 할 수 있으며, 예측 엔드 포인트와 같은 관련 환경 변수로 구성됩니다. 일반적인 use case로 KServe는 Alibi와 같은 out-of-the-box explainer를 제공합니다.

 

Transformer: Transformer는 예측 및 설명 워크플로우를 거치기 전,후에 작동하는 전처리 및 후처리를 정의할 수 있도록합니다. explainer와 같이 예측 엔드포인트와 동일한 환경변수로 구성됩니다. 일반적인 사용법으로 KServe는 Feast와 같은 out-of-the-box transformer를 제공합니다.

Data Plane (V1) (outdated)

Kserve는 모든 모델 프레임워크에 대해 표준화된 예측 워크플로우를 제공합니다.

API Verb Path Payload
Readiness GET /v1/models/ Response:{"name": , "ready": true/false}
Predict POST /v1/models/:predict Request:{"instances": []} Response:{"predictions": []}
Explain POST /v1/models/:explain Request:{"instances": []} Response:{"predictions": [], "explainations": []}

Data Plane (V2)

Data Plane 프로토콜의 두 번째 버전은 많은 모델 프레임 워크 및 서버에 걸친 성능 및 일반성을 포함하여 V1 데이터 플레인 프로토콜에서 발견 된 몇 가지 문제를 해결하였습니다.

 

V2 프로토콜은 HTTP/REST API 와 GRPC API 둘다를 지원합니다. 이번 글에서는 HTTP/REST API 프로토콜을 간단히 알아보겠습니다. GRPC API 및 자세한 정보는 스펙 문서 를 참고하세요.

 

HTTP/REST API에서는 프로그래밍 언어에 독립적이고 널리 사용되는 JSON을 사용합니다. 모든 JSON 스키마에 보여지는 $number, $string, $boolean, $object, $array 는 기초 JSON type을 의미합니다.

 

또한 모든 컨텍스트의 string은 case-sensitive 합니다.

 

KServe는 다음 4가지 URL을 제공합니다. URL의 MODEL_VERSION 부분은 버저닝을 지원하지 않는 구현이거나 사용자가 특정 버전을 지정하지 않는다면 옵션으로 사용됩니다.

 

Health: 서버의 liveness, Readiness, 모델의 Readiness를 체크할 수 있습니다.

Method Path
GET v2/health/live
GET v2/health/ready
GET v2/models/${MODEL_NAME}[/versions/${MODEL_VERSION}]/ready

 

Server Metadata: 모델을 제공하는 서빙 서버의 메타데이터 정보를 확인합니다.

Method Path
GET v2

 

Model Metadata: 모델의 메타데이터 정보를 확인합니다.

Method Path
GET v2/models/${MODEL_NAME}[/versions/${MODEL_VERSION}]

 

Inference: 모델에 예측 요청을 보냅니다.

Method Path
POST v2/models/${MODEL_NAME}[/versions/${MODEL_VERSION}]/infer

 

 

REF:

[0] KServe Model Serving Data Plane https://kserve.github.io/website/0.7/modelserving/data_plane/

[1] KServe V2 Inference Protocol https://kserve.github.io/website/0.7/modelserving/inference_api/

반응형
저작자표시 동일조건 (새창열림)

'개발 > MLOps' 카테고리의 다른 글

020. [Kubeflow][KServe] 인증문제 해결하기 (Istio-Dex)  (1) 2022.09.21
019. [Kubeflow][KServe] InferenceService 처음 배포하기!  (1) 2022.09.19
018. [Kubeflow][KServe] SKLearn model InferenceService 배포하기  (0) 2022.09.16
017. [Kubeflow][KServe] Model Serving Control Plane  (2) 2022.09.15
015. [Kubeflow][KServe] Could not find CSRF cookie XSRF-TOKEN in the request 문제 해결  (0) 2022.07.14
    '개발/MLOps' 카테고리의 다른 글
    • 019. [Kubeflow][KServe] InferenceService 처음 배포하기!
    • 018. [Kubeflow][KServe] SKLearn model InferenceService 배포하기
    • 017. [Kubeflow][KServe] Model Serving Control Plane
    • 015. [Kubeflow][KServe] Could not find CSRF cookie XSRF-TOKEN in the request 문제 해결
    봉자씨
    봉자씨
    인공지능, 딥러닝, MLOps 이야기로 여러분을 찾아갑니다!

    티스토리툴바