Intermediate · after the Python course
AI Engineering & Accelerated Computing
Beta This course is a beta version. Lessons, exercises and translations are still being reviewed and may change. Report anything that looks wrong with the feedback button.
An engineering course, not a tour of buzzwords. You implement the core ideas yourself (vectorised maths, gradient descent, a neural network with backpropagation, honest evaluation), checked automatically in your browser. Then you move to PyTorch and accelerated hardware on your own computer, measuring what GPUs actually change, and finish by optimising and serving a model with its limits documented.
- Modules
- 12
- Lessons
- 29
- Time
- ~13 hours
- Projects
- 2
What you'll be able to do
- Write vectorised numerical code with NumPy, and reason about array shapes
- Train models by gradient descent, and evaluate them without fooling yourself
- Implement a small neural network with backpropagation, and verify its gradients
- Use PyTorch on CPU and GPU, and measure performance correctly
- Make a model faster and smaller for inference, and serve it responsibly
- Reason about queues, batching, mixed precision and profiles
- Read CUDA kernels, and reason about their memory traffic and races
- Package, roll out and operate a service, with cost and security in view
Who it's for
People who program comfortably in Python (the Python course, through its professional levels, or equivalent) and want to build machine-learning systems properly, not just call a library.
What you need
Python with functions, classes and lists of dictionaries; school algebra (functions, sums). The linear algebra and probability you need are taught here, in context. Levels 1 to 3 and the measurement exercises run in your browser on the CPU. The PyTorch and GPU levels run on your own computer: any recent laptop works on the CPU; GPU exercises need an NVIDIA GPU with CUDA (or an Apple-silicon Mac for the MPS variant), and say so.
What you'll build
- GPU Lab (needs an NVIDIA GPU)
- End-to-End AI System
Curriculum
Foundations: Learning from DataNumPy, gradient descent, evaluation and neural networks, implemented and checked in your browser. 3 modules · 9 lessons
- 1 Thinking in ArraysNumPy, shapes, vectorisation and the linear algebra machine learning actually uses.
- 2 Learning from DataModels, losses, gradient descent, and evaluation that doesn't lie.
- 3 Neural Networks from ScratchLogistic units, backpropagation and a gradient check, so that PyTorch holds no mysteries.
Accelerated: PyTorch, GPUs and InferenceFrameworks, hardware, measurement, optimisation and serving, on your own machine. 2 modules · 6 lessons
- 4 PyTorch and GPUsThe same ideas with a framework and an accelerator, run on your own computer, measured honestly.
- 5 Inference, Optimisation and ServingLatency and throughput, smaller models, and putting a model behind an API responsibly.
Systems: Serving at ScaleArchitecture, queues, batching, mixed precision and profiling. 2 modules · 4 lessons
- 6 AI System ArchitectureOnline or batch, API contracts, queues and dynamic batching.
- 7 Mixed Precision and ProfilingFewer bits, and finding the real bottleneck.
GPU Internals and CUDAHardware, thread hierarchy, memory and correctness. Concepts run here; real CUDA needs an NVIDIA GPU. 2 modules · 5 lessons
- 8 GPU ArchitectureWhy GPUs are fast at some things, and what they can't hide.
- 9 CUDA FundamentalsHierarchy, kernels, memory, synchronisation and correctness.
ProductionPackaging, deployment, reliability, security, cost and the capstone. 3 modules · 5 lessons
- 10 Packaging and DeploymentContainers, artefacts and rollout.
- 11 Reliability, Security and CostRunning it after launch.
- 12 Capstone: an AI System, End to EndData, training, honest evaluation, optimisation and serving, with every claim measured.