Your Progress
Mark a page complete using the control at the bottom of it, and it appears here.
Where you are
Section titled “Where you are”Level 1 — AI Literate
0 of 4 parts started
Level 2 — Local Operator
0 of 6 parts started
Level 3 — Model Builder
0 of 7 parts started
Level 4 — Cluster Architect
0 of 6 parts started
Level 5 — Agentic Engineer
0 of 5 parts started
Every page
Section titled “Every page”0 / 184 lessons completed
Progress tracking needs browser storage, which is unavailable here. The course works exactly the same without it.
This browser is not allowing the course to store progress (private browsing or blocked site data). Everything else on the site works normally.
Part 1Machine Learning Foundations for LLM Work
0 / 5 lessons in this part completed
Progress tracking needs browser storage, which is unavailable here. The course works exactly the same without it.
Part 2What a Language Model Is
0 / 6 lessons in this part completed
Progress tracking needs browser storage, which is unavailable here. The course works exactly the same without it.
Part 3How Models Are Made and Improved
0 / 6 lessons in this part completed
Progress tracking needs browser storage, which is unavailable here. The course works exactly the same without it.
- Pretraining: Learning from Trillions of Tokens
- Post-Training: SFT, Preference Tuning and Reinforcement Learning
- Distillation, Pruning and Quantisation: How Small Models Get Good
- Inference: Prefill, Decode and Why Memory Bandwidth Rules
- Open Weights, Open Source and Licences
- Reality Check: 'A Small Local Model Is as Good as the Frontier'
Part 4The Open-Weight Model Landscape
0 / 6 lessons in this part completed
Progress tracking needs browser storage, which is unavailable here. The course works exactly the same without it.
Part 5Your Hardware: Four Platforms, One Course
0 / 7 lessons in this part completed
Progress tracking needs browser storage, which is unavailable here. The course works exactly the same without it.
- Why Memory, Not FLOPS, Decides What You Can Run
- NVIDIA DGX Spark: GB10, DGX OS and the aarch64 Caveat
- AMD Ryzen AI Max+ 395: Strix Halo, ROCm and Vulkan
- Apple Silicon: Unified Memory, Metal and MLX
- NVIDIA Desktops and Laptops: VRAM Tiers, CUDA and WSL2
- Lab: Prepare Your Machine
- Lab: Measure Your Memory Bandwidth and Compute
Part 6First Inference with llama.cpp
0 / 7 lessons in this part completed
Progress tracking needs browser storage, which is unavailable here. The course works exactly the same without it.
- llama.cpp: The Engine That Runs Everywhere
- Installing and Building llama.cpp on Your Platform
- GGUF and Quantisation Types
- llama-cli and llama-server
- Sampling: Temperature, Top-p, Min-p, Repetition and Determinism
- Lab: Run and Benchmark the Course Reference Models
- Challenge: The Model That Runs at Two Tokens per Second
Part 7Ollama, LM Studio and the Desktop Experience
0 / 6 lessons in this part completed
Progress tracking needs browser storage, which is unavailable here. The course works exactly the same without it.
Part 8Platform-Native Engines: MLX, TensorRT-LLM and ROCm
0 / 5 lessons in this part completed
Progress tracking needs browser storage, which is unavailable here. The course works exactly the same without it.
Part 9Serving at Scale: vLLM and SGLang
0 / 8 lessons in this part completed
Progress tracking needs browser storage, which is unavailable here. The course works exactly the same without it.
- Why a Second Kind of Engine: Batching, Paged Attention and Throughput
- Installing vLLM: x86 CUDA, DGX Spark, ROCm and What Does Not Work
- Serving with vLLM: Quantised Weights, Context, Memory and Multi-GPU
- SGLang: When to Choose It
- Tool Calling and Structured Output on the Server Side
- Speculative Decoding: Draft Models, EAGLE and n-gram
- Lab: Serve a Model to Twenty Concurrent Users
- Project: Your Local Model Gateway
Part 10Putting Models to Work
0 / 8 lessons in this part completed
Progress tracking needs browser storage, which is unavailable here. The course works exactly the same without it.
- Prompting That Works Locally: System Prompts, Chat Templates and Thinking Modes
- Structured Output and JSON Mode
- Local Coding Assistants: Autocomplete and Chat in Your Editor
- Retrieval-Augmented Generation: Embeddings, Chunking and Vector Stores
- Vision, Speech and Documents: Multimodal Locally
- Privacy, Security and Serving Beyond localhost
- Project: A Private Document Question-Answering Service
- Lab: Benchmark Local Models on Your Own Tasks
Part 11The Training Toolchain
0 / 6 lessons in this part completed
Progress tracking needs browser storage, which is unavailable here. The course works exactly the same without it.
- PyTorch, Transformers, Datasets and the Hugging Face Ecosystem
- Setting Up a Training Environment on Each Platform
- Memory Arithmetic for Training: Weights, Gradients, Optimiser States and Activations
- Datasets: Formats, Chat Templates, Tokenisation and Packing
- Experiment Tracking and Reproducibility
- Lab: Your First Training Run
Part 12Pretraining a Small Model from Scratch
0 / 6 lessons in this part completed
Progress tracking needs browser storage, which is unavailable here. The course works exactly the same without it.
Part 13Supervised Fine-Tuning: LoRA, QLoRA and Full Fine-Tunes
0 / 9 lessons in this part completed
Progress tracking needs browser storage, which is unavailable here. The course works exactly the same without it.
- What Fine-Tuning Changes and What It Cannot
- LoRA and QLoRA Explained
- Building an SFT Dataset
- Fine-Tuning with TRL and PEFT
- Unsloth, Axolotl, LLaMA-Factory and mlx-lm: Higher-Level Tools
- Merging, Exporting and Quantising a Fine-Tuned Model
- Lab: Fine-Tune a 1B to 4B Model to Follow Your Format
- Project: A Specialist Assistant
- Challenge: The Fine-Tune That Got Worse
Part 14Preference Optimisation and Reinforcement Learning
0 / 8 lessons in this part completed
Progress tracking needs browser storage, which is unavailable here. The course works exactly the same without it.
- From Imitation to Preferences: Why Ranking Beats Copying
- DPO and Its Family: IPO, KTO, ORPO and SimPO
- Lab: DPO a Model to Prefer Your Style
- Reinforcement Learning with Verifiable Rewards: GRPO Explained
- Reward Functions: Maths, Code Tests, Format and Length
- The RL Toolchain: TRL, Unsloth, verl, OpenRLHF and vLLM Rollouts
- Lab: GRPO on a Maths or Code Task on One Machine
- Reality Check: 'RL Makes Small Models Reason'
Part 15Knowledge Distillation: Big Teacher, Small Student
0 / 9 lessons in this part completed
Progress tracking needs browser storage, which is unavailable here. The course works exactly the same without it.
- Why Distillation Works
- Three Kinds of Distillation: Logit, Sequence and On-Policy
- Reasoning Distillation: Teacher Traces as Training Data
- Generating Synthetic Data with a Local Teacher
- Lab: Sequence-Level Distillation of a 30B-Class Teacher into a 4B Student
- Lab: Logit Distillation with TRL's Distillation Trainers
- Pruning and Compression: Prune-and-Distil
- Challenge: The Student That Learned the Teacher's Mistakes
- Project: The Distillation Pipeline
Part 16Quantisation and Evaluation, Properly
0 / 8 lessons in this part completed
Progress tracking needs browser storage, which is unavailable here. The course works exactly the same without it.
- Post-Training Quantisation in Depth: GPTQ, AWQ, K-quants, imatrix and HQQ
- Quantisation-Aware Training and the Blackwell Formats: FP8, NVFP4 and MXFP4
- Measuring Quantisation Damage: Perplexity, KL Divergence and Task Evaluations
- Evaluation Harnesses: lm-evaluation-harness, lighteval, EvalPlus and Your Own
- LLM-as-Judge, Contamination and Honest Reporting
- Lab: Quantise Your Fine-Tune Five Ways and Measure Each
- Lab: Run a Standard Benchmark Suite on Your Model
- Challenge: The Benchmark That Lied
Part 17Faster Inference: Speculative Decoding, Caching and Draft Models
0 / 4 lessons in this part completed
Progress tracking needs browser storage, which is unavailable here. The course works exactly the same without it.
Part 18Beyond One Machine: Parallelism and Networks
0 / 5 lessons in this part completed
Progress tracking needs browser storage, which is unavailable here. The course works exactly the same without it.
Part 19Clustering with llama.cpp RPC
0 / 5 lessons in this part completed
Progress tracking needs browser storage, which is unavailable here. The course works exactly the same without it.
Part 20NVIDIA Clusters: DGX Spark Pairs, vLLM Multi-Node and Multi-GPU Desktops
0 / 5 lessons in this part completed
Progress tracking needs browser storage, which is unavailable here. The course works exactly the same without it.
Part 21Apple Clusters: MLX Distributed and exo over Thunderbolt 5
0 / 4 lessons in this part completed
Progress tracking needs browser storage, which is unavailable here. The course works exactly the same without it.
Part 22Disaggregated Serving: Prefill Machines and Decode Machines
0 / 7 lessons in this part completed
Progress tracking needs browser storage, which is unavailable here. The course works exactly the same without it.
- Why Prefill and Decode Want Different Hardware
- The KV Cache as a Transferable Object: Mooncake, LMCache and NIXL
- vLLM Disaggregated Prefill: Connectors and the Proxy
- SGLang PD Disaggregation and NVIDIA Dynamo
- Lab: Two-Machine Prefill and Decode with vLLM
- Lab: KV Cache Offload and Sharing
- Project: A Tiered Inference Architecture
Part 23Operating a Local AI Service
0 / 7 lessons in this part completed
Progress tracking needs browser storage, which is unavailable here. The course works exactly the same without it.
- Routing and Model Management: llama-swap, LiteLLM, NGINX and Health Checks
- Observability: Metrics, Logs and Traces for LLM Serving
- Capacity Planning and Cost per Million Tokens at Home
- Security for Exposed Endpoints and the Model Supply Chain
- Backup, Upgrades and Reproducibility of a Model Estate
- Lab: Dashboards for Your Cluster
- Challenge: The 3 a.m. Out-of-Memory
Part 24Tool Calling, MCP and the Agent Loop
0 / 7 lessons in this part completed
Progress tracking needs browser storage, which is unavailable here. The course works exactly the same without it.
Part 25Coding Agents on Local Models
0 / 11 lessons in this part completed
Progress tracking needs browser storage, which is unavailable here. The course works exactly the same without it.
- The Landscape: Terminal, Editor and Autonomous Agents
- Which Local Models Can Actually Drive an Agent
- Aider with Local Models
- OpenAI Codex CLI and OpenCode with Local Models
- Claude Code with a Local Endpoint
- Editor Agents: Cline, Kilo Code, Continue and the Proprietary Editors
- Goose and OpenHands: Autonomous Agents and Sandboxing
- Lab: One Task, Six Agents
- Lab: Sandbox Your Agent: Containers, Permissions and Secrets
- Challenge: The Agent That Escaped the Sandbox
- Project: A Local Agentic Coding Workstation
Part 26Building Agent Systems
0 / 7 lessons in this part completed
Progress tracking needs browser storage, which is unavailable here. The course works exactly the same without it.
- Agent Frameworks Compared
- Multi-Agent Patterns: Router, Planner and Executor, Critic, Parallel Fan-Out
- Agentic Retrieval and Research Agents
- Evaluating Agents: Trajectories, Success Rates and Cost
- Safety: Prompt Injection, Tool Permissions and Human-in-the-Loop
- Project: A Multi-Agent System on Your Cluster
- Reality Check: 'Agents Are Just Loops'
Part 27Improving a Model for Your Agents
0 / 5 lessons in this part completed
Progress tracking needs browser storage, which is unavailable here. The course works exactly the same without it.
CapstoneCapstone: Build and Defend Your Own Local AI Platform
0 / 7 lessons in this part completed
Progress tracking needs browser storage, which is unavailable here. The course works exactly the same without it.