주제: 6.5-2 Experiment Tracking (실험 재현성과 비교)

분류: rag_agent

타입: concept

난이도: 중급

선수지식: 있음 — 모델 학습, evaluation metric, ML pipeline

Experiment Tracking의 핵심은 "모델 성능 숫자"만 기록하는 것이 아니라, 그 숫자가 어떤 코드/데이터/파라미터에서 나왔는지 함께 남기는 것이다.

모델 개발은 대부분 작은 변화의 반복이다. learning rate를 바꾸고, 데이터 버전을 바꾸고, 프롬프트나 아키텍처를 조금씩 바꾸면서 성능을 비교한다. 이때 기록이 없으면 무엇이 좋아졌는지 금방 잊어버리고, 재현도 불가능해진다.

문제 설정

ML 모델 개발에서는 수많은 실험이 반복됩니다.


model v1
model v2
model v3
...

문제는 다음과 같습니다.

이를 해결하는 시스템이 Experiment Tracking입니다.

즉 experiment tracking은 편의 기능이 아니라 연구와 운영의 기억 장치다. MLflow, W&B, TensorBoard 같은 도구는 모두 "실험을 비교 가능하게 만들고, 재현 가능하게 남긴다"는 공통 목적을 가진다.

1. Experiment 정의

하나의 실험은 다음 요소로 구성됩니다.


Experiment
 ├ parameters
 ├ dataset
 ├ model
 └ metrics

모델 학습은 다음 과정을 포함합니다.

wwηL(w)

기호 의미

왜 중요한가

하이퍼파라미터와 데이터가 달라지면 결과도 달라집니다.

주의점

실험 조건이 기록되지 않으면 재현이 불가능합니다.

2. Experiment 구성 요소

요소 설명
Parameters learning rate, batch size
Code Version git commit
Dataset training data version
Metrics accuracy, loss
Artifacts model checkpoint

실험 결과는 보통 metric으로 비교합니다.

Metric=E[score(x)]

기호 의미

왜 필요한가

모델 성능을 객관적으로 비교할 수 있습니다.

3. 실험 비교

실험은 baseline 대비 비교됩니다.

Δ=Metric(model)Metric(baseline)

기호 의미

왜 중요한가

어떤 변경이 실제 성능 개선인지 판단할 수 있습니다.

4. 실험 재현성

재현성은 동일한 조건에서 동일 결과를 얻는 것입니다.

재현성 조건:

예:

seed=42

왜 필요한가

연구 결과의 신뢰성을 보장합니다.

5. 실험 로그 구조


Experiment Run
  ├ parameters
  ├ metrics
  ├ artifacts
  └ logs

각 run은 하나의 모델 학습 결과입니다.

6. MLflow

MLflow는 가장 널리 사용되는 experiment tracking 도구입니다.

구성:

실험 기록:


mlflow.log_param("lr",0.001)
mlflow.log_metric("accuracy",0.91)

왜 중요한가

모든 실험을 중앙에서 관리할 수 있습니다.

7. Weights & Biases (W&B)

W&B는 실험 시각화와 협업에 강점이 있습니다.

예:


wandb.log({"loss":loss})

8. TensorBoard

TensorBoard는 training 과정 시각화 도구입니다.

대표 기능:


writer.add_scalar("loss",loss)

9. Experiment Tracking Workflow


Run experiment
      ↓
Log parameters
      ↓
Log metrics
      ↓
Save artifacts
      ↓
Compare experiments

코드-수식 연결

개념 코드 설명
parameter 기록 mlflow.log_param() hyperparameter 저장
metric 기록 mlflow.log_metric() 성능 기록
artifact 저장 mlflow.log_artifact() 모델 파일 저장

자주 하는 오해 5개

체크리스트 (스스로 설명 가능해야 하는 질문)