Foundation models have broad capabilities, but turning that raw intelligence into reliable, real-world systems requires building problem-specific structure, adapting model behaviour, and enabling scalable deployment. In this module, students will gain a hands-on experience of building intelligent systems in three parts: building with foundation models (in-context learning, RAG, tools, memory, agents, multimodal systems), adapting them through fine-tuning (instruction tuning, RLHF, distillation, LoRA), and deploying them as production systems (inference optimisation, APIs, observability).
Foundation models have broad capabilities, but translating that raw intelligence into reliable, real-world systems
requires building problem-specific structure, incorporating domain-specific knowledge and behavioral adaptation through
efficient fine tuning, and enabling scalable deployment. This module focuses on how to bridge that gap by transforming
foundation models into dependable, production-ready intelligent systems.
We will begin with the fundamentals: understanding how foundation models work and how to design evaluations that align with
real-world tasks. Students will then learn how to improving performance for their problem by adding the right external
structure, providing task-specific context (in-context learning), retrieving relevant information (RAG), and integrating
tools to overcome model limitations. Building on this, students will explore how to combine these building blocks into
agentic systems with memory and skills, enabling models to interact with environments and solve more complex
problems. Students will also extend these systems beyond text, developing multimodal systems that can see and hear.
While external structure is powerful, some problems require modifying the model weights. This part of the module focuses on post-training methods for adapting model behaviour and injecting knowledge. Topics we will cover include
instruction tuning, aligning models with human preferences via reinforcement learning from human feedback (RLHF), and
learning through interaction with environments using verifiable rewards. We will also explore efficient post-training techniques, such as parameter-efficient fine-tuning (e.g., LoRA), that
enable meaningful model adaptation without the high computational cost.
The module will conclude with serving and inference optimization, giving students practical exposure to converting their
models into scalable production systems.
This is a project-based module designed to provide hands-on experience. Students will work through the full lifecycle of
building AI systems, from using foundation models via APIs to serving their own fine-tuned models through
production-ready APIs. Along the way, they will gain practical exposure to a wide range of foundational models and key
tools and frameworks, including HuggingFace, Unsloth, LangChain, vLLM, FastAPI, equipping them with the
essential skills needed to build and deploy real-world AI applications.
Students should have programming experience in Python and basic familiarity with machine learning concepts (supervised learning, neural networks), linear algebra and probability. Prior experience with deep learning frameworks (PyTorch) is helpful but not required.