Undergraduate Course: Machine Learning Systems (INFR11269)
Course Outline
School | School of Informatics |
College | College of Science and Engineering |
Credit level (Normal year taken) | SCQF Level 11 (Year 4 Undergraduate) |
Availability | Available to all students |
SCQF Credits | 20 |
ECTS Credits | 10 |
Summary | The 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-requisites | None |
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:
- 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.
- Construct, analyse and profile implementation to given machine learning systems and iteratively improve the performance of those systems.
- Compare and evaluate different systems and suggest/synthesise an appropriate system adoption solution.
- Present the system solutions and engage in professional dialogue with peers to improve their solutions.
- 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. |
Keywords | Computer Systems,Machine Learning,Data Management |
Contacts
Course organiser | Dr Luo Mai
Tel:
Email: luo.mai@ed.ac.uk |
Course secretary | Miss Yesica Marco Azorin
Tel: (0131 6)50 5194
Email: ymarcoa@ed.ac.uk |
|
|