Teaching Assistant for L46@UniOfCam - Michaelmas Term 2023

Master's course, University of Cambridge, Department of Computer Science and Technology, 2023

I run in coordination with Hongxiang Fan and Alexandru-Andrei Iacob the Lab sessions of this course.

Aims

This course will examine the emerging principles and methodologies that underpin scalable and efficient machine learning systems. Primarily, the course will focus on an exciting cross-section of algorithms and system techniques that are used to support the training and inference of machine learning models under a spectrum of computing systems that range from constrained embedded systems up to large-scale distributed systems. It will also touch upon the new engineering practices that are developing in support of such systems at scale. When needed to appreciate issues of scalability and efficiency, the course will drill down to certain aspects of computer architecture, systems software and distributed systems and explore how these interact with the usage and deployment of state-of-the-art machine learning.

Syllabus

Topics covered may include the following, with confirmation a month before the course begins:

  • System Performance Trade-offs
  • Distributed Learning Algorithms
  • Model Compression
  • Deep Learning Compilers
  • Frameworks and Run-times
  • Scalable Inference Serving
  • Development Practices
  • Automated Machine Learning
  • Federated Learning

Primarily, topics are covered with conventional lectures. However, where appropriate, material will be delivered through hands-on lab tutorials. Lab tutorials will make use of hardware including ARM microcontrollers and multi-GPU machines to explore forms of efficient machine learning (any necessary equipment will be provided to students)