This course is motivated by the need to build intelligent systems that operate at scale across multiple agents, data sources, and compute nodes, where centralized control is impractical. Such challenges arise in domains such as autonomous systems, smart infrastructure, large-scale platforms, and privacy-sensitive applications. The course presents a unified toolset for distributed artificial intelligence, covering multi-agent reinforcement learning, distributed training, and federated learning to address scalability, coordination, and data decentralization.
Distributed intelligence systems are built from a set of core building blocks that enable learning and decision-making without centralized control. These include multi-agent reinforcement learning(MARL) for coordination and interaction among agents, distributed training techniques for scaling learning across multiple compute nodes, and federated learning for training models on decentralized, privacy-sensitive data. Together, these components address fundamental challenges of scalability, coordination, and data locality, enabling intelligent systems to operate robustly across agents, platforms, and environments.
The course follows a code-first approach, pairing each concept with hands-on examples that use widely adopted tools for distributed artificial intelligence. These include Ray and PyTorch Distributed for scalable distributed training, RLlib and PettingZoo for multi-agent reinforcement learning, and Flower and FedML for federated learning. Together, these tools equip students with a practical toolbox for building, training, coordinating, and scaling distributed intelligent systems across agents, data sources, and compute nodes..
The course syllabus is designed to enable students to begin their projects while learning the material. As the course continues, they will enrich their projects with the concepts they acquire. Each team will give several in-class presentations for discussion and feedback.
As standard tasks are increasingly handled by AI and existing mature libraries, expectations of professional developers shift toward innovation and rapid integration. Accordingly, a key requirement for student course projects is to tackle new use cases by generating unique data and training or fine-tuning task-specific language models.
The list below presents the complete set of subjects; individual course instances may vary depending on the course format, students’ backgrounds, and class dynamics.
Browse course offerings