코드 깎는 PM

MLOps Series #3 - mlflow 본문

ML Ops/ML Ops Basic

MLOps Series #3 - mlflow

PM스터 2023. 1. 22. 22:03
반응형

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
링크: "https://link.coupang.com/a/bqfD0v

 

MLOps 도입 가이드:기업에서 머신러닝 모델을 가장 효율적으로 운영하는 방법

COUPANG

www.coupang.com


1. mlflow란?

mlflow는 모델 serving을 위해 사용하는 툴이다. 

 

2. mlflow의 기능

mlflow의 기능은 크게 아래의 3가지로 나누어진다. 

  1. Tracking - 실험에서 사용된 코드, 파라미터, 메트릭 등의 실험에서 생산된 모든 결과들을 기록하고 조회하는 기능 
  2. Project - 어떤 플랫폼에서도 실험을 재현할 수 있도록 패키징 하는 기능 
  3. Models - 머신러닝 모델을 패키징하고 서빙할 수 있는 표준화된 방법 제안

mlflow의 3가지 기능

출처: https://antonhaugen.medium.com/how-to-go-with-the-mlflow-tracking-tutorial-b9427b6a4b3f

 

또한, mlflow는 아래와 같은 기능들을 제공한다. (mlflow를 실행하면 자동적으로 하위 폴더들이 생성된다.) 

  1. parameters: key-value inputs to your code
  2. Metrics: numeric values that can update over time
  3. Artifacts: files. including data and models 
  4. Tags and Notes: any additional information

mlflow에서 train시킨 모델의 폴더를 접근하면 아래와 같이 정보들이 저장되는 것을 볼 수 있다.

3. mlflow 실행 예시

mlflow는 mlflow상에서 실행되고 있는 기능들을 ui로 간편하게 확인하고 작업할 수 있게 도와주는 mlflow ui라는 기능을 제공한다. 이를 실행시켜 보면 아래와 같은 창을 볼 수 있다.

(1) mlflow ui 실행 화면 

mlflow ui 이미지

(2) 특정 모델 내 저장된 Parameters 

(3) 특정 모델 내 저장된 Metrics와 Tags

(4) 특정 모델의 Artifacts

4. 코드를 통한 mlflow 실습

1) Prerequisite 준비 

  • P.S. 해당 실습은 Linux Ubuntu18.0.4 환경에서 실행되었습니다.
# 실습을 위한 디렉토리를 생성 후 이동 
mkdir mlflow-tutorial
cd mlflow-tutorial

# conda 다운로드 
# conda 다운로드 파일 저장
$ wget https://repo.anaconda.com/archive/Anaconda3-2019.10-Linux-x86_64.sh
# conda install
$ bash Anaconda3-2019.10-Linux-x86_64.sh

$ source ~/.bashrc
$ conda -V
conda 4.7.12

# python 버전 확인
python -V

pip install mlflow==1.20.2

mlflow --version
# mlflow, version 1.20.2

2) mlflow server 실행

$ mlflow ui

 

 

 

Reference

https://www.youtube.com/watch?v=H-4ZIfOJDaw

 

반응형
Comments