a few questions about large scale machine learning

67
A few questions about large-scale Machine Learning March 9th, 2016 Theodore Vasiloudis, SICS/KTH

Upload: theodoros-vasiloudis

Post on 15-Jan-2017

398 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Page 1: A few questions about large scale machine learning

A few questions aboutlarge-scale Machine LearningMarch 9th, 2016Theodore Vasiloudis, SICS/KTH

Page 2: A few questions about large scale machine learning

What can we do with machine learning these days?

Page 3: A few questions about large scale machine learning

What can we do with machine learning these days?

● We can paint pictures!

Page 4: A few questions about large scale machine learning

Source: Nikulin (2016)

Page 5: A few questions about large scale machine learning

NeuralDoodle: Turning Two-Bit Doodles into Fine Artwork

Source: Champandard (2016)

Page 6: A few questions about large scale machine learning

What can we do with machine learning these days?

● We can paint pictures!● We can beat top-ranked players at Go!

Page 7: A few questions about large scale machine learning

AlphaGo beats Lee Se-dol in first of five matches

Page 8: A few questions about large scale machine learning

What can we do with machine learning these days?

● We can paint pictures!● We can beat professionals at Go!

Page 9: A few questions about large scale machine learning

What can we do with machine learning these days?

● We can paint pictures!○ Optimization problems○ i.e. we can approximate unknown functions

Page 10: A few questions about large scale machine learning

What can we do with machine learning these days?

● We can paint pictures!○ Optimization problems○ i.e. we can approximate unknown functions

● We can beat professionals at Go!○ Probabilistic problems○ i.e. we can also approximate unknown distributions*

*definition abuse warning, see Silver et al. (2016) for details

Page 11: A few questions about large scale machine learning

What can we not do with machine learning these days?

Page 12: A few questions about large scale machine learning

What can we not do with machine learning these days?

r/MachineLearning

Page 13: A few questions about large scale machine learning

What can we not do with machine learning these days?

r/MachineLearning

Page 14: A few questions about large scale machine learning

What can we not do with machine learning these days?

r/MachineLearning

Page 15: A few questions about large scale machine learning

What can we not do with machine learning these days?

r/MachineLearning

Page 16: A few questions about large scale machine learning

What can we not do with machine learning these days?

r/MachineLearning

Page 17: A few questions about large scale machine learning

What can we not do with machine learning these days?

r/MachineLearning

Page 18: A few questions about large scale machine learning

What can we not do with machine learning these days?

r/MachineLearning

Page 19: A few questions about large scale machine learning

What can we not do with machine learning these days?

r/MachineLearning

Page 20: A few questions about large scale machine learning

What is large-scale machine learning?

Page 21: A few questions about large scale machine learning

What do we mean?

Page 22: A few questions about large scale machine learning

What do we mean?

● Small-scale learning ● Large-scale learning

Source: Léon Bottou

Page 23: A few questions about large scale machine learning

What do we mean?

● Small-scale learning○ We have a small-scale learning problem

when the active budget constraint is the number of examples.

● Large-scale learning

Source: Léon Bottou

Page 24: A few questions about large scale machine learning

What do we mean?

● Small-scale learning○ We have a small-scale learning problem

when the active budget constraint is the number of examples.

● Large-scale learning○ We have a large-scale learning problem

when the active budget constraint is the computing time.

Source: Léon Bottou

Page 25: A few questions about large scale machine learning

Do we need a cluster to do large-scale machine learning?

Page 26: A few questions about large scale machine learning

Do I need a cluster?

Probably not.

Page 27: A few questions about large scale machine learning

Do I need a cluster?

● But I want one!

Page 28: A few questions about large scale machine learning

Do I need a cluster?

● But I want one!○ Nobody ever got fired for buying a cluster

(Appuswamy 2013)

Page 29: A few questions about large scale machine learning

BID Data Toolkit

● Canny et al.: “Big Data Analytics with Small Footprint: Squaring the Cloud”, KDD 2013

● Canny et al.: “BIDMach: Large-scale Learning with Zero Memory Allocation”, NIPS 2013 BigLearn workshop

Page 30: A few questions about large scale machine learning

Matrix factorization on the complete Netflix dataset

System Nodes/cores Dim Error Time (s) Cost Energy (KJ)

Graphlab 18/576 100 376 $3.50 10,000

Spark 32/128 100 0.82 146 $0.40 1000

BIDMach 1 100 0.83 90 $0.015 20

Spark 32/128 200 0.82 544 $1.45 3500

BIDMach 1 200 0.83 129 $0.02 30

BIDMach 1 500 0.83 600 $0.10 150

Page 31: A few questions about large scale machine learning

Kmeans on MNIST-8M

System nodes

/cores

nclust Error Time (s) Cost Energy(KJ)

Spark 32/128 256 1.5e13 180 $0.45 1150

BIDMach 1 256 1.44e13 320 $0.06 90

Sk-Learn 1/8 256 3200x4 * $1.0 10

Spark 96/384 4096 1.05e13 1100 $9.00 22000

BIDMach 1 4096 0.995e13 735 $0.12 140

Page 32: A few questions about large scale machine learning

Roofline design

BID Data Toolkit

Page 33: A few questions about large scale machine learning

Roofline design

BID Data Toolkit

Page 34: A few questions about large scale machine learning

Do I need a cluster?

