📌 MLflow Artifacts를 활용한 모델 재현성 및 예측 과정
머신러닝 모델을 실험하고 배포할 때 일관된 결과를 보장하는 것(재현성) 이 중요합니다.
MLflow는 Artifacts(모델 파일, 환경 설정, 평가 지표 등) 을 관리하여 이전 실험을 그대로 복원하고 실행할 수 있도록 도와줍니다. 이번 글에서는 MLflow Artifacts를 활용한 모델 재현성과 예측 과정을 설명합니다
MLflow Artifacts란?
MLflow에서 Artifacts(아티팩트) 는 머신러닝 실험(run) 중 생성된 결과 파일을 의미합니다.
이에는 다음과 같은 정보가 포함됩니다:
- ✅ 모델 파일 (model.pkl) → 저장된 머신러닝 모델
- ✅ 환경 설정 (requirements.txt, conda.yaml) → 모델이 실행될 환경 정보
- ✅ 모델 설명 파일 (MLmodel) → MLflow가 모델을 어떻게 로드해야 하는지 정의
- ✅ 시각화 파일 (training_confusion_matrix.png, training_roc_curve.png) → 모델 평가 지표
MLflow Experiment (이미지) 설명
- MLflow Tracking UI에서 특정 실험(adventurous-moth-236)의 Artifacts 탭을 확인
- model/ 디렉토리 내부에는 다음과 같은 주요 파일이 있음:
- model.pkl → 저장된 머신러닝 모델
- MLmodel → MLflow 모델 메타데이터
- requirements.txt / conda.yaml → 모델이 필요한 라이브러리 환경 정보
- training_confusion_matrix.png, training_roc_curve.png → 모델 평가 지표 시각화
- 모델 입력값(Age, SibSp, Parch 등)과 예측 결과(Tensor) 확인 가능
- MLflow에서 제공하는 모델 로드 및 예측 코드가 우측에 제공됨
import mlflow
mlflow.set_tracking_uri("http://127.0.0.1:5000")
logged_model = 'runs:/20176bf12c3a4c13a82f431eda9/model'
# mlflow' pyfunc를 활용하여 모델 로드
loaded_model = mlflow.pyfunc.load_model(logged_model)
import pandas as pd
from sklearn.metrics import accuracy_score
test_df = pd.read_csv('dataset_preprocessing.csv', index_col=0)
label = test_df["Survived"]
test_df = test_df.drop(["Survived"], axis=1)
test_df.head()
# 로드된 모델로 예측
y_prd = loaded_model.predict(pd.DataFrame(test_df))
- 코드에서는 MLflow Tracking Server(http://127.0.0.1:5000)에서 특정 실험의 모델을 로드(mlflow.pyfunc.load_model())
- model.pkl을 활용해 예측 수행 (loaded_model.predict())
- dataset_preprocessing.csv의 데이터를 입력값으로 사용
- 모델의 정확도를 평가 (accuracy_score())
- MLflow UI에서 확인한 모델 아티팩트(model.pkl, MLmodel, requirements.txt)가 코드에서 활용됨
마무리
이번 글에서는 MLflow Artifacts를 활용한 모델 재현성과 예측 과정을 다뤘습니다.
✅ MLflow를 활용하면 모델, 환경, 평가 지표를 한 번에 저장하고 관리할 수 있습니다.
✅ 저장된 모델을 불러와 새로운 데이터에 대해 예측을 수행할 수 있습니다.
✅ 이를 통해 머신러닝 모델의 재현성을 보장하고, 언제든 실험 결과를 복원할 수 있습니다.
💡 MLflow Model Registry를 활용하면 모델 버전까지 체계적으로 관리할 수 있습니다.
'시스템 개발 및 관리 > MLflow를 활용한 머신러닝 실험 관리' 카테고리의 다른 글
Model Serving (0) | 2025.02.12 |
---|---|
모델 등록과 버전 관리, MLflow로 간편하게 (0) | 2025.02.03 |
MLflow Compare 기능으로 빠르게 모델 비교하기 (0) | 2025.02.02 |
MLflow로 모델 성능 비교하고 최적 모델 찾기 (0) | 2025.02.01 |
GridSearchCV와 MLflow로 머신러닝 실험 자동화하기 (0) | 2025.01.31 |