Infra/MLops

[Mlflow] MLflow 란?

뚜둔뚜둔 2022. 1. 19. 11:22

mlflow란

머신러닝 모델의 실험을 tracking하고 model을 공유 및 deploy할 수 있도록 지원하는 라이브러리.

머신러닝 학습과 관련된 전반적인 lifecycle을 지원해주는 라이브러리

 

mlflow의 논리적 컴포넌트 구성은 4개로 구성되어 있다.
mlflow는 단독 파이썬 패키지로 구성되어 있어 가볍고 빠르게 Workflow지원 가능하다.

https://databricks.com/blog/2020/04/15/databricks-extends-mlflow-model-registry-with-enterprise-features.html

 

  • MLflow Tracking : Record and query experiments: code, data, config, and results
    • 머신러닝 모델을 학습시킬 때 생기는 각종 파라미터, 그리고 머신러닝 모델 training이 끝난 후 metric의 결과 등을 logging 하고 실행할 수 있도록 코드 패키지 형식으로 지원해준다. 이러한 형식으로 만들어진 환경을 재사용 할 수 있다.
  • MLflow Projects : Package data science code in a format to reproduce runs on any platform
    • anaconda나 docker 등을 사용해서 만들어 둔 모델을 reproducible하고 실행 할 수 있도록 코드 패키지 형식으로 지원해준다.
  • MLflow Models : Deploy machine learning models in diverse serving environments
    • 동일한 모델을 docker, apach spark, AWS등에서 쉽게 배ㅑ치할 수 있도록 지원
  • Model Registry : Store, annotate, discover, and manage models in a central repository
    • mlflow 모델의 전체 라이프 상이클을 공동으로 관리하기 위한 centralized model store,set of API, UI

 

https://databricks.com/blog/2020/04/15/databricks-extends-mlflow-model-registry-with-enterprise-features.html

 

Tracking을 통해 실험시 사용한 파라미터를 기록하고
Project를 통해 어떤 플랫폼에서든 동일한 내용을 보장하는 패키징을 하여 딜리버리 지원
Models로 디플로이를 진행하며
Registry 패키지를 통해 이 전반적인 활동을 지원한다.

 

출처  : https://vasco989k.github.io/2020/05/08/Hello-MLOps/ 

 

반응형