시스템 개발 및 관리/MLOps 핵심 기술: 머신러닝 자동화

Airflow를 활용한 자동화 실행 및 MLflow 기반 모델 관리

Data Jun 2025. 3. 4. 11:57

본 포스트에서는 Apache Airflow를 활용하여 머신러닝 모델 학습을 자동화하고, MLflow를 통해 모델을 체계적으로 관리하는 방법을 다룹니다. 또한, 이미지 기반 성능 관리를 통해 모델 평가를 시각적으로 확인하는 과정도 설명합니다.

 

Airflow를 활용한 모델 학습 자동화

DAG (Directed Acyclic Graph) 설정

Airflow에서는 DAG를 이용하여 모델 학습 파이프라인을 구성할 수 있습니다. 이번 프로젝트에서는 model_training_selection DAG를 사용하여 CSU, STS, FTS 등의 모델을 자동으로 학습하고 관리합니다.

DAG 실행 흐름

  • run_csu_model → run_sts_model → run_fts_model → run_fmu_model → run_tro_model → run_ecu_model
  • 모든 태스크는 PythonOperator를 사용하여 실행되며, Airflow 웹 UI에서 진행 상태를 모니터링할 수 있습니다.
  • DAG 실행 후 각 모델의 학습 결과가 MLflow에 자동으로 로깅됩니다.

 

해당 이미지는 Airflow 태스크 실행 로그 화면으로, run_csu_model 태스크가 실행된 후 모델 학습 및 평가 결과를 출력한 로그입니다. 

 

  • 모델 성능 평가 결과:
    • RMSE (Root Mean Squared Error): 2.48167
    • R² Score: 0.999657
    • 정확도 (Accuracy): 98%
    • Precision, Recall, F1 Score 등의 평가 지표 제공
  • Confusion Matrix 결과:
    • TP (True Positives), FP (False Positives), FN (False Negatives), TN (True Negatives) 값 출력
  • MLflow 실험 저장 경로:
    • MLflow UI에서 해당 실험을 확인할 수 있도록 URL이 제공됨
    • 예시: http://127.0.0.1:5000/#/experiments/875617448468595334/runs/fe2c9807ea64eda9a52fb20c31a19b3
  • 모델 저장 경로:
    • 모델이 dags/models/CSU/csu_model_v3.0.0 경로에 저장되었음을 확인
  • Airflow 태스크 실행 완료 메시지:
    • 태스크가 정상적으로 실행 완료되었음을 나타냄
    • Task exited with return code 0

이 로그를 통해 모델 학습 및 성능 평가가 정상적으로 수행되었으며, MLflow를 통해 실험이 기록되고 모델이 저장되었음을 확인할 수 있습니다.

 

MLflow를 활용한 모델 버전 관리

MLflow 실험 트래킹

Airflow에서 실행된 모델 학습 결과는 MLflow Experiments에 기록됩니다.

  • 실험(Experiment): CSU, STS, FTS 등의 모델별로 실험을 구분
  • 러닝(Run): 모델이 학습될 때마다 새로운 실험 러닝이 기록됨
  • 모델 메트릭스: RMSE, R² Score, Accuracy 등의 성능 지표 저장

이미지 기반 성능 평가

학습된 모델의 시각적 평가

MLflow를 통해 모델의 중요 특징(Feature Importance), 예측 성능, 에러 분포 등을 이미지로 저장할 수 있습니다.

  • Airflow를 사용하여 모델 학습을 자동화하여 반복적인 실행을 간소화할 수 있습니다.
  • MLflow를 활용하여 모델 버전 관리 및 실험 로깅을 체계적으로 수행할 수 있습니다.
  • 이미지 기반의 성능 평가 지표를 저장하여 모델의 특징과 예측 정확도를 시각적으로 확인할 수 있습니다.

 

지금까지 작성한 블로그의 전체적인 흐름을 정리하면 데이터 처리 자동화 → 모델 학습 및 관리 → 배포 및 운영 자동화의 과정으로 구성됩니다. 이를 단계별로 정리해 보면 다음과 같은 흐름이 됩니다.

자동화된 머신러닝 파이프라인 구축의 가치

이 블로그에서 다룬 내용들을 종합하면, 완전 자동화된 머신러닝 운영 환경을 구축하는 것이 목표였습니다.

Airflow를 활용한 데이터 적재 및 모델 학습 자동화
MLflow 기반 모델 실험 관리 및 버전 컨트롤
Docker를 통한 환경 구축 및 모델 배포 준비
이미지 기반 성능 평가를 통한 모델 신뢰성 확보

이러한 파이프라인을 활용하면 데이터의 변화에 따라 자동으로 모델을 학습 및 평가하고, 최적의 모델을 지속적으로 운영할 수 있는 환경을 만들 수 있습니다.