Experiment Tracking and Backup
작성일: 2026-05-13 · 결정: W&B tracking + Google Drive automated backup
Decision
학습 실험의 추적과 비교는 W&B를 기준으로 한다. 서버 로컬의 run 산출물은 학습 종료 또는 checkpoint 생성 후 rclone으로 Google Drive backup remote에 자동 업로드한다. W&B는 metrics와 artifact lineage의 source of truth, Google Drive는 파일 복구용 backup store로 역할을 분리한다.
여기서 gdrive:는 오래된 독립 CLI 이름이 아니라 rclone remote 이름이다.
독립 CLI gdrive는 대표 저장소가 archive 상태라 자동 백업 표준 경로로 채택하지 않는다.
W&B Tracking Contract
| 항목 | 기록 내용 |
|---|---|
| Run config | dataset snapshot, split hash, model, teacher checkpoint, image size, optimizer, seed, loss weights. |
| Metrics | train/val loss, Top-1, Top-3 Accuracy, Recall@K, reject AUROC, coverage@accuracy, latency, file size. |
| Artifacts | dataset manifest, split manifest, best checkpoint, ONNX model, quantized ONNX model, metrics.json. |
| Tables | confusion matrix, hard negative examples, rejected examples, false positive/false negative review samples. |
Required Environment Variables
export WANDB_PROJECT=landmark-assistant-sprint1
export WANDB_ENTITY=<team-or-user>
export WANDB_API_KEY=<set-on-server-secret-store>
export WANDB_MODE=online
export RCLONE_REMOTE=gdrive
export GDRIVE_BACKUP_PREFIX=landmark-assistant/backups
secrets는 repo에 저장하지 않는다. WANDB_API_KEY와 rclone Google Drive credential은 서버 secret store,
shell profile, CI secret, 또는 systemd environment file에서 주입한다.
Backup Policy
| 대상 | 업로드 위치 | 시점 |
|---|---|---|
| run config, metrics.json, logs | gdrive:landmark-assistant/backups/runs/<run_id>/ |
학습 종료 또는 실패 직후 |
| best checkpoint | gdrive:landmark-assistant/backups/checkpoints/<run_id>/ |
best 갱신 시 또는 학습 종료 시 |
| ONNX exports | gdrive:landmark-assistant/backups/exports/<run_id>/ |
export와 quantization 검증 후 |
| dataset manifest | gdrive:landmark-assistant/backups/datasets/<snapshot>/ |
학습 시작 전 snapshot 고정 후 |
Server Command
# run directory backup
RUN_DIR=/data/landmark-assistant/runs/sprint1_student_001 \
RUN_ID=sprint1_student_001 \
RCLONE_REMOTE=gdrive \
GDRIVE_BACKUP_PREFIX=landmark-assistant/backups \
bash scripts/backup_run_to_gdrive.sh
backup command는 run directory 전체를 복사한다. 대용량 dataset 원본은 매 run마다 올리지 않고, versioned dataset archive와 manifest만 별도 snapshot으로 관리한다.