TinyML: Efficient Machine Learning

The course "TinyML: Efficient Machine Learning" starts in the summer term 2025.

More information is available in Stud.IP

Abstract

This course is a course at the intersection of Machine Learning and Embedded IoT Devices. The pervasiveness of ultra-low-power embedded devices, coupled with the introduction of embedded machine learning frameworks, will enable the mass proliferation of AI-powered IoT devices. The rapid growth of machine learning and how easy it is to use machine learning platforms make it an important subject for computer science students to learn about today.

This course is primarily aimed at Master students.

Objectives

At the end of the course, students will have learned the following:

  • Practical experience through hands-on project assignments
  • Gained familiarity with cutting-edge literature and frameworks in the field of TinyML
  • Know how to train and deploy models on microcontrollers
  • Conceived and developed a (novel) TinyML application running on a MCU

Contents

This course is a deep dive into efficient machine learning techniques that enable powerful deep learning applications on resource-constrained devices.

Topics covered

  • Brief recap / introduction to ML and IoT
  • efficient inference techniques, including model compression, pruning, quantization, neural architecture search, and distillation;
  • and efficient training techniques, including distributed training, gradient compression and on-device transfer learning;

Our lectures provide students with the required fundamentals, and exercise and projects give students a hands-on experience in developing embedded AI systems & applications and exploring their real-world challenges. This course offers learning experiences that involve hands-on experimentation and analysis as they reinforce student understanding of concepts and their application to real-world problems. Overall, this course provides the students the ability to understand fundamental issues in the design of methods for embedded AI systems and applications.

Additional prerequisites

A student should have taken courses on Internet of Things or embedded systems. Further, we expect students to have taken a course on machine learning and especially neural networks (including knowledge of backpropagation and experience in TensorFlow, PyTorch or similar platforms). Moreover, C programming skills are expected, as we will be using embedded IoT devices.