Why Track Experiments
Memory is not a storage system
Without tracking, every experiment is a guess in the dark: what dataset, what code, what parameters produced that score? Tracking turns model development into an auditable, comparable process.
What you will learn
- Explain why raw scores without context are worthless
- List the core pieces a tracked run must record
- Describe how tracking changes team collaboration
What is this?
Experiment tracking is the practice of recording every training run's parameters, code version, data version, metrics and artifacts so the run can be replayed, compared and defended. A tracked run answers 'what produced this number' — untracked runs answer nothing.
Why do you need it?
- ML experimentation is iterative: the 40th model only makes sense next to runs 1–39.
- An impressive metric without its recipe is a rumor; auditors and stakeholders need the recipe.
- Tracking enables collaboration — another data scientist can build on your run instead of redoing it.
- Regression hunting requires before/after comparisons; tracking is the diff tool.
Mental model
A lab notebook
Experiment tracking
A chemist records reagents, conditions and results because a result without a method is unusable. A tracked ML run is the same notebook — machine-readable, comparable and shared.
How it works
- Each training invocation creates a 'run' with a unique ID.
- Parameters (the inputs you set) are logged as key-values.
- Metrics (the outputs you evaluate) are logged during and after training.
- Artifacts — model files, plots, datasets previews — are attached to the run.
- Environment info (git commit, library versions, data hash) pins the context.
- Runs are indexed, searchable and sortable for comparison.
Anatomy of a tracked run.
In production
- A DS team compares 120 nightly runs across 6 model families by searching metrics and sorting winners.
- A compliance review points at production model 'v12' and the tracker reproduces its exact training recipe.
- A candidate model regresses in staging; the team diffs its tracked features against the champion.
Best practices
- Track from your very first run — retrofitting tracking is nearly impossible.
- Log parameter defaults explicitly, not just overrides.
- Make run names meaningful (model-family/data-window), not 'final_v2'.
- Add tags for ownership, experiment line and hypothesis.
Common mistakes
- Printing numbers to console instead of logging them.
- Naming runs 'final', 'final_v2', 'final_really'.
- Logging parameters after the run finished, corrupting the recipe.
- No data version in the run, so the recipe is incomplete.
Debugging tips
- Can't reproduce a good run? Rebuild the recipe from its tracked params, commit and data hash.
- Two runs 'identical' but different scores? Diff the environment and data versions in the tracker.
Interview checkpoint
Quick quiz
Recording only the final accuracy is enough to reproduce a model.
Which of these belongs in a run's recorded context?