👋 Intro
안녕하세요, 유블린입니다.
이 시리즈에서는 BentoML의 기본 개념에 대해 공부해 보려고 합니다.
이번글에서는 BentoML이 무엇인지 그리고 주요 특징은 뭐가 있는지 간단히 살펴볼 예정입니다.
1. BentoML이란?
2. BentoML의 핵심 개념?
😝 BentoML
BentoML은 머신러닝, 딥러닝 모델을 API 형태로 서빙할 수 있게 도와주는 라이브러리입니다. BentoML의 주요 컨셉은 Data Scientist 들이 모델을 더 쉽고 간편하게 테스트하고 배포할 수 있게 하기 위한 툴을 제공하자는 것입니다. 서버에 pickled model 파일이나 Protobuf 파일을 업로드하는 것 대신에 더 편안한 방법을 제시하자는 것이죠. 이러한 컨셉에 맞게 BentoML을 사용하면, 파이썬 코드 몇줄로 쉽게 production에 적용할 수 있는 API 서버를 구성할 수 있습니다. 뿐만 아니라 Dockerfile도 제공해 줘서 docker build로 도커 이미지 또한 쉽게 생성할 수 있습니다.
BentoML의 주요 특징은 아래와 같습니다.
- Online API Serving / Offline Batch Serving 모두 제공 [Serving 개념 정리 링크]
- 고성능: Adaptive Micro Batching 메커니즘 활용
- Tensorflow, PyTorch, Keras, XGBoost 등을 포함한 다양한 ML 프레임워크 지원
- Docker, Kubernetes, AWS ECS, OpenShift, Azure, GCP CKE 등을 이용한 production 배포용 컨테이너 생성 가능
- 모델 및 배포 관리를 위한 웹 대시보드 및 API 제공
- conda, PyPi, 로컬 python 등의 종속성 자동 패키징
- Swagger/OpenAPI 형식의 REST API 자동 생성
- Apache Spark를 사용한 분산 배치 또는 스트리밍 제공
- ML용 CI/CD 파이프라인을 단순화
- CLI 또는 Python에서 오프라인 배치 추론 작업 실행 가능 (프로그래밍으로 접근 가능)
👍 Outro
이번글에서는 BentoML이 무엇이며 왜 사용하는지에 대해 다뤄보았습니다.
다음 글에서는 BentoML 설치와 기본예제를 다뤄보려고 합니다.
(이후에는 추가로 중요한 개념이나 사용법들을 정리해 나갈 예정입니다.)
저도 공부하면서 정리하다보니 틀린 내용이 있을 수 있습니다. 내용 오류에 대한 피드백은 언제나 환영입니다 :)
미래의 저와 다른 분들께 도움이 되었길 바라며 이만 줄이겠습니다.
References
'MLOps & DevOps > BentoML' 카테고리의 다른 글
[BentoML] Machine Learning Model Serving (1) - Serving의 개념 Online vs Offline vs Edge (0) | 2021.12.05 |
---|