MLflow 소개
Weston Bassler
Senior MLOps Engineer
ML 라이브러리 통합 단순화
배포 간소화
"플레이버"라는 규칙


ML 라이브러리용 커스텀 도구 작성
플레이버로 커스텀 코드 도입이 쉬워짐
# mlflow 모듈에서 플레이버 임포트
import mlflow.FLAVOR
# 모델과 지표를 자동 로깅
mlflow.FLAVOR.autolog()
# scikit-learn 내장 플레이버
mlflow.sklearn.autolog()
# scikit-learn 임포트 import mlflow from sklearn.linear_model import \ LinearRegression# 자동 로깅 사용 mlflow.sklearn.autolog()
# 모델 학습
lr = LinearRegression()
lr.fit(X, y)
model.fit() 시 모델이 자동으로 로깅됩니다.
MODEL.get_params()
# 모델 학습 lr = LinearRegression() lr.fit(X, y)# 파라미터 조회 params = lr.get_params(deep=True)params
{'copy_X': True, 'fit_intercept': True, 'n_jobs': None,
'normalize': 'deprecated', 'positive': False}

# 모델
lr = LinearRegression()
lr.fit(X, y)

# 모델
lr = LinearRegression()
lr.fit(X, y)
모델 디렉터리 구조:
model/
MLmodel
model.pkl
python_env.yaml
requirements.txt
# 자동 로깅
mlflow.sklearn.autolog()

artifact_path: model
flavors:
python_function:
env:
virtualenv: python_env.yaml
loader_module: mlflow.sklearn
model_path: model.pkl
predict_fn: predict
python_version: 3.10.8
sklearn:
code: null
pickled_model: model.pkl
serialization_format: cloudpickle
sklearn_version: 1.1.3

MLflow 소개