15-884: Machine Learning Systems

Logistics


Prerequisites

There is no strict pre-requisite, but it would be helpful to take a class on introduction of machine learning. Checkout materials for some materials to get your started.


Communication

Piazza is intended for all announcements, general questions about the course, clarifications about assignments, student questions to each other, discussions about material, and so on. We strongly encourage all students to participate in discussion, ask, and answer questions in class as well as through Piazza!


Grading

Grades will be based on class participation and the final project.

You will submit all your work to Gradescope.

Submission in GradeScope

For the course project or presentation, you may work in groups of up to two or three students total. Only one person should submit the writeup and code on Gradescope. Make sure you mark your partner as a collaborator on Gradescope and that both names are listed in the writeup.

Course project submission: Students are required to typeset written final course project reports using provided Latex template. All code, including auxiliary scripts used for testing should be submitted with a README file to explain/document them.

Paper review submission: Students can typeset written paper reviews using anything as long as they submit it in PDF.

Paper presentation submission: Students are required to submit slides in PDF.


Course Project

The course project will be completed by group of two to three students. We have potential candidate project ideas in the area of machine learning and system (link). Still, you are also more than welcome to bring your own ideas that are related to your research. The Course project will have the following three components:

One-page proposal (Deadline: Mar 5 (Fri), 11:59 pm EST)

For one-page proposal, The team is expected to write the following components:

You can submit one-page proposal in any format (PDF) to the Gradescope. Note that we understand that any component of the initial proposal can change dramatically over the course of your project. This proposal is to make sure everyone has a concrete idea of what to work on.

Intermediate check-in (Deadline: April 18 (Sun), 23:59 EST)

As an intermediate check-in of course project, we require you to come to OH to discuss your course project with us or send us a short update note through an email until April 18 23:59 EST; note that this replaces a lightning talk we originally described on the website to reduce your burden. Any of OH from one of us counts and we won’t grade it. The goal is to make sure your project is in the right direction and help you resolve any issues in your project.

Final course project presentation (Deadline: May 11 (Tue) or May 13 (Thu), 10:40 AM EST)

We require every team to present the final course project. Please submit your slides to the Gradescope until the deadline. For the format and rubric, please refer to the following.

Note that the deadline depends on the day (May 11 or May 13) your team is assigned to. For example, if your team is assigned to May 11, then the deadline is May 11, 10:40 AM EST.

Final course project report (Deadline: May 13 (Thu), 11:59 PM EST)

For your final project report, the team is expected to write a final report (up to 8 pages without references) that generally follows the format of publication in the MLSys conference with following components:

You are required to submit your codes and final report in the MLSys 2021 format (PDF) to the Gradescope. Again, please make sure you mark your partner as a collaborator on Gradescope and that all names are listed in the final report.


Paper Review

(Adapted from David Held’s 16-881 Spring 2021)

Each week everyone is required to read three papers on average and write a review for two of them. Every paper review deadline will be the time when our class for the corresponding paper discussion begins. For example, the deadline of the first paper review is Feb 9 10:40 am EST. You can find the list of papers on either our course website schedule or the Google sheet. Your paper reviews should consist of at least the following three paragraphs:

[UPDATE] You do not need to write long paragraphs as long as you have the key points. Here is the example of good paper review that would get full score.

TensorFlow: The key idea in Tensorflow is the ability to use the computational graph as abstraction with state support. The optimizations can scale to multiple machines with automatic device placement.

JANUS: JANUS combines the symbolic and static execution. The system speculatively generates a graph with assertions(fast path). When an assertion fails, the system fallbacks to imperative executions.

Discussions: Weakness of Tensorflow, declarative(symbolic) form of the program makes it harder to debug. JANUS generates a fast path of symbolic programs via speculative execution. However, it would require a python interpreter to be available. We could possible use speculative execution techniques to speedup execution of JIT compilation of torchscript.

For each paper review, you will receive 0, 1, or 2 points for each paragraph (full score: 6 points), based on the following rubric:


Paper Presentation

(Adapted from David Held’s 16-881 Spring 2021)

You will present one paper in the paper discussion class once a semester. You should submit your presentation slides (in PDF) to the “Paper Presentation” assignment in the Gradescope until the time when our class for your paper presentation begins (e.g., Feb 9 10:40 am EST). Don’t be confused by the deadline shown in the Gradescope. We set the deadline of the Gradescope assignment to our last class to accept every presentation slide this semester. Late submission will deduct your presentation score. Here are the detailed rubrics for paper presentation. Further explanation is available in the slide of our first class.

Paper discussion post in Piazza after our class: Every presenter will be required to upload a summary of group and class discussion regarding your discussion questions after the discussion class. You can add them as followup discussions to our Piazza discussion post. TAs will create that post after collecting your discussion questions in class. You can check the example Piazza post from our first discussion class. Note that you are more encouraged to participate in discussion than scribing every single sentence of discussion. Just a few key sentences would suffice as in the example post. Our hope is that your summary will guide people other than presenters to join the further discussion in the Piazza if they want.


Late Policy

Each student has a total of 7 grace days that may be applied to the assignments EXCEPT FOR the final course project report and presentation in order to make sure grading is done by the school-wide deadline. No more than 3 grace days may be used on any single assignment.

