CS-838: ML-Optimized Systems (MLOS)

Welcome

Welcome to this seminar on Machine-Learning-Optimized Systems, or MLOS for short! Unlike most graduate courses (usually 3 credits, and including everything from lecture to lab), we are trying a different experiment in this class, by dividing it up into two sections. The first piece is a (virtual, 1-credit) seminar and is open to all; in there you'll hear from a wide range of experts on how machine learning is transforming how we build systems. The second piece is a (virtual, 2-credit) laboratory , where you'll break into small teams and work on the application of ML to systems together. Take the seminar (section 1) if you have general interest, and take both (sections 1 and 2) if you also want to learn how to actually build such systems.

Background

The background needed to do the laboratory part of the course is likely some background in systems and some background in machine learning. Of course, if you have a lot of one and just a little of the other, that should be OK, too. The background for the seminar is graduate standing or exception from the instructor.

For some of the course, we will be using the open-source MLOS toolkit being developed by Microsoft. See this webpage for details on this infrastructure.

Readings

The reading list is determined by the schedule on the main page, and is currently being formulated. All students in the course are expected to do the following:

  • Read the assigned papers (as in the schedule) before class.
  • Write down your thoughts about each paper and submit them before class starts. We may add more specific questions as the semester goes on, but just a short note about what you thought stood out and was interesting, and what you didn't agree with, is a good default set of questions to answer.

Projects

Details are forthcoming on the work to be done for the Laboratory part of the class. However, it will be structured as a few set projects followed by an open-ended final project.

The final project is the main focus of the course. You are expected to perform work which could eventually be suitable for publication in a major operating systems conference; indeed, each year one or two projects end up becoming published works in some major systems conference! In general, people should work in groups of size two or three. We will provide some suggestions for you to pick from, although you are encouraged to think of a project on your own, which we can then help to refine. Project write-ups will be similar in format to a conference submission, and all will be entered into a class-wide mini-conference. The best papers will receive some kind of recognition. More details are forthcoming.

Exams

There will be no exams in this course.

Grading

A rough outline of grading for the laboratory is 1/3 to the first few well-defined projects and 2/3 to the final project. For the lecture, attendance, participation, and turning in write-ups before class are all that is needed.

Mailing List

There will be a mailing list and a piazza. We'll mostly use piazza to communicate with you all. The class piazza is here.