AI / ML Engineer · Focus area 2: MLOps
ML9: MLOps: tracking, monitoring and retraining
Goal: treat models like software that changes: record every experiment, version data and models, watch a live model's inputs, outputs and results, detect drift, and retrain and roll back safely.
You'll need: ML1 to ML8, Module 71 (CI/CD), Module 72 (Production Operations), Python 3.11 or newer, and the DakDost practice kit.
Where this is used: a model that was good at launch gets worse as the world changes: a monsoon, a new city, a price change, a new app screen. MLOps is the set of habits and tools that notice this early and let a team fix it without guesswork.
How it differs: in ordinary software, code changes cause most problems. In ML, the data changes too, even when nobody touches the code. So monitoring has to watch the data and the model's behaviour, not only errors and speed, and releases include model versions as well as code versions.
Time: reading about 2 hours · practice (the Try it tasks) about 3 hours · assignment about 3 hours.
Lessons
- 1Experiment tracking and reproducibilityReading 15–25 minutes, plus practice✓
- 2Versioning data and modelsReading 15–25 minutes, plus practice✓
- 3Monitoring a live modelReading 15–25 minutes, plus practice✓
- 4Drift: when the world movesReading 15–25 minutes, plus practice✓
- 5Retraining, rollback and keeping the card currentReading 15–25 minutes, plus practice✓
🛠️Assignment: Keeping DakDost's model healthy
This is the second part of Project 2.
- Write
dakdost/drift.pywith PSI for every feature, five quantile bins for numbers, levels of 0.1 and 0.2, a JSON report and exit codes. - Run it on July and August and record the results.
- Add
dakdost_requests_total,dakdost_request_secondsanddakdost_flagged_totalto the API's/metrics. - Score July and August with the saved model and compare the share flagged and, using the outcomes in the files, precision and recall.
- Write a one-page monitoring and retraining plan: what is watched, the alert levels, who acts, the gate and the rollback.
Self-check before you finish:
- [ ] July exits 0 and August exits 1.
- [ ] Your report names
address_qualityanddest_zonefor August. - [ ]
/metricscounts each request. - [ ] Your plan says what happens before outcomes arrive.
- [ ]
pytest tests/test_serve.pytests 7 and 9 pass.
✅Module check
Explain in a few sentences, in your own words:
How do you keep a model working well after launch?
Show a good answer
A good answer mentions: recording code, data, settings, seeds, versions and results for every run; versioned data and models, a registry and prediction logs with model versions so outcomes can be joined later; monitoring the service, inputs, outputs and results, with the share flagged as an early signal and alerts that have owners; PSI for input drift, bins checked on a normal month, and concept drift seen in results; and retraining on a policy, gated against the current model on the same recent data, released through shadow and canary with a way back, with the model card regenerated each time.
📚Official references
Official documentation and guidance for this module's topics, chosen on 2 November 2026. Tools, laws and standards change, so check the current version before you rely on a detail. If a link has moved, search the same site.
📝Module quiz
10 questions · 10 marks each · 100 marks in all · pass mark 70% · retry as often as you like ·