Any assignment submitted more than 3 days past the deadline (or the date the student no longer has late day credit) will get zero credit.

Grace days will be subtracted from all students in the team. E.g. an assignment submitted 1 day late by a team of 2 people will result in both team members losing 1 grace day from their total allotment.


Regrade Policy

If you feel that we have made a mistake in grading your report, please request a regrade on Gradescope and we will consider your request.

Please note that regrading may cause your grade to go either up or down.


Collaboration Policy

(Adapted from Pat Virtue’s 10-601 Fall 2020 Course Policies.)

We encourage you to discuss course content and assignments with your classmates. However, these discussions must be kept at a conceptual level only.

Violations of these policies will be reported as an academic integrity violation. Information about academic integrity at CMU may be found at this link. Please contact the instructor if you ever have any questions regarding academic integrity or these collaboration policies.


Academic Integrity (Read this carefully!)

Previously Used Assignments

Some of the homework assignments used in this class may have been used in prior versions of this class, or in classes at other institutions, or elsewhere. Solutions to them may be, or may have been, available online, or from other people or sources.

It is explicitly forbidden to use any such sources, or to consult people who have solved these problems before. It is explicitly forbidden to search for these problems or their solutions on the internet. You must solve the homework assignments completely on your own. We will be actively monitoring your compliance.

Collaboration with other students who are currently taking the class is allowed, but only under the conditions stated above.

Policy Regarding “Found Code”

You are encouraged to read books and other instructional materials, both online and offline, to help you understand the concepts and algorithms taught in class. These materials may contain example code or pseudo code, which may help you better understand an algorithm or an implementation detail.

However, when you implement your own solution to an assignment, you must put all materials aside, and write your code completely on your own, starting from scratch. Specifically, you may not use any code you found or came across.

If you find or come across code that implements any part of your assignment, you must disclose this fact in your collaboration statement.

Duty to Protect One’s Work

Students are responsible for pro-actively protecting their work from copying and misuse by other students. If a student’s work is copied by another student, the original author is also considered to be at fault and in gross violation of the course policies. It does not matter whether the author allowed the work to be copied or was merely negligent in preventing it from being copied. When overlapping work is submitted by different students, both students will be punished.

To protect future students, do not post your solutions publicly, neither during the course nor afterwards.


Penalties for Violations of Course Policies

All violations (even the first violation) of the academic integrity or collaboration policy will always be reported to the university authorities (your Department Head, Associate Dean, Dean of Student Affairs, etc.) as an official Academic Integrity Violation and will carry severe penalties.

  1. The penalty for the first violation is a one-and-a-half letter grade reduction. For example, if your final letter grade for the course was to be an A-, it would become a C+.

  2. The penalty for the second violation is failure in the course, and can even lead to dismissal from the university.


Extensions

In general, we do not grant extensions on assignments. There are several exceptions:

For any of the above situations, you may request an extension by posting a private post in Piazza. Posting should be done as soon as you are aware of the conflict and at least 5 days prior to the deadline. In the case of an emergency, no notice is needed.


Pass/Fail Policy

We allow you take the course as Pass/Fail. Instructor permission is not required. You must complete all aspects of the course (all homeworks) if you take the course as Pass/Fail.

What grade is the cutoff for Pass will depend on your program. Be sure to check with your program / department as to whether you can count a Pass/Fail course towards your degree requirements, notify us that you want to take the course Pass/Fail, and notify us of the Pass threshold your department uses (i.e., does it correspond to a grade of A, B, C, or D?)


Auditing


Students with Course Conflicts

Students with timing conflicts (i.e., who have another class offered at the same time) will be permitted to take this course.

However, there may be occasional days when we need you to arrive in person during class time (e.g. for student presentations). We will let you know of any dates we require you to be available, as soon as we know them.


Accommodations for Students with Disabilities

If you have a disability and have an accommodations letter from the Disability Resources office, please discuss your accommodation needs with Ganesh or one of the instructors as early in the semester as possible. We will work with you to ensure that accommodations are provided as appropriate.

If you suspect that you may have a disability and would benefit from accommodations but are not yet registered with the Office of Disability Resources, we encourage you to contact them at access@andrew.cmu.edu.


Take care of yourself (Read this!)

Do your best to maintain a healthy lifestyle this semester by eating well, exercising, avoiding drugs and alcohol, getting enough sleep and taking some time to relax. This will help you achieve your goals and cope with stress. All of us benefit from support during times of struggle. You are not alone. There are many helpful resources available on campus and an important part of the college experience is learning how to ask for help. Asking for support sooner rather than later is often helpful.

If you or anyone you know experiences any academic stress, difficult life events, or feelings like anxiety or depression, we strongly encourage you to seek support. Counseling and Psychological Services (CaPS) is here to help: call 412-268-2922 and visit their website at www.cmu.edu/counseling. Consider reaching out to a friend, faculty or family member you trust for help getting connected to the support that can help.


Listeners outside CMU

Please feel free to reuse any of these course materials that you find of use in your own courses.

We ask that you retain any copyright notices, and include a written notice indicating the source of any materials you use.