Experiments & Reproducibility

What every run must record, why random seeds alone do not reproduce anything, and versioning datasets, labels, features and models so lineage can be traced.

Experiment Tracking

Every run records the code, the data, the features, the configuration, the metrics, the artifacts and the environment. A number without that record is a claim nobody can check.

Q · What must be recorded about a training run for its metric to mean anything a month later?
Reproducibility
▶ lab

Same code, same data, same seed, different number. Reproducibility is a property of the entire environment — kernels, data order, library versions, reduction order across workers — and a seed pins only one of them.

Q · Why does a rerun with the same seed produce a different metric, and what has to be pinned for a training run to be reproducible?
Random Seeds

A seed fixes which random draws the code makes — the split, the initial weights, the shuffle, the dropout masks. Each is a different seed with a different effect, and the variance across them is a number a good comparison reports.

Q · What does a random seed actually control, which seeds matter for which decisions, and why should a metric be reported across several of them?
Dataset Versioning

A table name is not a version. A dataset the model trained on must be an immutable snapshot with an identifier that resolves to the same rows forever — or the run record points at nothing.

Q · How is a training dataset versioned so that a run record resolves to exactly the rows the model saw, and what breaks when the version is a name?
Feature and Model Versioning

A feature name is a contract whose definition changes; a model artifact is a file whose meaning depends on which definition it was trained against. The two versions must travel together, and a mismatch is a production failure with no error message.

Q · How are feature definitions and model artifacts versioned so that the model in production is always fed the features it was trained on?
Model Lineage
▶ lab

Raw data → Dataset v12 → Features v7 → Training Run 482 → Model v19 → Production. The graph that answers "which data did the production model learn from" during an incident, recorded by machines rather than remembered by people.

Q · When a production model misbehaves, how do you trace what it learned from, and what has to be recorded for that trace to exist?