Duration
17h Th, 17h Labo., 18h Proj.
Number of credits
Lecturer
Language(s) of instruction
English language
Organisation and examination
Teaching in the second semester
Schedule
Units courses prerequisite and corequisite
Prerequisite or corequisite units are presented within each program
Learning unit contents
We are at the beginning of the AI revolution, which will have a deep impact on 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 hidden technical debts in designing and implementing all the components coming around your model.
The course of Machine Learning System Designs (or MLOps) will enable students to build fully functional 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.
The material from last year can be found on Github (make sure to be on the correct version).
Topics to be covered:
- Introduction to MLOps
- Data preparation
- Cloud development
- API
- Model serving
- ML pipelines
- Monitoring
- CICD
Agile, Docker, REST, Flask, Cloud, GitFlow, Github Actions, CICD, Pytest
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.
Following "INFO8010-1: Deep learning" before taking this class is recommended but not necessary.
Planned learning activities and teaching methods
- Theoretical lectures
- Directed Work (Labs)
- Project
Mode of delivery (face to face, distance learning, hybrid learning)
Blended learning
Further information:
Lectures and directed work will be taught face-to-face. Projects will be carried out remotely.
Some time will be kept after each class lesson for students to work together on their projects. During that time, the teaching staff will stay in the classroom to provide support to students.
Course materials and recommended or required readings
Other site(s) used for course materials
- Github (https://github.com/ThomasVrancken/info9023-mlops)
Further information:
Slides and all relevant reading material will be made available during the semester.
It will be available in the following Github repository: info9023-mlops
Exam(s) in session
Any session
- In-person
oral exam
Written work / report
Further information:
Evaluation divided between:
-
Exam (35%): Oral exam on the theoretical content of the course
-
Practical Work (15%): Pass/fail on practical exercises given at the end of classes. Each exercise counts for an equal share of the total score.
-
Project (50%): A group project carried out throughout the course. The final grade is assigned individually based on personal participation.
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)