tensorflow flexible scalable portable
play

TensorFlow Flexible, Scalable, Portable Rajat Monga Engineering - PowerPoint PPT Presentation

TensorFlow Flexible, Scalable, Portable Rajat Monga Engineering Director, TensorFlow Released in Nov. 2015 #1 repository for machine learning category on GitHub Some Stats 10,000+ commits since Nov, 2015 450+ contributors 1M+


  1. TensorFlow Flexible, Scalable, Portable Rajat Monga Engineering Director, TensorFlow

  2. Released in Nov. 2015 #1 repository for “machine learning” category on GitHub

  3. Some Stats 10,000+ commits since Nov, 2015 450+ contributors 1M+ binary downloads #20 most popular repository on GitHub by stars Used in ML classes at many universities: Toronto, Berkeley, Stanford, ...

  4. TensorFlow powered Cucumber Sorter From: http://workpiles.com/2016/02/tensorflow-cnn-cucumber/

  5. Flexible

  6. Directed graph biases Add Relu weights MatMul Xent examples labels

  7. Async SGD with Parameter Server p’ = p - λ *∆p Parameter Server p ∆p Model Workers

  8. Async SGD with TensorFlow p’ = p - λ *∆p PS Workers p ∆p Model Workers

  9. Sync SGD with TensorFlow delta = ∑∆p p’ = p - λ * delta PS Workers p ∆p Model Workers

  10. Alternate version of Parameter sharing Workers

  11. More ML Algorithms ● Clustering e.g. k-means ● Random Forests ● Logistic Regression ● Bayesian methods

  12. Scalable

  13. const x const Deferred Execution MatMul MatMul + Operations build the dataflow graph; eval() fetches the result. import tensorflow as tf with tf.Session(): x = tf.constant([[5, 6], [7, 8]]) z = tf.matmul(x, x) + tf.matmul(x, [[1, 0], [0, 1]]) # Run graph to fetch z. result = z.eval()

  14. Parallelism in Op implementations ... MatMul ...

  15. Task Parallelism in DataFlow graph ... MatMul ... ... MatMul ... ...

  16. Data Parallelism MatMul ... Input MatMul ... Param MatMul ... MatMul ...

  17. Model Parallelism MatMul Matrix Split Concat MatMul Matrix

  18. Distribution across Devices GPU 0 CPU biases Add ... Mul −= ... learning rate

  19. Distribution TensorFlow inserts Send/Recv Ops to transport tensors across devices ● ● Recv ops pull data from Send ops GPU 0 CPU biases Send Recv Add ... Mul −= ... learning rate

  20. Distribution TensorFlow inserts Send/Recv Ops to transport tensors across devices ● ● Recv ops pull data from Send ops GPU 0 CPU biases Send Recv Add ... Mul −= Send Recv ... Recv Send Recv learning rate Send

  21. Scale across machines

  22. Portable

  23. Platforms

  24. Device Abstraction TensorFlow Core Execution Engine CPU GPU Android iOS ...

  25. Languages

  26. Language Abstraction Python C++ ... TensorFlow Core Execution Engine CPU GPU Android iOS ...

  27. Now what?

  28. AutoTrash

  29. AutoTrash

  30. Thank You! Rajat Monga @rajatmonga

Recommend


More recommend