Introduction
A famous Google paper pointed out that in real ML systems, the ML code is only a small box in the middle of a big diagram. Around it sit data collection, data validation, feature pipelines, configuration, serving infrastructure, monitoring and more — and those are where most of the work and most of the problems are.
MLOps (machine learning operations) is the set of practices for building, deploying and maintaining ML systems reliably, borrowing ideas from DevOps (how software teams ship code safely and often) and adapting them to ML.
Why is ML harder than ordinary software?
| Ordinary software | ML system |
|---|---|
| behaviour defined by code | behaviour defined by code + data + training |
| tests check fixed logic | outputs are statistical; "correct" is fuzzy |
| doesn't change unless you change it | degrades silently as the world changes (drift) |
| version the code | version code, data, features, models and parameters |