MLOps

[MLOps] 쿠브플로우 KServe 설치 및 알아보기

by seokii 2023. 1. 10.
728x90
반응형

GitHub

쿠브플로우 관련 코드 내용은 GitHub에서 관리하고 있습니다.

https://github.com/Seokii/Study-MLOps

 

GitHub - Seokii/Study-MLOps: Study MLOps with Kubeflow

Study MLOps with Kubeflow. Contribute to Seokii/Study-MLOps development by creating an account on GitHub.

github.com

 

Documentation

https://www.kubeflow.org/docs/external-add-ons/kserve/

 

KServe

Highly scalable and standards based Model Inference Platform on Kubernetes for Trusted AI

www.kubeflow.org

쿠브플로우 KServe에 대한 공식 문서입니다.

쿠브플로우에 대한 자료가 많이 없어서, 공식 문서를 참고하면서 공부하고 있습니다.

 

 

 

Kserve? KFServing?

쿠브플로우를 알게 되고, 공부를 시작하면서 모델 서빙 툴에 대한 내용을 접하기 시작했습니다.

구글링을 하며 관련 내용을 찾다보니, KFServing라는 용어와 KServe라는 용어를 찾아볼 수 있었습니다.

두 용어가 서로 다른 프레임워크를 의미하는 것인지, 아니면 같은 프레임워크인데 지칭이 두 가지인 것인지 헷갈렸습니다.

검색하다보니 공식 Docs에서 이런 부분을 찾을 수 있었습니다.

 

 

결론적으로는 KFServing이 KServe라는 것으로 지칭이 변경되었고,

같은 하나의 프레임워크를 지칭하는 말이며 KServe라는 용어를 사용하면 된다는 것을 알 수 있었습니다.

 

 

KServe는 무엇인가?

공식 문서에 따르면 KServe는 다음과 같은 일을 합니다.

Kserve는 쿠버네티스 환경에서 서버리스 추론을 가능하게 하며,

텐서플로우, 파이토치, XGBoost, 사이킷런과 같은 머신러닝 프레임워크에

성능이 좋은 추상화 인터페이스를 제공하여 모델 서빙 문제를 해결한다.

 

따라서, 저희가 개발한 모델을 쉽게 배포해주는 도구 정도로 쉽게 이해하시면 될 것 같습니다.

 

또한, KServe는 다음과 같은 장점이 있음을 설명하고 있습니다.

  • 다양한 ML프레임워크를 제공하기 위한 쿠버네티스 사용자 정의 리소스 정의를 제공합니다.
  • 자동 스케일링, 네트워킹, 상태 점검 및 서버 구성의 복잡성을 캡슐화하여 ML 배포 환경에 GPU 자동 스케일링, 0으로 확장 및 카나리아 롤아웃과 같은 최첨단 서비스 기능을 제공합니다.
  • 예측, 사전 처리, 사후 처리 및 설명 기능을 즉시 제공하여 프로덕션 ML 추론 서버에 대한 간단하고, 플러그인 가능하고, 완벽한 스토리를 제공할 수 있습니다.

 

 

KServe 설치하기

저는 Ubuntu 20.04에서 docker 및 쿠버네티스와 kubeflow 설치하기 에서

쿠버네티스와 쿠브플로우를 설치했습니다.

다만, KServe는 설치하지 않았기 때문에 https://kserve.github.io/website/get_started/을 통해 설치를 진행했습니다.

 

(+ 내용추가)

저의 경우 이렇게 설치를 진행하니 환경 설정이 바뀐 문제탓인지,

포트포워드로 기존의 쿠브플로우 대시보드를 여는 작업 후 대시보드에 접속이 되지 않았습니다.

그래서, 원래 설치하던 방식으로 istio를 다시 설치하니,

설정이 다시 바뀌는 알림이 뜨면서 재작동한 것을 확인했습니다.

curl -s "https://raw.githubusercontent.com/kserve/kserve/release-0.7/hack/quick_install.sh" | bash

# 설치 확인
kubectl get pod -A

 

 

728x90
반응형

댓글