BentoML
BentoML Document Link
BentoML: A faster way to ship your models to production
BentoML combines the best developer experience with a focus on operating ML in production. Our platform enables Data Science teams to do their best work. Get started with BentoML today! Copyright © 2022 BentoML BentoML's open source model serving framew
www.bentoml.com
LINE에서 Financial Data Platform을 개발하는 이웅규님의 블로그글을 참고하였습니다.
https://engineering.linecorp.com/ko/blog/mlops-bentoml-1/
MLOps를 위한 BentoML 기능 및 성능 테스트 결과 공유 - 1
들어가며 안녕하세요. LINE에서 Financial Data Platform을 개발하는 이웅규입니다. 2021년 초에 작성한 글(Airflow on Kubernetes VS Airflow Kubernetes Executor - 2) 마지막에 Kubernetes를 데...
engineering.linecorp.com
MLOps는 방법론이며 여러 가지 방법론과 도구가 존재한다. 모델 서빙 역시 관련된 도구들도 여럿 존재한다.
그중 BentoML은 최근 업계에서 많이 사용하며 빠르게 생태계를 확장해 나가고 있고, 편리하고 손쉽게 BentoML 환경을 구성할 수 있다는 장점
특징
- Online / Offline Serving
- 멀티 모델 기능
- BentoML은 여러 ML 프레임워크와 연동할 수 있다는 장점
- Scikit-Learn, PyTorch, Tensorflow, Keras, FastAI, XGBoost, LightGBM, CoreML 등 주요 프레임워크와 연동해 모델을 서빙
- 높은 성능 : Flask 기반 모델보다 100배의 처리량을 가지고, Adaptive Micro Batching 메커니즘을 활용함
- DevOps 친화적인 방식
- 프로덕션 배포 워크플로 간소화
- ☁️ BentoML Cloud: 간단하고 규모에 맞게 bento를 배포하는 가장 빠른 방법
- 🦄️ Yatai: Kubernetes에서 규모에 맞게 모델 배포
- 🚀 bentoctl: AWS SageMaker, Lambda, ECE, GCP, Azure, Heroku 등에 빠른 모델 배포
- 오프라인 일괄 추론 작업 실행
- DevOps의 Best Practices 적용
- 프로덕션 배포 워크플로 간소화
- Kubeflow, Airflow, MLFlow, Triton을 포함한 MLOps 에코시스템과의 대용량 통합
- 모델 관리를 위한 웹 대시보드 존재
Yatai Web UI 실습
- BentoML의 Yatai라는 component를 쿠버네티스 클러스터에 설치
- Yatai를 설치하기 위해서는 쿠버네티스(v1.18+)와 Helm(v3+)이 설치되어있어야함
- minikube 환경에서 설치 (driver=docker)
Install Yatai Helm Chart
helm repo add yatai https://bentoml.github.io/yatai-chart
helm repo update
helm install yatai yatai/yatai -n yatai-system --create-namespace

위 명령어를 차례대로 수행하면 아래의 export~명령어를 통해 토큰을 뽑아내고 echo~명령어를 통해 메세지를 출력 후
kubectl~ 명령어를 통해 localhost 접속을 하기위한 포트포워딩을 실시해준다.
Yatai를 사용하기 위한 초기 관리자 계정설정을 진행하는 부분이다. 위 명령어를 통해 초기화 토큰을 구하고 관리자 계정을 생성할 수 있다.

위 pod 들이 모두 running될때까지 기다립니다.

위 service들이 모두 생성된것을 확인한 후,
http://localhost:8080/setup?token={YATAI_INITIALIZATION_TOKEN}
위 url을 통해 bentoml ui 에 접속한다.

그럼, 위와 같이 초기 관리자 계정 설정 페이지가 뜨고 로그인 정보를 제출한다.

로그인 정보를 제출하면 위와 같이 대쉬보드에 접속할 수 있다.