2023-2024 / INFO9023-1

Machine Learning Systems Design

Duration

17h Th, 17h Labo., 18h Proj.

Number of credits

 Master of Science (MSc) in Data Science5 crédits 
 Master of Science (MSc) in Computer Science and Engineering5 crédits 
 Master of Science (MSc) in Data Science and Engineering5 crédits 
 Master of Science (MSc) in Computer Science5 crédits 

Lecturer

Thomas Vrancken

Language(s) of instruction

English language

Organisation and examination

Teaching in the second semester

Schedule

Schedule online

Units courses prerequisite and corequisite

Prerequisite or corequisite units are presented within each program

Learning unit contents

We are in the early days of the AI revolution, which is expected to bring a large impact to many industries. There is a large demand for skilled engineers who are able to build ML applications.

Bringing a Machine Learning application to production requires many more efforts than solely the ML model development. Famously, there is a large hidden technical debts in designing and implementing all the components coming around your model.

The course of Machine Learning System Designs (or MLOps) aims at enabling students to truly build fully functional "user-ready" ML applications. It will look at the whole lifecycle of building a real world ML application, from a technical and functional perspective. At the end of the course, students will be familiar with key tools and frameworks of MLOps.

Topics to be covered (tentative and subject to change):

  • Introduction to MLOps
  • Model development
  • Data ingestion
  • Model training
  • Model serving
  • Containerised pipeline
  • Model maintenance
  • Communication and collaboration
Tools and frameworks to be covered (tentative and subject to change):

  • Model/data card, Kanban, Agile, Cloud development, MLFlow, Docker (compose), Github Flow, Github Flow/Actions, Pytest, Pylint

Learning outcomes of the learning unit

At the end of the course, the student will have acquired a solid and detailed understanding of the main concepts of implementing and end-to-end ML applications. The student will have gain a base experience of the main tools and frameworks used by data scientists and ML engineers. This experience will be gained over a set of assignment and one larger project.

This course contributes to the learning outcomes III.3, III.4, IV.3, IV.4, V.1, V.2, V.3, VI.1, VI.2, VII.1, VII.2, VII.3, VII.4, VII.5. of the MSc in data science and engineering.

This course contributes to the learning outcomes III.3, III.4, IV.3, IV.4, IV.5, IV.6, V.1, V.2, V.3, VI.1, VI.2, VII.1, VII.2, VII.3, VII.4, VII.5, VII.6. of the MSc in computer science and engineering.

Prerequisite knowledge and skills

Basic Machine Learning experience. 

Basic coding in Python.

Following "ELEN0062 Introduction to Machine learning" before taking this class is strongly recommended.

Planned learning activities and teaching methods

  • Theoretical lectures
  • Project

Mode of delivery (face to face, distance learning, hybrid learning)

Blended learning


Additional information:

Lectures will taught face-to-face. Projects will be carried out remotely.

Potentially, some open office sessions might be held to provide support on ongoing project.

Recommended or required readings

Slides and all relevant reading material will be made available during the semester.

It will then be included in the following Github repository: info9023-mlops

Exam(s) in session

Any session

- In-person

oral exam

Written work / report


Additional information:

Exam(s) in session

Any session

- In-person

oral exam

Written work / report


Additional information:

Exam(s) in session

Any session

- In-person

oral exam

Written work / report


Additional information:

The evaluation is divided into the following units:

Exam

Group project

Work placement(s)

No official one. Industry experts will be linked to the course and can guide students towards contractual possibilities (e.g. at ML6).

Organisational remarks and main changes to the course

Contacts

Teacher: Thomas Vrancken (t.vrancken@uliege.be)

Support: Matthias Pirlet (matthias.pirlet@uliege.be)

Association of one or more MOOCs