Credits
6
Types
- MDS: Elective
- MIRI: Elective
- MEI: Elective
Requirements
This subject has not requirements
, but it has got previous capacities
Department
ESSI
Teachers
Person in charge
- Silverio Juan Martínez Fernández ( silverio.martinez@upc.edu )
Others
- Matías Sebastián Martínez Martínez ( matias.martinez@upc.edu )
- Santiago Del Rey Juarez ( santiago.del.rey@upc.edu )
Weekly hours
Theory
1.8
Problems
0
Laboratory
1.8
Guided learning
0
Autonomous learning
6.4
Competences
Sustainability and social commitment
Teamwork
Third language
Basic
Generic
Especifics
Objectives
-
Interpret the basic concepts of Software Engineering for ML systems, especially in relation to the use and exploitation of MLOps practices.
Related competences: CT5, CG3, CE5, -
Apply and analyze MLOps practices to build ML models, fostering reproducibility and quality assurance.
Related competences: CT2, CT3, CE7, CE10, CB8, CB9, -
Apply and analyze MLOps practices to deploy ML models, fostering API development and component delivery.
Related competences: CT3, CG3, CG4, CE5, CB8, CB9, -
Describe concepts and methods related to monitoring data obtained during the use of ML systems, in order to enable feedback loops in response to changes.
Related competences: CT3, CG3, CG4, CE5, CB8, CB9,
Contents
-
Basic concepts of Software Engineering for ML systems (MLOps)
Motivation of the need of software engineering for ML systems. MLOps introduction and key concepts. Requirements engineering for ML. Collaborative development platforms. -
MLOps practices to build ML models
The complexity and diversity of data science projects and ML systems call for engineering techniques to ensure they are built in a robust and future-proof manner. On this chapter we address software engineering best practices for data science projects software including ML components: version control systems; ML pipeline reproducibility and tracking; software measurement for ML; quality assurance for ML. -
MLOps practices to deploy ML models
The complexity and diversity of ML systems call for engineering techniques to ensure they are deployed in a robust and production-ready manner. On this chapter we address software engineering best practices for ML components: software architecture for ML; deploying ML models; APIs for ML; packaging of ML components; automation of ML pipelines. -
Monitoring data obtained during the use of ML systems
A key problem in software development is the evolution of the ML system in response to new needs. The analysis of the data obtained during the use of the ML system by its users, including their explicit comments, makes it possible to discover their real needs, which sometimes even they are not fully aware of. More and more we find software systems that need to be aware of their context in order to provide a correct service. This restriction requires them to monitor context data continuously, discover significant changes and react at runtime (eventually, almost in real time). This topic describes the problem and reviews some basic techniques: monitoring and telemetry; MLOps cycles and feedback loops.
Activities
Activity Evaluation act
Theory
3.6h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
1.8h
Theory
7.2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
3.6h
Theory
7.2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
3.6h
Theory
7.2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
3.6h
Practical development of an end-to-end project of MLOps practices in the context of ML-based systems
The student will progressively develop a practice that allows him to exercise the basic concepts introduced in the theory part. It will be developed in teams of 4-5 students. The resulting software, duly documented, will be uploaded to a code repository. The team will present a report, written in English, summarizing the main aspects of the practice. This is, the process of building and deploying an ML component of an ML-based system, and an evaluation of the accuracy of the models and algorithms used.Objectives: 1 2 3 4
Contents:
Theory
0h
Problems
0h
Laboratory
25.2h
Guided learning
0h
Autonomous learning
70.6h
Presentation of the summary of an existing article about MLOps
The student will present the summary of a scientific article. All students need to present (at least) once. Presenters need to make at least one question to the other presentations to foster discussions. Lecturers prepare a list of articles.Objectives: 1
Week: 14
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h
Teaching methodology
The theoretical contents of the course are taught in the theory classes. These classes are complemented with practical examples and problems that students must solve in the Autonomous Learning hours.In the laboratory sessions, the knowledge acquired in the theory classes is consolidated by solving problems and developing practices related to the theoretical contents. During the laboratory classes, the teacher will introduce new techniques and will leave an important part of the class for the students to work on the proposed exercises.
Evaluation methodology
The grade is calculated by weighting the grade of the project (weight 90%) and grade of an article presentation in theory (weight 10%). Both activities are mandatory.NOTA-FINAL = 90% ProjectGrade + 10% ArticlePresentation
In the project grade, the completion of the project and the individual work are graded. As a result, each student's final project grade is determined from the following formula:
ProjectGrade = TeamGrade * IndivFact
The project's overall TeamGrade grade takes into account the application of software engineering practices.
The individual factor IndivFact is a multiplicative factor among 0 and 1.2 (and similarly, cannot make ProjectGrade grow beyond 10). This factor is obtained from the evaluation that the teacher makes about the participation of the student in the project development and the evaluation that the team mates make on this very participation.
Bibliography
Basic
-
Building intelligent systems: a guide to machine learning engineering
- Hulten, Geoff,
Apress,
2018.
ISBN: 9781484234327
https://ebookcentral-proquest-com.recursos.biblioteca.upc.edu/lib/upcatalunya-ebooks/detail.action?pq-origsite=primo&docID=5357977
Complementary
-
2023 IEEE/ACM 45th International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET)
- Lanubile, Filippo; Martínez-Fernández, Silverio; Quaranta, Luigi,
2023 IEEE/ACM 45th International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET),
2023.
https://arxiv.org/pdf/2302.01048.pdf -
Machine learning in production: from models to products
- Kästner, Christian,
MIT Press,
2025.
ISBN: 9780262049726
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991005330527706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Reliable Machine Learning
- Chen, Cathy,
O'Reilly Media, Inc.,
2022.
ISBN: 9781098106225
https://ebookcentral-proquest-com.recursos.biblioteca.upc.edu/lib/upcatalunya-ebooks/detail.action?pq-origsite=primo&docID=30130756 -
Implementing MLOps in the Enterprise
- Haviv, Yaron; Gift, Noah,
O'Reilly Media, Inc.,
2023.
ISBN: 9781098136543
https://ebookcentral-proquest-com.recursos.biblioteca.upc.edu/lib/upcatalunya-ebooks/detail.action?pq-origsite=primo&docID=30978817 -
Building machine learning powered applications: going from idea to product
- Ameisen, Emmanuel,
O'Reilly Media, Inc.,
2020.
ISBN: 9781492045106
https://ebookcentral-proquest-com.recursos.biblioteca.upc.edu/lib/upcatalunya-ebooks/detail.action?pq-origsite=primo&docID=6027247