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

인기 글

최근 글

블로그 메뉴

  • 홈
  • 태그
  • Github

공지사항

최근 댓글

태그

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

티스토리

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

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

017. [Kubeflow][KServe] Model Serving Control Plane
개발/MLOps

017. [Kubeflow][KServe] Model Serving Control Plane

2022. 9. 15. 16:56
반응형

Control Plane

Kserve의 컨트롤 플레인은 인퍼런스 서비스를 제어하는 역할을 합니다. 일반적으로 KServe는 Serverless 플랫폼인 Knative를 사용하여 구현합니다. 그리고 Knative의 serverless 배포를 이용하여 인퍼런스 서비스의 구성요소인 predictor, transformer, explainer가 들어오는 요청에 기반하여 autoscaling되도록 합니다. 요청트래픽이 없다면 인스턴스가 하나도 뜨지 않도록 하는 Zero scaling도 가능합니다. Knative를 사용하지 않는 Raw 배포를 사용한다면, kubernetes의 deployment, service, ingress, HPA가 사용됩니다.

 

KServe Control Plane

Control Plane Components


KServe Controller

서비스, 인그래스, 모델 서버 컨데이터 및 모델 에이전트 컨테이서 생성을 담당합니다. 부가적으로 요청/응답 로깅, 배치처리, 모델 풀링을 수행합니다.


Ingress Gateway

내외부의 트래픽을 라우팅하는 게이트웨이 역할을 수행합니다.


서버리스모드의 경우 추가 컴포넌트

Knative Serving Controller

서비스의 리비전관리, 네트워크 라우팅 리소스 생성, 서버리스 컨테이너 생성 등을 담당합니다. 특히 큐 프록시를 사용하여 트래픽 메트릭을 외부에 열고 동시성 제어를 수행합니다.

 

Knative activator

0으로 스케일링된 pod을 다시 생성하고 대기중인 트래픽을 전달합니다.

 

Knative Autoscaler(KPA)

어플리케이션의 트래픽 플로우를 모니터링하며, 설정된 메트릭을 기반으로 레플리카를 스케일업 다운합니다.

 

 

트래픽 플로우(Traffic Flow)

예시 그림의 초록색 점선 부분이 외부 요청 트래픽의 플로우입니다. 


1. Inference Service 최상단에 AI Application으로 표시된 엔드포인트로 요청이 전달됩니다.
2. 먼저 Transformer Service로 전달되고 여러개의 Pod으로 로드밸런싱되어 트래픽이 전달됩니다.
3. Transformer Pod의 Queue Proxy 컨테이너를 거처 실제 변환을 수행하는 컨테이너로 전달됩니다.
4. 받은 데이터를 전처리를 수행하고 실제 예측을 수행하기 위해 전처리된 데이터를 Predictor Service를 호출하여 전달합니다.
5. Transformer와 마친가지로 Predictor Service를 통과하여 로드밸런싱되고 Predictor Pod내부의 Queue Proxy를 거처 Model Server에 데이터가 전달됩니다.
6. 전달 받은 데이터로 예측을 수행한뒤 결과를 다시 Transformer로 전달합니다.
7. Transformer에서 예측 결과를 전달받아 후처리를 수행합니다.
8. 후처리 수행후 Queue Proxy, Transformer Service를 거처 최종 유저에게 전달됩니다.

 

 

Reference

[0] KServe Control Plane: https://kserve.github.io/website/0.7/modelserving/control_plane/

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

'개발 > 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
016. [Kubeflow][KServe] Model Serving Data Plane  (0) 2022.09.14
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 배포하기
    • 016. [Kubeflow][KServe] Model Serving Data Plane
    • 015. [Kubeflow][KServe] Could not find CSRF cookie XSRF-TOKEN in the request 문제 해결
    봉자씨
    봉자씨
    인공지능, 딥러닝, MLOps 이야기로 여러분을 찾아갑니다!

    티스토리툴바