C.W.K.
Stream
Lesson 07 of 08 · published

Experiment Tracking

~18 min · tracking, wandb, mlflow

Level 0Curious
0 XP0/73 lessons0/11 achievements
0/120 XP to next level120 XP to go0% complete

왜 tracker 필요한가

진지한 project 한 주 안에 다른 hyperparameter 의 백 가지 실험 돌렸고 disk 의 어떤 model 이 어느 거에서 나왔는지 추적 잃었어. Experiment tracker 가 fix: 모든 run 이 code commit, config, metric, artifact 와 함께 log. Run 비교가 forensic exercise 대신 UI 질문 됨.

Popular tracker 3 개

  • Weights & Biases (W&B) — managed cloud, 멋진 UI, 개인 무료, 팀 유료. Industry de facto standard.
  • MLflow — open source, self-host 또는 cloud-host, Databricks 와 integrate. 덜 polished UI, 더 flexible deployment.
  • TensorBoard — PyTorch native, locally 돌고, simple, 추가 service 안 셋업. Solo work 에 great.
팁: 팀 당 한 tracker 골라서 stick. Switching 비용 진짜 (모든 이전 run 이 old tool 에 살아). Solo work 엔 TensorBoard fine, 팀엔 W&B 가 보통 이김.

뭐 log 할지

  • Config — 모든 hyperparameter, git commit hash, dataset version.
  • Metric — loss (train/val), task metric (accuracy/F1/등), gradient norm, learning rate, throughput.
  • Artifact — final checkpoint, best checkpoint, sample prediction, confusion matrix.
  • System — GPU utilization, memory, training duration.
원칙: Tracker entry 만으로 실험 reproduce 못 하면, tracker 가 인프라 아니라 장식. Config + commit hash 가 rerun 에 충분한지 확인.

Code

W&B in five lines·python
import wandb

wandb.init(project="dl-foundations", config=cfg.__dict__)
for epoch in range(cfg.epochs):
    train_loss = train_one_epoch(model, train_loader, opt, device)
    val_acc = evaluate(model, val_loader, device)
    wandb.log({"train_loss": train_loss, "val_acc": val_acc, "epoch": epoch,
               "lr": opt.param_groups[0]["lr"]})
wandb.finish()
TensorBoard for local-only logging·python
from torch.utils.tensorboard import SummaryWriter

writer = SummaryWriter(log_dir="runs/exp001")
for step, (xb, yb) in enumerate(train_loader):
    loss = train_step(model, xb, yb, opt)
    writer.add_scalar("train/loss", loss, step)
    if step % 100 == 0:
        writer.add_scalar("lr", opt.param_groups[0]["lr"], step)
writer.close()
# tensorboard --logdir runs

External links

Exercise

Training loop 에 W&B (또는 TensorBoard) 추가. Loss, accuracy, gradient norm, learning rate log. 다른 hyperparameter 의 두 실험 돌리고 UI 에서 비교.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.