본문 바로가기

MLOps4

BentoML 시작하기 & v0와 v1 비교 (v1.0 migration 이후) Model Serving 관련 라이브러리를 찾아보면 항상 나오는 BentoML. 사용하기로 마음먹고 이용법을 찾아봐도 한국어 자료가 많지 않을 뿐만 아니라, 있어도 예전 버전(0.13.1.) 기준으로 작성되어 있는 자료가 대부분이다(심지어 로고도 바뀜). 이번 포스트에서는 v1.0 이후 BentoML 사용법에 대해서 알아본다. What is BentoML? BentoML은 기본적으로 Model Serving에 특화된 라이브러이다. 만들어진 머신러닝 모델에 대해 API를 뚫고, 패키징하고, 컨테이너화 하는 것을 표준화하는 동시에 매우 편하게 작업을 수행할 수 있도록 지원한다. 백엔드나 데브옵스 지식이 없더라도 데이터 사이언티스트 혹은 ML 엔지니어가 모델을 쉽게 서빙하고 배포하는 것을 지원하는 라이브러리이.. 2023. 8. 27.
6. API Serving - PostgreSQL DB: Backend Store로서 이용 - 모델의 accuracy, f1-score, loss, hyperparameter와 같은 수치 정보 & MLflow의 운영 정보, 메타 데이터 (run_id, run_name, experiment_name) 등을 저장할 물리적인 서버 - MinIO: Artifact Store로서 이용 - 학습된 모델을 저장하는 model registry로써 이용하기 위한 스토리지 서버 (run_id 등도 여기서 가져옴) 흐름: minio로 되어 있는 artifact store에서 모델을 mlflow를 통해 로컬에 다운받고 -> 파라미터 값들을 작성해서 api 호출을 하면 -> 내 로컬에서 api로 전달된 값을 바탕으로 모델 inference를 하고 -> .. 2023. 2. 19.
5. FastAPI 0. 필요한 패키지 설치 $ pip install "fastapi[all]" 1. FastAPI 개론 1-1. FastAPI로 간단한 api 만들어보기 # main.py from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"hello":"world"} app = FastAPI()로 클래스 인스턴스 생성 Path Operation Decorator: @app.get("/")와 같이 API 작업의 endpoint를 HTTP method를 통해 지정 - Path: 첫번째 '/'로부터 시작되는 마지막 부분 (ex. https://fastapi.com/tutorial/first-steps/ 에서 /tutorial/fi.. 2023. 2. 11.
2. Model Development 본 포스팅은 ML Engineer를 위한 MLOps에 있는 코드들을 활용하여 진행되었습니다. 0. 환경 설정 환경 세팅부터 다시 해보고 싶어서 별도의 conda 가상환경 만들기 & 패키지 설치하기 conda create -n mlops python=3.8 pip install pandas psycopg2-binary scikit-learn joblib 1. 간단한 분류 모델 선정 및 개발 # base_train.py from sklearn.datasets import load_breast_cancer from sklearn.metrics import accuracy_score from sklearn.model_selection import train_test_split from sklearn.prepro.. 2023. 1. 27.