Techniques for developing energy- and time-efficient ML algorithms, model compression, hardware-aware design, and neural architecture co-design for embedded and edge computing systems.
Machine learning (ML) has gradually become the core component of wide applications in different computing scenarios, ranging from edge computing to cloud computing. This course focuses on resource-constrained edge computing — in particular, embedded systems — and introduces techniques for developing energy- and time-efficient ML algorithms and models. Topics covered include: (i) commonly used ML algorithms, (ii) ML model compression techniques, (iii) hardware-aware machine learning, and (iv) hardware and neural architecture co-design. The course also provides a comprehensive team-based development experience through projects (ECE 677).
Students who complete this course will be able to:
Grade scale: A ≥ 90% · B 80–90% · C 70–80% · D 60–70% · F < 60%. Curving at instructor's discretion.
| Week | Topic | Reading |
|---|---|---|
| Module 1 — Machine Learning in the Software Perspective | ||
| 1 – 2 | Basics of ML | Text 1, Ch. 1 |
| 2 – 3 | Deep Convolutional Neural Networks | Text 1, Ch. 2 & 3 |
| 4 | Natural Language Processing | Text 2 |
| 5 | Large Language Models | Text 2 & Website |
| 6 | Advanced ML Networks | Website Links |
| Module 2 — Machine Learning in the Hardware Perspective | ||
| 7 | Model Compression | Text 1, Ch. 7, 8 & 9 |
| 8 | ML Accelerator Design | Text 3 |
| 9 | Neural Architecture Search | Website Links |
| 10 | Reinforcement Learning | Website Links |
| Module 3 — Efficient Large Language Models | ||
| 11 – 13 | Model Reduction and Training Techniques | TBD |