● But I have one!

Page 35: A few questions about large scale machine learning

Do I need a cluster?

● But I have one!○ Install Hadoop!

Page 36: A few questions about large scale machine learning

Do I need a cluster?

● But I have one!○ Install Hadoop!○ Nobody ever got fired for using Hadoop on

a cluster (Rowstron 2012)

Page 37: A few questions about large scale machine learning

Petuum

● Xing et al.: “Petuum: A New Platform for Distributed Machine Learning on Big Data”, KDD 2015

Page 38: A few questions about large scale machine learning

Source: Xing (2015)

Left: Petuum vs. YahooLDA. Right: Petuum vs. Graphlab and Spark

Page 39: A few questions about large scale machine learning

Do I need a cluster?

● But I want fault tolerance!

Page 40: A few questions about large scale machine learning

Do I need a cluster?

● But I want fault tolerance!○ Will have to use existing data processing

system

Page 41: A few questions about large scale machine learning

Distributed ML Systems

● General purpose data processing systems○ Apache Spark ○ Apache Flink

Page 42: A few questions about large scale machine learning

Distributed ML Systems

● General purpose data processing systems○ Apache Spark ○ Apache Flink

● Both provide large-scale ML libraries (MLlib & FlinkML)

Page 43: A few questions about large scale machine learning

Distributed ML Systems

● General purpose data processing systems○ Apache Spark ○ Apache Flink

● Both provide large-scale ML libraries (MLlib & FlinkML)● Quite different in terms of maturity

Page 44: A few questions about large scale machine learning

Distributed ML Systems

● General purpose data processing systems○ Apache Spark ○ Apache Flink

● Both provide large-scale ML libraries (MLlib & FlinkML)● Quite different in terms of maturity● Biased opinion: Invest early in Flink

Page 45: A few questions about large scale machine learning

Distributed ML Systems

● General purpose data processing systems○ Apache Spark ○ Apache Flink

● Both provide large-scale ML libraries (MLlib & FlinkML)● Quite different in terms of maturity● Biased opinion: Invest early in Flink

Page 46: A few questions about large scale machine learning

What are the problems with ML systems?

Page 47: A few questions about large scale machine learning

What are the problems with ML systems?

● “Hidden technical debt in Machine Learning Systems”, Sculley et al (NIPS 2015)

Page 48: A few questions about large scale machine learning

What are the problems with ML systems?

● Boundary erosion

Page 49: A few questions about large scale machine learning

What are the problems with ML systems?

● Boundary erosion○ Entanglement

Page 50: A few questions about large scale machine learning

What are the problems with ML systems?

● Boundary erosion○ Entanglement

■ CACE: Changing Anything Changes Everything

Page 51: A few questions about large scale machine learning

What are the problems with ML systems?

● Boundary erosion○ Entanglement

■ CACE: Changing Anything Changes Everything○ Undeclared consumers

Page 52: A few questions about large scale machine learning

What are the problems with ML systems?

● Boundary erosion○ Entanglement

■ CACE: Changing Anything Changes Everything○ Undeclared consumers

● Data dependencies

Page 53: A few questions about large scale machine learning

What are the problems with ML systems?

Page 54: A few questions about large scale machine learning

What are the problems with ML systems?

Data ML Code Model

Page 55: A few questions about large scale machine learning

What are the problems with ML systems?

Data ML Code Model

Page 56: A few questions about large scale machine learning

A few useful questions

Page 57: A few questions about large scale machine learning

A few useful questions

● How easily can an entirely new algorithmic approach be tested at full scale?

● What is the transitive closure of all data dependencies?● How precisely can the impact of a new change to the system be

measured?● Does improving one model or signal degrade others?● How quickly can new members of the team be brought up to speed?

Page 58: A few questions about large scale machine learning

Where are we taking large-scale machine learning?

Page 59: A few questions about large scale machine learning

Where are we taking large-scale machine learning?

● Communication efficient algorithms and systems

Page 60: A few questions about large scale machine learning

Where are we taking large-scale machine learning?

● Communication efficient algorithms and systems● “Computation efficient” algorithms and systems

Page 61: A few questions about large scale machine learning

Active research area

How to get here?

Page 62: A few questions about large scale machine learning

Where are we taking large-scale machine learning?

Page 63: A few questions about large scale machine learning

● Unsupervised learning

Where are we taking large-scale machine learning?

Page 64: A few questions about large scale machine learning

● Unsupervised learning● Higher-order representations

Where are we taking large-scale machine learning?

Page 65: A few questions about large scale machine learning

● Unsupervised learning● Higher-order representations● Reasoning about uncertainty

Where are we taking large-scale machine learning?

Page 67: A few questions about large scale machine learning

References

Parts of the structure and content of the presentation come from the KDD tutorial “A new look at the system, algorithm and theory foundations of Distributed ML” and used with permission from Eric Xing.

● Leon Botou: Learning with Large Datasets● Silver (2016): Mastering the game of Go with deep neural networks and tree search● Nikulin (2016): Exploring the Neural Algorithm of Artistic Style● Champandard (2016): Semantic Style Transfer and Turning Two-Bit Doodles into Fine Artwork● BID Data Toolkit: BID Data Project Website● CMU Petuum: Petuum Project● Apache Spark: spark.apache.org● Apache Flink: flink.apache.org

Other references found in the text.

And finally: