Foundation models have broad capabilities, but turning their raw intelligence into reliable, real-world intelligent 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 such intelligent systems in four parts:
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 will focus 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.
To foster hands-on experience, students will have access to local GPUs in the PGT lab as well as larger compute infrastructure and API access to a wide range of open-source foundation models, thanks to our sponsors.
This is a project-oriented module. The entire grade is based on the three submissions of the project, but students must complete at least 60% of the in-class lab assessments to pass.
Students should have programming experience in Python, ability to use command line and basic familiarity with machine learning concepts (supervised learning, neural networks), natural language processing, linear algebra and probability. Prior experience with deep learning frameworks (PyTorch) is helpful but not required.