Skip to content

Latest commit

 

History

History
executable file
·
1005 lines (540 loc) · 29.6 KB

index.md

File metadata and controls

executable file
·
1005 lines (540 loc) · 29.6 KB
layout
default

A new version of this course is being offered in Fall 2019

AI-Sys Spring 2019

Course Description

The recent success of AI has been in large part due in part to advances in hardware and software systems. These systems have enabled training increasingly complex models on ever larger datasets. In the process, these systems have also simplified model development, enabling the rapid growth in the machine learning community. These new hardware and software systems include a new generation of GPUs and hardware accelerators (e.g., TPU and Nervana), open source frameworks such as Theano, TensorFlow, PyTorch, MXNet, Apache Spark, Clipper, Horovod, and Ray, and a myriad of systems deployed internally at companies just to name a few. At the same time, we are witnessing a flurry of ML/RL applications to improve hardware and system designs, job scheduling, program synthesis, and circuit layouts.

In this course, we will describe the latest trends in systems designs to better support the next generation of AI applications, and applications of AI to optimize the architecture and the performance of systems. The format of this course will be a mix of lectures, seminar-style discussions, and student presentations. Students will be responsible for paper readings, and completing a hands-on project. Readings will be selected from recent conference proceedings and journals. For projects, we will strongly encourage teams that contains both AI and systems students.

Course Syllabus

{% capture dates %} 1/23/19 1/28/19 1/30/19 2/4/19 2/6/19 2/11/19 2/13/19 2/18/19 2/20/19 2/25/19 2/27/19 3/4/19 3/6/19 3/11/19 3/13/19 3/18/19 3/20/19 3/25/19 3/27/19 4/1/19 4/3/19 4/8/19 4/10/19 4/15/19 4/17/19 4/22/19 4/24/19 4/29/19 5/1/19 5/6/19 5/8/19 5/13/19 {% endcapture %} {% assign dates = dates | split: " " %}

This is a tentative schedule. Specific readings are subject to change as new material is published.

Jump to Today

{% include syllabus_entry %}

Introduction and Course Overview

This lecture will be an overview of the class, requirements, and an introduction to what makes great AI-Systems research.

Slide Links

{% include syllabus_entry %}

Convolutional Neural Network Architectures

Minor Update: We have moved the reading on auto-encoders to Wednesday.

Reading notes for the two required readings below must be submitted using this google form by Monday the 28th at 9:30AM. We have asked that for each reading you answer the following questions:

  1. What is the problem that is being solved?
  2. What are the metrics of success?
  3. What are the key innovations over prior work?
  4. What are the key results?
  5. What are some of the limitations and how might this work be improved?
  6. How might this work have long term impact?

If you find some of the reading confusing and want a more gentle introduction, the optional reading contains some useful explanatory blog posts that may help.

Links

Convolutional Networks

{% include syllabus_entry %}

More Neural Network Architectures

Links

Auto-Encoders

Graph Networks

{% include syllabus_entry %}

Deep Learning Frameworks

Links

