Release Engineering for Machine Learning

📣 Announcement: 📣 The link to the the Zoom meeting was shared via Brightspace.

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, 15:45–17:45
Wednesdays, 13:45–15:45
Fridays, 13:45–15:45
ECTS 5.0
Quarter Q4
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
19 Apr 1 Lecture Introduction: Organization and Course Schedule (slides); Tutorials and Final Project (slides).
21 Apr 1 Lecture Continuous {Integration, Delivery, Deployment} (slides, video).
23 Apr 1 Lab Deployment in Practice: GitLab and Digital Ocean (repositories, video).
26 Apr 2 Lecture Containers & Orchestration (slides, video).
28 Apr 2 Lab Containerization in Practice: Docker & Docker Compose (repositories, video (part 1), video (part 2))
30 Apr 2 Lecture ML Testing. Recommended reading: What’s your ML test score? A rubric for ML production systems. [1]; also covering [2] and [3] (slides, video).
3 May 3 Lecture Part I – Guest Lecture: Alex Serban on ML Best Practices. Recommended reading: Adoption and effects of software engineering best practices in machine learning [6]. Part II – ML pipelines. (slides (part I), slides (part II), video)
5 May 3 Free Public Holiday
7 May 3 Lab Tutorial – ML Configuration Management (video).
10 May 4 Lecture Continuous Experimentation. (slides, video)
12 May 4 Lab Kubernetes and Monitoring (video)
14 May 4 Free Public Holiday
17 May 5 Self-Study Literature Survey
19 May 5 Lecture How to write a paper (slides). Presentation tips (slides). (video)
21 May 5 Feedback Review Current Pipeline, Pipeline Extension Proposal
28 May 6 Feedback First Draft of ToC + Intro
4 Jun 7 Feedback Individual Steering Meetings
11 Jun 8 Feedback Sketch of Methodology or new pipeline
TBD 9 ?? TBD
21 Jun 10 Examination Essay and Presentation
…………