Machine Learning Operations
Repository for course 02476 at DTU.
βΉοΈ Course information
- Course responsible
- Associate Professor Nicki Skafte Detlefsen, nsde@dtu.dk
- Professor SΓΈren Hauberg, sohau@dtu.dk
- 5 ECTS (European Credit Transfer System), corresponding to 140 hours of work
- 3 week period in January
- Master level course
- Grade: Pass/Fail
- Type of assessment: project report
-
Recommended prerequisites: DTU course 02456 (Deep Learning) or experience with the following topics:
- General understanding of machine learning (datasets, probability, classifiers, overfitting, underfitting, etc.)
- Basic knowledge of deep learning (backpropagation, convolutional neural networks, autoencoders etc.)
- Coding in PyTorch. On the first day, we provide some exercises in PyTorch to get everyone's skills up-to-date as fast as possible.
β Learning objectives
General course objective
Introduce the student to a number of coding practices that will help them organize, scale, monitor and deploy machine learning models either in a research or production setting. To provide hands-on experience with a number of frameworks, both local and in the cloud, for doing large scale machine learning models.
This includes:
- Organize code in an efficient way for easy maintainability and shareability
- Understand the importance of reproducibility and how to create reproducible containerized applications and experiments
- Capable of using version control to efficiently collaborate on code development
- Knowledge of continuous integration (CI) and continuous machine learning (CML) for automating code development
- Being able to debug, profile, visualize and monitor multiple experiments to assess model performance
- Capable of using online cloud-based computing services to scale experiments
- Demonstrate knowledge about different distributed training paradigms within machine learning and how to apply them
- Deploy machine learning models, both locally and in the cloud
- Conduct a research project in collaboration with fellow students using the frameworks taught in the course
- Have lots of fun and share memes! :)
π₯ Where to start
We highly recommend that when going through the material you use the homepage which is the corresponding GitHub Pages version of this repository that is more nicely rendered, and also includes some special HTML magic provided by Material for MkDocs.
In particular start by going to the Introduction page, which will give you an overview of the course and a soft introduction to MLOps.
π References
Additional reading resources (in no particular order):
-
Ref 1 Introduction blog post for those who have never heard about MLOps and want to get an overview.
-
Ref 2 Great document from Google about the different levels of MLOps.
-
Ref 3 Another introduction to the principles of MLOps and the different stages of MLOps.
-
Ref 4 Great paper about the technical debt in machine learning.
-
Ref 5 Interview study that uncovers many of the pain points that ML engineers go through when doing MLOps.
Other courses with content similar to this:
-
Made with ML. Great online MLOps course that also covers additional topics on the foundations of working with ML.
-
Full stack deep learning. Another MLOps online course going through the whole developer pipeline.
-
MLOps Zoomcamp. MLOps online course that includes many of the same topics.
π¨βπ« Contributing
If you want to contribute to the course, we are happy to have you! Anything from fixing typos to adding new content is welcome. For building the course material locally, it is a simple two-step process:
Either use pip to install the requirements:
Or use uv
Which will start a local server that you can access at http://127.0.0.1:8000 and will automatically update when you
make changes to the course material. When you have something that you want to contribute, please make a pull request.
β License
I highly value open source, and the content of this course is therefore free to use under the Apache 2.0 license. If you use parts of this course in your work, please cite using:
