2626 * Coding in [ PyTorch] ( https://pytorch.org/ ) . On the first day, we provide some exercises in PyTorch to
2727 get everyone's skills up-to-date as fast as possible.
2828
29- ## 💻 Course setup :)
30-
31- Start by cloning or downloading this repository
32-
33- ``` bash
34- git clone https://github.com/SkafteNicki/dtu_mlops
35- ```
36-
37- If you do not have git installed (yet) we will touch upon it in the course. The folder will contain all the exercise
38- material for this course and lectures. Additionally, you should join our
39- [ Slack channel] ( https://join.slack.com/t/dtumlops/shared_invite/zt-3mgdtd0hw-TXmrOk35_vOFTQvpXb3OWA )
40- which we use for communication. The link may be expired, write to [ me] ( mailto:nsde@dtu.dk ) .
41-
42- ## 📂 Course organization
43-
44- We highly recommend that when going through the material you use the
45- [ homepage] ( https://skaftenicki.github.io/dtu_mlops/ ) which is the corresponding
46- [ GitHub Pages] ( https://pages.github.com/ ) version of this repository that is more nicely rendered, and also includes
47- some special HTML magic provided by
48- [ Material for MkDocs] ( https://squidfunk.github.io/mkdocs-material/ ) .
49-
50- The course is divided into sessions, denoted by capital ** S** , and modules, denoted by capital ** M** . A session
51- corresponds to a full day of work if you are following the course, meaning approximately 9 hours of work. Each session
52- (** S** ) corresponds to a topic within MLOps and consists of multiple modules (** M** ) that each cover a specific topic.
53-
54- Importantly we differ between core modules and optional modules. Core modules will be marked by
55-
56- !!! info "Core Module"
57-
58- at the top of their corresponding page. Core modules are important to go through to be able to pass the course.
59- You are highly recommended to still do the optional modules.
60-
61- Additionally, be aware of the following icons throughout the course material:
62-
63- * This icon can be expanded to show code belonging to a given exercise
64-
65- ??? example
66-
67- I will contain some code for an exercise.
68-
69- * This icon can be expanded to show a solution for a given exercise
70-
71- ??? success "Solution"
72-
73- I will present a solution to the exercise.
74-
75- * This icon (1) can be expanded to show a hint or a note for a given exercise
76- { .annotate }
77-
78- 1 . :man_raising_hand: I am a hint or note
79-
80- ## 🆒 MLOps: What is it?
81-
82- * Machine Learning Operations* (MLOps) is a rather new field that has seen its uprise as machine learning and particularly
83- deep learning has become a widely available technology. The term itself is a compound of "machine learning"
84- and "operations" and covers everything that has to do with the management of the production ML lifecycle.
85-
86- The lifecycle of production ML can largely be divided into three phases:
87-
88- 1 . Design: The initial phase starts with an investigation of the problem. Based on this analysis, several requirements
89- can be prioritized for what we want our future model to do. Since machine learning requires
90- data to be trained, we also investigate in this step what data we have and if we need to source it in some other way.
91-
92- 2 . Model development: Based on the design phase we can begin to conjure some machine learning algorithms to solve our
93- problems. As always, the initial step often involves doing some data analysis to make sure that our model is
94- learning the signal that we want it to learn. Secondly, is the machine learning engineering phase, where the
95- particular model architecture is chosen. Finally, we also need to do validation and testing to make sure that
96- our model is generalizing well.
97-
98- 3 . Operations: Based on the model development phase, we now have a model that we want to use. The operations are where
99- we create an automatic pipeline that makes sure that whenever we make changes to our codebase they get automatically
100- incorporated into our model, such that we do not slow down production. Equally important is the ongoing monitoring
101- of already deployed models to make sure that they behave exactly as we specified them.
102-
103- It is important to note that the three steps are a * cycle* , meaning that when you have successfully deployed a
104- machine learning model that is not the end of it. Your initial requirements may change, forcing you to revisit the
105- design phase. Some new algorithms may show promising results, so you revisit the model development phase to implement
106- this. Finally, you may try to cut the cost of running your model in production, making you revisit the operations phase,
107- and trying to optimize some steps.
108-
109- The focus of this course is particularly on the ** Operations** part of MLOps as this is what many data scientists are
110- missing in their toolbox to implement all the knowledge they have about data processing and model development into a
111- production setting.
112-
11329## ❔ Learning objectives
11430
11531General course objective
@@ -132,6 +48,17 @@ This includes:
13248* Conduct a research project in collaboration with fellow students using the frameworks taught in the course
13349* Have lots of fun and share memes! :)
13450
51+ ## 🔥 Where to start
52+
53+ We highly recommend that when going through the material you use the
54+ [ homepage] ( https://skaftenicki.github.io/dtu_mlops/ ) which is the corresponding
55+ [ GitHub Pages] ( https://pages.github.com/ ) version of this repository that is more nicely rendered, and also includes
56+ some special HTML magic provided by
57+ [ Material for MkDocs] ( https://squidfunk.github.io/mkdocs-material/ ) .
58+
59+ In particular start by going to the [ Introduction page] ( pages/before.md ) , which will give you an overview of the course
60+ and a soft introduction to MLOps.
61+
13562## 📓 References
13663
13764Additional reading resources (in no particular order):
@@ -194,6 +121,6 @@ If you use parts of this course in your work, please cite using:
194121 author = {Nicki Skafte Detlefsen},
195122 title = {Machine Learning Operations},
196123 howpublished = {\url{https://github.com/SkafteNicki/dtu_mlops}},
197- year = {2024 }
124+ year = {2026 }
198125}
199126```
0 commit comments