Top Banner
Deep Learning System Stack Pooyan Jamshidi UofSC
29

Deep Learning System Stack - Pooyan Jamshidi · Discussion: Numpy vs TF Program. Typical Deep Learning System Stack. Computation Graph Optimization. Parallel Scheduling. Typical Deep

Mar 25, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Deep Learning System Stack - Pooyan Jamshidi · Discussion: Numpy vs TF Program. Typical Deep Learning System Stack. Computation Graph Optimization. Parallel Scheduling. Typical Deep

Deep Learning System Stack

Pooyan JamshidiUofSC

Page 2: Deep Learning System Stack - Pooyan Jamshidi · Discussion: Numpy vs TF Program. Typical Deep Learning System Stack. Computation Graph Optimization. Parallel Scheduling. Typical Deep

The Deep Learning Systems Juggle

Page 3: Deep Learning System Stack - Pooyan Jamshidi · Discussion: Numpy vs TF Program. Typical Deep Learning System Stack. Computation Graph Optimization. Parallel Scheduling. Typical Deep

Typical Deep Learning System Stack

Page 4: Deep Learning System Stack - Pooyan Jamshidi · Discussion: Numpy vs TF Program. Typical Deep Learning System Stack. Computation Graph Optimization. Parallel Scheduling. Typical Deep

Typical Deep Learning System Stack

Page 5: Deep Learning System Stack - Pooyan Jamshidi · Discussion: Numpy vs TF Program. Typical Deep Learning System Stack. Computation Graph Optimization. Parallel Scheduling. Typical Deep

Example: Logistic Regression

Page 6: Deep Learning System Stack - Pooyan Jamshidi · Discussion: Numpy vs TF Program. Typical Deep Learning System Stack. Computation Graph Optimization. Parallel Scheduling. Typical Deep

Logistic Regression in Numpy

Page 7: Deep Learning System Stack - Pooyan Jamshidi · Discussion: Numpy vs TF Program. Typical Deep Learning System Stack. Computation Graph Optimization. Parallel Scheduling. Typical Deep

Logistic Regression in Numpy

Page 8: Deep Learning System Stack - Pooyan Jamshidi · Discussion: Numpy vs TF Program. Typical Deep Learning System Stack. Computation Graph Optimization. Parallel Scheduling. Typical Deep

Logistic Regression in TinyFlow (TensorFlow like API)

Page 9: Deep Learning System Stack - Pooyan Jamshidi · Discussion: Numpy vs TF Program. Typical Deep Learning System Stack. Computation Graph Optimization. Parallel Scheduling. Typical Deep

Logistic Regression in TinyFlow

Page 10: Deep Learning System Stack - Pooyan Jamshidi · Discussion: Numpy vs TF Program. Typical Deep Learning System Stack. Computation Graph Optimization. Parallel Scheduling. Typical Deep

Logistic Regression in TinyFlow

Page 11: Deep Learning System Stack - Pooyan Jamshidi · Discussion: Numpy vs TF Program. Typical Deep Learning System Stack. Computation Graph Optimization. Parallel Scheduling. Typical Deep

Logistic Regression in TinyFlow

Page 12: Deep Learning System Stack - Pooyan Jamshidi · Discussion: Numpy vs TF Program. Typical Deep Learning System Stack. Computation Graph Optimization. Parallel Scheduling. Typical Deep

Logistic Regression in TinyFlow

Page 13: Deep Learning System Stack - Pooyan Jamshidi · Discussion: Numpy vs TF Program. Typical Deep Learning System Stack. Computation Graph Optimization. Parallel Scheduling. Typical Deep

The Declarative Language: Computation Graph

Page 14: Deep Learning System Stack - Pooyan Jamshidi · Discussion: Numpy vs TF Program. Typical Deep Learning System Stack. Computation Graph Optimization. Parallel Scheduling. Typical Deep

Computational Graph Construction by Step

Page 15: Deep Learning System Stack - Pooyan Jamshidi · Discussion: Numpy vs TF Program. Typical Deep Learning System Stack. Computation Graph Optimization. Parallel Scheduling. Typical Deep

Computational Graph Construction by Step

Page 16: Deep Learning System Stack - Pooyan Jamshidi · Discussion: Numpy vs TF Program. Typical Deep Learning System Stack. Computation Graph Optimization. Parallel Scheduling. Typical Deep

Computational Graph Construction by Step

Page 17: Deep Learning System Stack - Pooyan Jamshidi · Discussion: Numpy vs TF Program. Typical Deep Learning System Stack. Computation Graph Optimization. Parallel Scheduling. Typical Deep

Computational Graph Construction by Step

Page 18: Deep Learning System Stack - Pooyan Jamshidi · Discussion: Numpy vs TF Program. Typical Deep Learning System Stack. Computation Graph Optimization. Parallel Scheduling. Typical Deep

Execution only Touches the Needed Subgraph

Page 19: Deep Learning System Stack - Pooyan Jamshidi · Discussion: Numpy vs TF Program. Typical Deep Learning System Stack. Computation Graph Optimization. Parallel Scheduling. Typical Deep

Discussion: Computational Graph

Page 20: Deep Learning System Stack - Pooyan Jamshidi · Discussion: Numpy vs TF Program. Typical Deep Learning System Stack. Computation Graph Optimization. Parallel Scheduling. Typical Deep

Discussion: Numpy vs TF Program

Page 21: Deep Learning System Stack - Pooyan Jamshidi · Discussion: Numpy vs TF Program. Typical Deep Learning System Stack. Computation Graph Optimization. Parallel Scheduling. Typical Deep

Typical Deep Learning System Stack

Page 22: Deep Learning System Stack - Pooyan Jamshidi · Discussion: Numpy vs TF Program. Typical Deep Learning System Stack. Computation Graph Optimization. Parallel Scheduling. Typical Deep

Computation Graph Optimization

Page 23: Deep Learning System Stack - Pooyan Jamshidi · Discussion: Numpy vs TF Program. Typical Deep Learning System Stack. Computation Graph Optimization. Parallel Scheduling. Typical Deep

Parallel Scheduling

Page 24: Deep Learning System Stack - Pooyan Jamshidi · Discussion: Numpy vs TF Program. Typical Deep Learning System Stack. Computation Graph Optimization. Parallel Scheduling. Typical Deep

Typical Deep Learning System Stack

Page 25: Deep Learning System Stack - Pooyan Jamshidi · Discussion: Numpy vs TF Program. Typical Deep Learning System Stack. Computation Graph Optimization. Parallel Scheduling. Typical Deep

GPU Acceleration

Page 26: Deep Learning System Stack - Pooyan Jamshidi · Discussion: Numpy vs TF Program. Typical Deep Learning System Stack. Computation Graph Optimization. Parallel Scheduling. Typical Deep

Typical Deep Learning System Stack

Page 27: Deep Learning System Stack - Pooyan Jamshidi · Discussion: Numpy vs TF Program. Typical Deep Learning System Stack. Computation Graph Optimization. Parallel Scheduling. Typical Deep

Supporting More Hardware backends

Page 28: Deep Learning System Stack - Pooyan Jamshidi · Discussion: Numpy vs TF Program. Typical Deep Learning System Stack. Computation Graph Optimization. Parallel Scheduling. Typical Deep

Each Hardware backend requires a software stack

Page 29: Deep Learning System Stack - Pooyan Jamshidi · Discussion: Numpy vs TF Program. Typical Deep Learning System Stack. Computation Graph Optimization. Parallel Scheduling. Typical Deep

New Trend: Compiler based Approach