New tech3 min read

AI & MLOps, from the ground up

I'm learning how machine learning actually gets built, shipped and kept alive. These are my notes from the very beginning.

The ML lifecycle
The ML lifecycleIllustration: Desly Peter

Everyone is talking about AI. Every app has an AI button now, every company has an AI strategy, and every second post I see is someone explaining how AI will change everything. At some point I realised I'd been reading about it far more than I understood it.

So I decided to stop just reading and actually learn it. Properly, from the ground up. The illustration above is the loop I'm trying to understand: data, training, tracking, serving, monitoring, and back to retraining again.

Why MLOps and not just "AI"

Training a model in a notebook is the fun, exciting part. You load some data, run a few lines of code, and suddenly the computer is predicting things. It feels like magic.

But a model sitting in a notebook on my laptop doesn't help anyone. The hard part, and the part I find genuinely interesting, is everything after that. How do you turn it into something people can actually use? How do you know it still works next month, when the data has changed? How do you update it without breaking things? That's MLOps: the engineering that takes machine learning from an experiment to something reliable.

Building a model is the beginning. Keeping it working is the real job.

My plan

I wrote myself a roadmap. Twenty-four weeks, about 8 to 10 hours a week, starting with Python and data foundations and ending with a model that is deployed, monitored, and can be retrained safely.

The idea I like most is to build one project the whole way through instead of lots of small disconnected exercises. It starts as a simple notebook and grows step by step: into a tested Python package, then a tracked and reproducible training pipeline, then an API, then a container, then something running in the cloud with dashboards watching it. Every new skill gets added to the same system, so I can see why it matters.

My weeks have a rhythm, too: a couple of hours learning concepts, most of the time building, an hour or two on testing and automation, and one hour at the end to look back and write down what I learned. That last hour is the one I'm most tempted to skip, and probably the most important.

Where I actually am

Honestly? Right at the start. Phase 0. I've set up the project, the tools and the structure. My first real test checks that a function calculating an average still gives the right answer with negative numbers. Not exactly artificial intelligence.

But that's kind of the point. My first checkpoint is that a single command can check my code style and run all my tests, and pass. It's small and unglamorous, and it's the foundation everything else will stand on. I'd rather build that properly now than have a clever model on top of a mess later.

The tools I'll be learning

For anyone curious, the plan is one tool per problem to start with: Python with pandas and scikit-learn for the machine learning, pytest for testing, MLflow to track experiments, DVC to version data, FastAPI to serve predictions, Docker to package everything, GitHub Actions to automate it, and Prometheus, Grafana and Evidently to monitor it. My roadmap has a line I keep coming back to: the exact tools matter less than understanding reproducibility, automation, observability and safe change.

What I'd tell someone starting today

Start smaller than you think. Pick a boring, simple problem with public data. Get the basics working end to end before chasing the fancy stuff. And write down what you learn every week, because future you will forget.

I'll keep writing here as I go. The wins, the bugs, and the moments where I have no idea what I'm doing. Which, I suspect, will be most of them.

Status: Phase 0 complete-ish. 23 weeks to go.

— Desly