Skip to main content
이 문서는 머신러닝 섹션의 일부입니다.

왜 실험 추적이 필요한가?

머신러닝 모델을 개발할 때는 수십~수백 번의 실험을 반복합니다. 하이퍼파라미터를 조금씩 바꿔가며 학습하고, 다양한 피처 조합을 시도하며, 여러 알고리즘을 비교합니다. 이 과정에서 체계적인 기록 없이 진행하면 다음과 같은 문제가 발생합니다:
💡 실험 추적(Experiment Tracking) 이란 머신러닝 실험의 모든 요소(코드, 데이터, 파라미터, 메트릭, 모델 아티팩트)를 자동으로 기록하고 버전 관리하는 체계를 말합니다. MLflow Tracking은 이를 위한 업계 표준 오픈소스 도구입니다.

핵심 개념: Experiment와 Run

MLflow의 실험 추적은 Experiment(실험)Run(실행) 이라는 두 가지 핵심 단위로 구성됩니다.

수동 로깅 상세

기본 로깅 API

MLflow는 실험의 각 요소를 기록하기 위한 명확한 API를 제공합니다.

주요 로깅 함수 요약


자동 로깅 (Autolog) 심화

mlflow.autolog()를 활성화하면 별도의 로깅 코드 없이 파라미터, 메트릭, 모델이 자동으로 기록됩니다. Databricks 노트북에서는 기본적으로 autolog가 활성화되어 있습니다.

프레임워크별 자동 로깅 동작

autolog 세부 제어 옵션:

런(Run) 비교 및 시각화

MLflow UI에서는 여러 Run을 선택하여 파라미터와 메트릭을 한눈에 비교 할 수 있습니다.

UI에서의 비교 방법

  1. 실험 페이지 접속: 왼쪽 사이드바에서 Experiments 클릭
  2. Run 선택: 비교할 Run들의 체크박스를 선택
  3. Compare 클릭: 선택한 Run들의 파라미터/메트릭을 테이블, 차트로 비교
  4. 차트 유형: Parallel Coordinates Plot, Scatter Plot, Bar Chart 등 제공

프로그래밍 방식으로 비교


하이퍼파라미터 튜닝 연동

실험 추적의 진정한 가치는 하이퍼파라미터 튜닝과 결합 할 때 발휘됩니다. 각 탐색 조합이 자동으로 기록되므로, 최적 파라미터를 체계적으로 찾을 수 있습니다.

Optuna + MLflow

Hyperopt + SparkTrials (분산 튜닝)


태그 전략 및 실험 조직화

대규모 ML 팀에서는 체계적인 태그 전략 이 실험 관리의 핵심입니다.

추천 태그 체계

실험 네이밍 컨벤션


Databricks 추가 기능

Databricks에서 MLflow를 사용하면 추가적인 편의 기능을 활용할 수 있습니다.
⚠️ 주의사항: Databricks에서 mlflow.set_tracking_uri()를 별도로 호출할 필요가 없습니다. Databricks 환경에서는 자동으로 워크스페이스의 MLflow Tracking Server에 연결됩니다.

실습: 전체 실험 추적 워크플로

다음은 데이터 준비부터 최적 모델 선택까지의 전체 워크플로입니다.

정리


참고 링크