Skip to content

The ML Lifecycle

Version Everything, or It Never Happened

9 min+90 XPStep 1/10

Git is not enough

In classical software, versioning the code buys reproducibility: same commit, same binary, same behavior. In ML the model is a function of code × data × config × luck. Same commit on a different data snapshot produces a different model, every time.

So the on-call question 'what exactly trained the model in prod right now?' needs four answers, not one. If you can't produce all four, you're one incident away from archaeology — digging through Slack to reconstruct what somebody thinks they ran.

warning

'I think it was trained on the January dump' is not versioning. It's a rumor with a timestamp.