AI / ML Engineer: The Complete Course
Training models, not just calling them, and then keeping them correct after they ship. The roadmap calls this "the infrastructure-and-training track, distinct from AI engineering": it "demands more mathematics and more systems depth", and it is for people who "want to build the systems that produce and serve models". Its central claim is the one this course is built around: "Training a model is a bounded problem with a clear finish. Keeping a model correct in production is unbounded, and that is where nearly all the engineering time actually goes."
You build one model: kestrel-late-risk at Kestrel, a UK parcel-delivery company with a Leicester hub, nine depots and about 210,000 parcels a day. The model predicts the chance that a parcel misses its promised day, so Kestrel can warn customers at 06:00 and send its few spare vans where they are needed. A prototype from last spring scored well, but nobody could rerun it, it trained on a column known only after delivery, and it has never seen a parcel from Doncaster, the depot that opened in August. You carry the real model from raw depot scans to a gated, benchmarked, monitored service, in one repository, with a decision record for every choice that needed one. Kestrel is fictional and its data is simulated; every lesson also opens with a real, cited case.
Who this course is for
You can write Python and you have seen a pandas DataFrame. The learner ranges from a beginner with some Python to a working engineer who has trained models but never run one in production.
| You are... | Start at |
|---|---|
| New to machine learning, comfortable with Python | Module 1, and go in order |
| A data scientist who trains models in notebooks | Module 2, then Modules 5 to 11 closely |
| A software engineer moving into ML | Module 1, then Module 3; Module 2 as a quick check |
| An ML engineer who has never owned a model in production | Modules 9, 10 and 11, then the capstone |
| Building products on models other people trained | The AI Engineering course is the better fit and the faster one, as the roadmap says |
| New to Python | The Python course first |
Every module's README says what you need first, and every lab from Module 2 on rebuilds the earlier modules' files, so you can start at any module.
The modules
| # | Module | What you add to Kestrel |
|---|---|---|
| 1 | Mathematical Foundations | The repository, the shared data with fingerprint tests, and a from-scratch logistic baseline |
| 2 | Software and Systems Engineering | Kestrel as an installable, tested package with a CLI, a Makefile, a Dockerfile and CI |
| 3 | Classical Machine Learning | Model v1, a tuned LightGBM judged against honest baselines, and ADR-001 |
| 4 | Deep Learning | A network tried against the trees, the message intent classifier, and ADR-002 |
| 5 | Data Engineering for ML | The daily data path through a data contract, a Parquet lake and online features, and ADR-003 |
| 6 | Experimentation | Model v2 from a tracked search, compared with v1 by a significance test |
| 7 | Training at Scale | A resumable training run and its measured cost, and ADR-004 |
| 8 | Model Optimisation | Model v2 in ONNX, benchmarked for percentiles and cost per thousand, and ADR-005 |
| 9 | Serving and Inference | The FastAPI scoring service, batch and online, with a fallback and an SLO, and ADR-006 |
| 10 | MLOps | Continuous training with a registry, gates, a September replay and ADR-007 |
| 11 | Monitoring and Reliability | A monitoring job replaying September, tuned alerts, a postmortem and ADR-008 |
| 12 | Foundation Models | A LoRA adapter, an eval harness and a regression gate for message models, and ADR-009 |
| 13 | Specialisation | Tabular and risk taken to depth, and one paper result reproduced on model v2 |
| 14 | Responsible ML | Fairness, explanations, an audit trail, the model card and ADR-010 |
| 15 | Professional Practice | Framing and refusing work with numbers, and the repository ready for strangers |
| 16 | Capstone | One model in production that keeps working without you watching it, and the roadmap's five questions answered |
40 lessons, 282 topics (193 Essential, 74 Recommended, 15 Optional). Each taught module ends with a lab and an incident file; Module 16 is one lab.
How to run it
- All code runs in Google Colab on the free CPU. Paste each block into a cell in order and run it. Five lessons show a faster or fuller path on a free Colab T4; each also runs on a CPU.
- The labs keep the repository in your Google Drive, so it survives between sessions. Setup, the pinned libraries and the one price table: course-guide/02-setup-colab-and-llm-providers.md.
- Running the repository on your own computer, Ollama, and the parts Colab cannot run: course-guide/07-run-locally.md.
Shown but not run
- Hosted language models. Only Modules 12 and 13 reach for one, through the same setup cell (Groq, Gemini or Ollama, changed by one word) and its
ask()guard. By the owner's rule for this course, no hosted model was called in testing: those paths were checked with scripted fakes, labelled as fakes, and no fake's reply is presented as a model's answer. - Closed and managed platforms (SageMaker, Vertex AI, Databricks, Weights & Biases, Arize, WhyLabs, TensorRT, Triton and others) appear beside the open-source tool the course runs, as official snippets labelled "not run here".
- Local only. Docker and Docker Compose, GitHub Actions, Kubernetes, the MLflow and Evidently UIs as servers, vLLM and Ollama, and multi-GPU training are written as files and exact local steps from official documentation, and stated as not run in the course.
Course guide
| File | Read it when |
|---|---|
| 01-how-this-course-works.md | Before your first lesson |
| 02-setup-colab-and-llm-providers.md | Before you run any code; Colab, Drive, the optional GPU, the setup cell, pins and prices |
| 03-kestrel.md | To meet the company, the people, the dates and the files each module adds |
| 06-shared-data.md | To see the data every lesson reuses, the code that makes it and the traps planted in it |
| 07-run-locally.md | To run the repository on your own computer, with Ollama, Docker and the rest |
| 04-style-guide.md | Only if you are writing or editing lessons |
| 05-image-style-guide.md | Only if you are drawing the course figures |
The one idea
The roadmap's capstone is "one model that lives in production and keeps working without you watching it. The training is the easy part; everything around it is the job." Every component in this course earns its place with a number: a leak it removes, a drift it catches, a millisecond or a pound it saves, or a rollback it makes possible.