Studies
Admissions
The Institute
Resources
Studies
Admissions
The Institute
Resources
Studies
Admissions
The Institute
Resources

DS414

Building ML solutions: From System Design to Deployment

Barcelona Campus
Jul 29, 2024 - Aug 16, 2024
In three weeks, we're going to build an application that we and other people can use.
Barcelona Campus
Jul 29, 2024 - Aug 16, 2024

Faculty Profiles

Alexander Guschin

Alexander Guschin

Industrial Head of Machine Learning at Central University

Mikhail Rozhkov

Mikhail Rozhkov

Technical Product Manager at Nebius AI, Founder of Machine Learning REPA Community

Course length

3 weeks

Duration

3 hours
per day

Total hours

45 hours

Credits

6 ECTS

Language

English

Course type

Offline

Fee for single course

€1500

Fee for degree students

€750

Skills you’ll learn

TeamworkPrototypingContributing to a Software ProjectWorking with FeedbackPrioritising TasksReasoning about ML System Design
OverviewCourse outlinePrerequisitesMethod & grading

Overview

In three weeks, we're going to build an application that we and other people can use. This will include some amount of software development, product thinking, and machine learning. ML will be the backbone of our product, SE will be the means to make it work, and product thinking will lead us through. We’ll start with an idea, outline user scenarios an app should fulfil, proceed with system design, and dive into implementation. We’ll use the app ourselves, collect and analyse our feedback, work on improving the user experience, and finally publish this to the outside world to get real feedback and reflect on our experience. This class will help you understand how complex ML systems are built and will be part of your portfolio that you can showcase and reason about.

Learning highlights

  • Learn ML System Design by discussing real-world examples.
  • Build your product step by step, from a very early prototype to something more complex.
  • Work with modern tools and technologies that help us create quick MVPs.
  • Collect feedback for your product, analyse it, and prioritise it.
  • Learn how to organise your work on a software project.
  • Develop an engineering perspective on ML.
  • Get a feel for how startups iterate on their products.

Course outline

15 classes

Dive into the details of the course and get a sense of what each class will cover.
Monday
Tuesday
Wednesday
Thursday
Friday
Monday
1

Intro

The difference between System Design and ML System Design. Understanding a business problem. Collecting requirements. Big services and small apps. Setting goals. How to measure success? Discussing examples.

Tuesday
2

System Design

Drafting a high-level system schema. Estimating the load and requirements. Selecting suitable approaches and tools. Build or buy? How to integrate ML? Discussing examples.

Wednesday
3

ML System Design, day 1

Understanding ML problems. Finding the right approach. Collecting data. Planning validation. Creating a baseline. Discussing examples.

Thursday
4

ML System Design, day 2

Improving on the go. Error analysis. Measuring results. Improving the model and the system. Discussing examples.

Friday
5

ML System Design, day 3

Dealing with real production. Optimising for throughput. Scaling the system. Making it faster. Monitoring system health and getting notified about breakages. Discussing examples.

Monday
6

Starting the implementation part1

Refresher on our application, its use cases, users and design. Splitting into teams that are going to tackle each part of the design. Working on the implementation.

Tuesday
7

Session 7

Integrating parts of the solution together. Continuing to work on each part. Discussing various challenges we encounter and options to fix them.

Wednesday
8

Session 8

Getting an early prototype - enough to try it out ourselves and get our feedback. Analyse feedback, outline next steps. Working on implementation.

Thursday
9

Session 9

Working on implementation.

Friday
10

Session 10

Working on the implementation. Presenting what we did over the week, discussing that, and planning next steps.

Monday
11

Session 11

Discovering weak spots, discussing specific user scenarios, and trying them out. Setting priorities for improvements.

Tuesday
12

Session 12

Working on implementation.

Wednesday
13

Session 13

Working on implementation.

Thursday
14

Session 14

