This course aims to provide an iterative framework for developing real-world machine learning systems
that are deployable, reliable, and scalable.
It starts by considering all stakeholders of each machine learning project and their objectives.
Different objectives require different design choices, and this course will discuss the tradeoffs of
those choices.
Students will learn about data management, data engineering, feature engineering, approaches to model
selection, training, scaling, how to continually monitor and deploy changes to ML systems, as well as
the human side of ML projects such as team structure and business metrics. In the process, students will
learn about important issues including privacy, fairness, and security.
Machine learning systems design is the process of defining the software architecture, infrastructure,
algorithms, and data for a machine learning system to satisfy specified requirements.
The tutorial approach has been tremendously successful in getting models off the ground. However, the
resulting systems tend to go outdated quickly because (1) the tooling space is being innovated, (2)
business requirements change, and (3) data distributions constantly shift. Without an intentional design
to hold all the components together, a system will become technical liability, prone to errors and quick
to fall apart.
Students are expected to have the following background:
Permissive but strict. If unsure, please ask the course staff!
We’re open to auditing requests by Stanford students and staff. You will be able to attend all the lectures, but we won't be able to grade your homework or give advice on final projects. Our human resources are limited. To audit the class, please send cs329s-win2022-staff@lists.stanford.edu an email with the subject title "CS329S: Audit Request" with a few sentences introducing yourself and your relevant background.
Because the course is in-person on campus, external requests will not be considered.
The slides, (very intensive) notes, assignments, and final project instructions will be made publicly available on the Syllabus page.
The course relies on lecture notes and accompanying readings.