본문 바로가기
AI 공부

MLflow

by AI Sonny 2022. 12. 19.
728x90

 

 

기록해두어야할 정보

  • Model 소스 코드
  • Evaluation Metric 결과
  • 사용한 hyperparameters
  • Model 파일
  • 학습에 사용한 data
  • 데이터 전처리용 코드
  • 전처리 된 data
  • 활용한 라이브러리와 버전
  • 개발 환경(OS, 도커)
  • 배포환경(linux, 도커)

 

기존 머신러닝의 패턴을 찾아서 만든 것이 MLflow이다.

그리고 Model 학습용 코드를 구현하는 사람과 Serving용 코드를 구현하는 사람이 분리되어있어 이를 합쳐주는 역할이라고 볼 수 있다.

 

MLflow은 저장방식이 제각각 다른 것들을 통합하는 툴이라고 볼 수 있다.

 

Experiment Management and Tracking(실험 관리와 트래킹)

머신러닝의 metric, loss 등의 실험 내용들을 추적하여 각 실험들의 내용과 결과 저장 하나의 MLflow 서버를 두고 여럿이서 각자 자기 실험을 한 곳에 저장할 수도 있음 실험 내용 뿐만 아니라 실험에 사용한 코드, 하이퍼파라미터, 가중치 파일 등도 저장

Model Registry(모델 저장소)

MLflow로 실험을 진행한 모델들을 model registry라는 저장소에 등록할 수 있음 이 때 버저닝이 자동으로 기록되고, 저장소에 등록된 모델은 다른 사람들에게 쉽게 공유가 가능 ML 실험의 github나 도커 같은 역할을 함

 

Model Serving(모델 배포)

model register에 등록된 모델을 REST API 형태의 서버로 Serving할 수 있다.

 

MLflow안에 flask가 내장되어있다.

 

파이썬, mlflow, 머신러닝 프레임워크 버전을 확인해야한다.

 

MLflow의 장점

  • 쉬운 설치
  • 쉬운 Migration
  • 대시보드 제공
  • 다양한 ML API 제공(scikit-learn, pytorch, tensorflow, xgboost …)
  • 다양한 Backend Storage 연동 지원
  • 다양한 Artifact Storage 연동 지원
  • 상업용으로도 가능

mlflow에 대해서 배웠는데 꼭 한번 써보고 싶다는 생각이 들었다.

 

나중에 혼자서 로컬에서 mlflow를 사용해봐야겠다.

728x90

'AI 공부' 카테고리의 다른 글

결측치 채우는 방법  (0) 2022.11.24
크롤링 (HTML, CSS, User Agent, Selenium)  (0) 2022.08.22

댓글