Finishing with an alpha version of the app and sharing it with the external world. Getting feedback from external users. Analysing feedback. Setting priorities for improvements.

Friday
15

Session 15

Presenting what we did over the week. Discussing the project to find good practices and things to improve. Making this project part of your portfolio. Writing a blog post, looking for meetups to share your experience.

Prerequisites

Git and Python, and some basic understanding of ML, will be required for everyone. The following might be helpful, but is not necessary: experience with Telegram bots, DVC, Databases, Docker, CI/CD, HTTP services, data scraping, Deep Learning, Computer Vision, NLP, LLM.

Methodology

First week we’re going to learn about ML System Design and exercise to apply it to all kinds of applications, projects, and ML tasks you can encounter in your career. In the first week we’ll also create a System Design of the application we’ll be building for the 2nd and 3rd weeks. We’ll work in teams tackling specific parts of the project. The 2nd week will be dedicated to making a working prototype that we can use to collect our internal feedback. In the 3rd week, we’re going to address that feedback and share the app with people outside of the class to collect feedback, ideas, and summarise our learning experience.

Grading

The final grade will be composed of the following criteria:
33% - Your work on the first week
33% - Your work on the second week
33% - Your work on the third week
Alexander Guschin

Faculty

Alexander Guschin

Industrial Head of Machine Learning at Central University

Alexander Guschin is an Industrial Head of Machine Learning at Central University and a Fullstack ML Engineer. During his career, he worked with ML in various domains and at different scales, both as an Individual Contributor and as a DS/ML team lead. He built companion bots with LLM and Generative models, contributed to the MLOps SaaS platforms and open-source MLOps tools, including https://dvc.org and https://mlem.ai. He worked as a Machine Learning Engineering Lead at a startup centred on the application of machine learning in the industrial sector and Data Science Lead in Yandex.Go. As a teacher, he co-authored the "How to Win a Data Science Competition" curriculum at Coursera, online MLOps class at Karpov.Courses and taught classes about ML competitions and Production ML at Data Mining in Action, the largest offline open data science course in Russia, with over 500 students each year.

See full profile
Mikhail Rozhkov

Faculty

Mikhail Rozhkov

Technical Product Manager at Nebius AI, Founder of Machine Learning REPA Community

Dr Mikhail Rozhkov is a Technical Product Manager at Nebius.ai, where he leads the development of a full-stack AI platform for AI/ML development and MLOps. He has over eight years of experience in Data Science, Machine Learning, MLOps, and AI product management.

Mikhail earned his degree in Marketing and began learning Data Analysis and Python programming during his PhD research at The Hong Kong Polytechnic University. Over the years, he has participated in and managed multiple ML projects in roles such as Project Manager, Senior Data Scientist, and Head of Data Science. He has also authored online courses and workshops on Reproducible ML Experiments, Pipeline Automation, and MLOps, which have been completed by over 5,000 professionals since 2020.

See full profile

Apply for this course

Snap up your chance to enroll before all spaces fill up.

Building ML solutions: From System Design to Deployment

by Alexander Guschin, Mikhail Rozhkov

Total hours

45 Hours

Dates

Jul 29 - Aug 16, 2024

Fee for single course

€1500

Fee for degree students

€750

How to secure your spot

Complete the form below to kickstart your application

Schedule your Harbour.Space interview

If successful, get ready to join us on campus

FAQ

Will I receive a certificate after completion?

Yes. Upon completion of the course, you will receive a certificate signed by the director of the program your course belonged to.

Do I need a visa?

This depends on your case. Please check with the Spanish or Thai consulate in your country of residence about visa requirements. We will do our part to provide you with the necessary documents, such as the Certificate of Enrollment.

Can I get a discount?

Yes. The easiest way to enroll in a course at a discounted price is to register for multiple courses. Registering for multiple courses will reduce the cost per individual course. Please ask the Admissions Office for more information about the other kinds of discounts we offer and what you can do to receive one.