Release Engineering for Machine Learning

📣 Announcement: 📣 The link to the the Zoom meeting will be shared via Brightspace before the class.

In this course, we will go on a journey that starts at continuous integration and then moves on to continuous delivery, continuous deployment, and continuous experimentation. We will discuss the theory and the current research on various related subjects like containerization, testing, or monitoring and will put the learned theory into practice. As a running example, we will build a pipeline for a machine learning application, which – compared to traditional release engineering – poses additional challenges, like data versioning or model deployment.

Learning Objectives

After following this course, you will be able to:

Organization

Course code CS4295
Instructors Sebastian Proksch, Luís Cruz
Schedule Mondays, 13:45–15:30
Fridays, 13:45–15:30
ECTS 5.0
Quarter Q4
Communication Mattermost: join the REMLA 2022 team.
Examination type Software project (35%); Essay (60%); Presentation (5%)
Target audience Students of the M.Sc. programme in Computer Science
Requirements - Intermediate understanding of OOP languages;
- Practical experience with continuous integration;
- Basic understanding of software testing principles;
- Basic knowledge of machine learning techniques.

Outline

Please note: The program below is tentative and is subject to change.

Day Week Type Summary
Apr 22 1 Lecture Intro: Organization and Course Schedule; Tutorials and Final Project (Slides: Intro/Project, Recording
Apr 25 1 Lecture Continuous {Integration, Delivery, Deployment}
(Slides, Recording )
Apr 28 2 Video Lecture ML Testing
(Rec. reading: [1], [2], [3], Slides, Recording)
Apr 29 2 Lecture Containerization (Slides, Recording)
May 2 3 Tutorial Cont. Delivery with GitHub: Versioning and Registries
(No Slides, Recordings: SMS App, MyWeb, MyLib)
May 6 3 Lecture ML Pipelines & Code Quality (Slides, Recording)
May 9 4 Tutorial ML Configuration Management
(Instructions, Recording)
May 11 4 Video Tutorial Kubernetes Introduction (Slides, Recording)
May 13 4 Lecture Continuous Experimentation (Slides, Recording)
May 16 5 Tutorial Automating data validation with TFDV by Arumoy Shome (Instructions, Slides (TODO), Recording)
5 Feedback Focus: Review Current State of Pipeline Re-implementation, Pipeline Extension Proposal (Checklist for Requirements)
6 Tutorial Monitoring in Kubernetes (No slides, Recording)
6 Instructions How to write an academic paper?
(Slides, Start with why, Recording)
6 Feedback Focus: Review First Draft of ToC + Intro
7 Feedback Individual Steering Meetings
8 Feedback Individual Steering Meetings
Jun 13 9 Examination Presentation