THE UNIVERSITY of EDINBURGH

DEGREE REGULATIONS & PROGRAMMES OF STUDY 2024/2025

Timetable information in the Course Catalogue may be subject to change.

University Homepage
DRPS Homepage
DRPS Search
DRPS Contact
DRPS : Course Catalogue : School of Informatics : Informatics

Undergraduate Course: Machine Learning Systems (INFR11269)

Course Outline
SchoolSchool of Informatics CollegeCollege of Science and Engineering
Credit level (Normal year taken)SCQF Level 11 (Year 4 Undergraduate) AvailabilityAvailable to all students
SCQF Credits20 ECTS Credits10
SummaryThe course on 'Machine Learning Systems' introduces the design of such systems and highlights their application in the hands-on experience of large-scale AI infrastructure. Students will acquire the skills necessary to analyse and implement (i) systems that retrieve large-scale data and (ii) systems that train and deploy large-scale machine learning models.
Course description The core learning objective of this course is to equip students with the skills needed for analysing and implementing systems for data retrieval, and subsequently for the training and deployment of ML models. The course will be delivered through a combination of (1) live lectures, (2) guest lectures, (3) feedback lectures, and (4) an online discussion forum such as Piazza.

The course content may slightly vary from year to year but will include many of the following topics:

Systems for data retrieval:
- Classify and model different types of data (e.g., key-values, graphs, tensors).
- Construct queries to extract data from given datasets (e.g., key-value queries, graph queries, tensor similarity queries).
- Analyse query results and assess the quality of results.
- Analyse the performance of the query and employ techniques to enhance query performance.

Systems for training models:
- Understand the ML system architectures (e.g., PyTorch).
- Understand the ML chip architectures (e.g., GPU architecture, AI chips).
- Understand methods for profiling and accelerating ML systems (e.g., NVProfiler).
- Understand approaches for designing distributed ML systems (e.g., DeepSpeed).
- Understand the approaches for managing resources in ML training clusters (e.g., GPU training clusters).

Systems for deploying models:
- Understand the methods for deploying ML models (e.g., model checkpoints).
- Understand the methods for accelerating the inference of ML models (e.g. model compression, quantization).
- Understand the approaches for managing resources in ML inference clusters (e.g., serverless inference).
- Understand potential safety and privacy issues with ML deployment (e.g., trusted hardware, federated learning).
Entry Requirements (not applicable to Visiting Students)
Pre-requisites Co-requisites
Prohibited Combinations Students MUST NOT also be taking Machine Learning Systems (UG) (INFR11280)
Other requirements MSc students must register for this course, while Undergraduate students must register for INFR11280 Machine Learning Systems (UG) instead.
Information for Visiting Students
Pre-requisitesNone
High Demand Course? Yes
Course Delivery Information
Academic year 2024/25, Not available to visiting students (SS1) Quota:  0
Course Start Semester 2
Timetable Timetable
Learning and Teaching activities (Further Info) Total Hours: 200 ( Lecture Hours 26, Feedback/Feedforward Hours 2, Revision Session Hours 2, Programme Level Learning and Teaching Hours 4, Directed Learning and Independent Learning Hours 166 )
Assessment (Further Info) Written Exam 0 %, Coursework 100 %, Practical Exam 0 %
Additional Information (Assessment) Written Exam _____%
Coursework _100_%

As this is a practical course covering a wide range of topics in building an ML system, it is coursework only. The coursework will cover three key stages in building an ML system: data retrieval, model training, and model deployment. The coursework submission will include a final report and the source code for implementing an ML system. The final report and source code will be provided with a template to help students get started. In the final report, students will be asked to describe the architecture of the adopted system, profile system performance, implement performance enhancement solutions, and present the system solutions to target users. The evaluation is based on learning outcomes 1, 2, 3, 4, and 5.
Feedback The feedback provided to the students will be varied forms: (1) coursework feedback, (2) lecture content feedback, and (3) general course feedback.
No Exam Information
Learning Outcomes
On completion of this course, the student will be able to:
  1. Understand different types of data, queries, workflows, and architectures of machine learning systems. Demonstrate the appropriate choice and use of particular data structures, and architectures.
  2. Construct, analyse and profile implementation to given machine learning systems and iteratively improve the performance of those systems.
  3. Compare and evaluate different systems and suggest/synthesise an appropriate system adoption solution.
  4. Present the system solutions and engage in professional dialogue with peers to improve their solutions.
  5. Reflect on the wider quality and security issues of data and machine learning models when discussing with specialist practitioners.
Reading List
The course will be self-contained with no required book.
Additional Information
Graduate Attributes and Skills Research and Inquiry:
This course aims to significantly enhance students' capabilities in solving real-world machine learning (ML) problems, with a strong emphasis on analytical and critical thinking skills directed at the performance and bottlenecks encountered in data-centric ML programs. Students will learn to manage ambiguity by accurately modelling data from real-world datasets and constructing effective queries. The competencies developed in both data handling and ML will foster an integrated approach to knowledge application when devising comprehensive coursework solutions.

Personal Effectiveness:
The coursework is structured into three stages, culminating in a requirement for students to submit a report that describes their programs, profiling results, strategies for addressing associated problems, thereby refining their planning and organizational skills. Creating a real-world ML system can broaden into wider business applications, potentially opening avenues for entrepreneurship.

Personal Responsibility:
We will instruct students on ensuring data security (e.g., using trusted hardware) and privacy (e.g., through federated learning), fostering ethical and socially responsible practices. Moreover, by developing their own ML programs, students will engage in independent learning. They will also be encouraged to go beyond standard solutions, which will inspire creative thinking.

Communication:
Students are required to submit a written report and will receive ongoing feedback from lecturers and tutors, enhancing their verbal and written communication skills. Working with datasets from various disciplines will also prepare them to operate effectively in cross-disciplinary environments.
KeywordsComputer Systems,Machine Learning,Data Management
Contacts
Course organiserDr Luo Mai
Tel:
Email: luo.mai@ed.ac.uk
Course secretaryMiss Yesica Marco Azorin
Tel: (0131 6)50 5194
Email: ymarcoa@ed.ac.uk
Navigation
Help & Information
Home
Introduction
Glossary
Search DPTs and Courses
Regulations
Regulations
Degree Programmes
Introduction
Browse DPTs
Courses
Introduction
Humanities and Social Science
Science and Engineering
Medicine and Veterinary Medicine
Other Information
Combined Course Timetable
Prospectuses
Important Information