* The following [Comparative Study of Deep Learning Software Frameworks](https://arxiv.org/pdf/1511.06435.pdf) provides a good (but a little dated) comparison of the various frameworks. * [Automatic differentiation in PyTorch](https://openreview.net/pdf?id=BJJsrmfCZ) * A more detailed overview of [Theano](https://arxiv.org/pdf/1605.02688.pdf).

{% include syllabus_entry %}

RL Systems & Algorithms

Links

* [Asynchronous Methods for Deep Reinforcement Learning](http://proceedings.mlr.press/v48/mniha16.pdf) * [RLlib: Abstractions for Distributed Reinforcement Learning](https://arxiv.org/abs/1712.09381)

{% include syllabus_entry %}

Application: Data Structure and Algorithms

Links

{% include syllabus_entry %}

Distributed Systems for ML

Links

{% include syllabus_entry %}

Administrative Holiday (Feb 18th)

{% include syllabus_entry %}

Hyperparameter search

Links

  • Reading Quiz due before class. There was a mix-up in updating the reading and the wrong paper was swapped. You may either read the Hyperband paper (preferred) or the Vizer paper (see optional reading) for the second reading.
  • A Generalized Framework for Population Based Training [pdf]

{% include syllabus_entry %}

Auto ML & Neural Architecture Search (1/2)

Links

{% include syllabus_entry %}

Auto ML & Neural Architecture Search (2/2)

Links

{% include syllabus_entry %}

Autonomous Vehicles

Links

  • Reading Quiz due before class.
  • Autonomous Vehicles Overview [pdf, pptx]
  • Presentation: The Architectural Implications of Autonomous Driving[pdf]

{% include syllabus_entry %}

Deep Learning Compilers

Links

{% include syllabus_entry %}

Project Presentation Checkpoints

{% include syllabus_entry %}

Application: Program synthesis

Links

{% include syllabus_entry %}

Distributed Deep Learning (Part 1)

Links

{% include syllabus_entry %}

Distributed Deep Learning (Part 2)

Links

{% include syllabus_entry %}

Spring Break (March 25th)

{% include syllabus_entry %}

Spring Break (March 27th)

{% include syllabus_entry %}

Application: Networking

Links

{% include syllabus_entry %}

Dynamic Neural Networks

Links

{% include syllabus_entry %}

Model Compression

Links

{% include syllabus_entry %}

Applications: Security

Links

{% include syllabus_entry %}

Application: Prediction Serving

Links

{% include syllabus_entry %}

Natural Language Processing Systems

Links

{% include syllabus_entry %}

Explanability & Interpretability

Links

{% include syllabus_entry %}

Scheduling for DL Workloads

Links

  • Reading Quiz due before class.
  • DL Scheduling slides [pdf]
  • Dominant Resource Fairness (DRF) slides [pdf]

{% include syllabus_entry %}

Cortical Learning and Stoica Course Summary

Links

{% include syllabus_entry %}

Neural Modular Networks and Gonzalez Course Summary

Links

  • Reading Quiz due before class.
  • Neural Modular Networks Slides [pdf, pptx]
  • Gonzalez Course Summary (Reflections on the Field of AI-Systems) [pdf, pptx]

{% include syllabus_entry %}

RRR Week (May 6th)

{% include syllabus_entry %}

Poster Session from 9:00 to 11:00

{% include syllabus_entry %}

Final Reports Due

Week Date (Lec.) Topic

Projects

Detailed candidate project descriptions will be posted shortly. However, students are encourage to find projects that relate to their ongoing research.

Grading

Grades will be largely based on class participation and projects. In addition, we will require weekly paper summaries submitted before class.

  • Projects: 60%
  • Weekly Summaries: 20%
  • Class Participation: 20%
<script type="text/javascript"> var current_date = new Date(); var rows = document.getElementsByTagName("th"); var finished = false; for (var i = 1; i < rows.length && !finished; i++) { var r = rows[i]; if (r.id.startsWith("counter_")) { var fields = r.id.split("_") var week_div_id = "week_" + fields[2] var lecture_date = new Date(fields[1] + " 23:59:00") if (current_date <= lecture_date) { finished = true; r.style.background = "orange" r.style.color = "black" var week_td = document.getElementById(week_div_id) week_td.style.background = "#043361" week_td.style.color = "white" var anchor = document.createElement("div") anchor.setAttribute("id", "today") week_td.prepend(anchor) } } } $(".reading").each(function(ind, elem) { var optional_reading = $(elem).find(".optional_reading"); if(optional_reading.length == 1) { optional_reading = optional_reading[0]; optional_reading.setAttribute("id", "optional_reading_" + ind); var button = document.createElement("button"); button.setAttribute("class", "btn btn-primary btn-sm"); button.setAttribute("type", "button"); button.setAttribute("data-toggle", "collapse"); button.setAttribute("data-target", "#optional_reading_" + ind); button.setAttribute("aria-expanded", "false"); button.setAttribute("aria-controls", "#optional_reading_" + ind); optional_reading.setAttribute("class", "optional_reading_no_heading collapse") button.innerHTML = "Additional Optional Reading"; optional_reading.before(button) } }) </script>