h o deep water - bi consultingbiconsulting.hu/.../chow_jo_fai_h2o_deep_water.pdf · h2o deep water...

54
H 2 O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist [email protected] @matlabulous Budapest Data Forum 13 th June, 2017

Upload: others

Post on 03-Jun-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

H2O Deep WaterMaking GPU Deep Learning Accessible to Everyone

Jo-fai (Joe) Chow

Data Scientist

[email protected]

@matlabulous

Budapest Data Forum13th June, 2017

Page 2: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

H2O Deep WaterMaking GPU Deep Learning Accessible to Everyone

Jo-fai (Joe) Chow

Data Scientist

[email protected]

@matlabulous

Budapest Data Forum13th June, 2017

All slides, data and code examples

http://bit.ly/h2o_meetups

Page 3: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

Agenda

• Introduction• Company

• Why H2O?

• H2O Machine Learning Platform

• Deep Water• Motivation / Benefits

• GPU Deep Learning Demos

• Latest H2O Developments

3

Page 4: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

About Me

Civil (Water) Engineer•2010 • – 2015

Consultant (UK)•

Utilities•

Asset Management•

Constrained Optimization•

EngD (Industrial PhD) (UK)•

Infrastructure Design Optimization•

Machine Learning + •Water Engineering

Discovered H• 2O in 2014

• Data Scientist• 2015 – 2016

• Virgin Media (UK)

• Domino Data Lab (Silicon Valley)

• 2016 – Present • H2O.ai (Silicon Valley)

• How?• bit.ly/joe_kaggle_story

4

Page 5: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

About Me – I ❤️ DataViz

5

My First Data Viz & Shiny App ExperienceCrimeMap (2013) Revolution Analytics’ Data Viz Contest

RUGSMAPS (2014)

Page 6: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

About Me – I ❤️ Colours

6

Developing R Packages for FunrPlotter (2014)

Page 7: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

useR! 2014

7

John Chambers mentioned H2O

… so I gave it a try

CrimeMap -> poster

Page 8: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

About H2O.ai

8

Page 9: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

Company OverviewFounded 2011 Venture-backed, debuted in 2012

Products • H2O Open Source In-Memory AI Prediction Engine• Sparkling Water• Deep Water• Steam

Mission Operationalize Data Science, and provide a platform for users to build beautiful data products

Team 70 employees• Distributed Systems Engineers doing Machine Learning• World-class visualization designers

Headquarters Mountain View, CA

9

Page 10: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

H2O.ai Offers AI Open Source PlatformProduct Suite to Operationalize Data Science with Visual Intelligence

In-Memory, Distributed Machine Learning

Algorithms with Speed and Accuracy

H2O Integration with Spark. Best Machine Learning on

Spark.

100% Open Source

10

Visual Intelligence and UX Framework For Data Interpretation and Story Telling on top of Beautiful Data Products

Operationalize and Streamline Model Building, Training and Deployment

Automatically and Elastically

State-of-the-art Deep Learning on GPUs with TensorFlow, MXNet or Caffe with the ease of use of H2O

DeepWater

Page 11: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

11Joe (UK)

Page 12: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

Scientific Advisory Council

12

Page 13: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

H2O Community Growth

13

Page 14: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

Why H2O?

14

Page 15: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

H2O at Budapest Data Forum 2017

15

Page 16: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

16

Very easy to use

Powerful

Much faster than scikit-learn

Prefer H2O when data is large

https://www.reddit.com/r/MachineLearning/comments/6g5yjh/discussion_how_good_is_h2o/

Page 17: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

H2O for Academic Research

17

http://www.sciencedirect.com/science/article/pii/S0377221716308657

https://arxiv.org/abs/1509.01199

Page 18: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

Szilard Pafka’s Comment

18

https://speakerdeck.com/szilard/machine-learning-with-h2o-dot-ai-budapest-data-science-meetup-july-2016

https://github.com/szilard/benchm-ml

Page 19: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

H2O Machine Learning Platform

19

Page 20: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

HDFS

S3

NFS

DistributedIn-Memory

Load Data

Loss-lessCompression

H2O Compute Engine

Production Scoring Environment

Exploratory &Descriptive

Analysis

Feature Engineering &

Selection

Supervised &Unsupervised

Modeling

ModelEvaluation &

Selection

Predict

Data & ModelStorage

Model Export:Plain Old Java Object

YourImagination

Data Prep Export:Plain Old Java Object

Local

SQL

High Level Architecture

20

Page 21: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

H2O + R

21

Page 22: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

Use H2O with OtherR Packages

22

https://github.com/woobe/h2o_demos/tree/master/human_activitiy_recognition_with_smartphones

Train a PCA model with H1. 2OVisualize PCs with plotly2.Deploy as a Shiny app3.

Page 23: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

H2O + Python

23

Page 24: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

24

H2O Flow (Web) Interface

Page 25: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

25

docs.h2o.ai

Page 26: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

26

Page 27: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

TensorFlow

• Open source machine learning framework by Google

• Python / C++ API

• TensorBoard• Data Flow Graph Visualization

• Multi CPU / GPU• v0.8+ distributed machines support

• Multi devices support• desktop, server and Android devices

• Image, audio and NLP applications

• HUGE Community

• Support for Spark, Windows …

27

https://github.com/tensorflow/tensorflow

Page 28: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

28

https://github.com/dmlc/mxnethttps://www.zeolearn.com/magazine/amazon-to-use-mxnet-as-deep-learning-framework

Page 29: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

Caffe

• Convolution Architecture For Feature Extraction (CAFFE)

Pure C++ / CUDA architecture •for deep learning

Command line, Python and •MATLAB interface

Model Zoo•Open collection of models•

29

https://docs.google.com/presentation/d/1UeKXVgRvvxg9OUdh_UiC5G71UMscNPlvArsWER41PsU/

Page 30: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

H2O Deep Learning in Action

30

Page 31: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

TensorFlow , MXNet, Caffe and H2O DLdemocratize the power of deep learning.

H2O platform democratizes artificial intelligence & big data science.

There are other open source deep learning libraries like Theano and Torch too.

Let’s have a party, this will be fun!

31

Page 32: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

Deep Water Next-Gen Distributed Deep Learning with H2O

H2O integrates with existing GPUbackends for significant performance gains

One Interface - GPU Enabled - Significant Performance GainsInherits All H2O Properties in Scalability, Ease of Use and Deployment

Recurrent Neural Networksenabling natural language processing, sequences, time series, and more

Convolutional Neural Networks enabling Image, video, speech recognition

Hybrid Neural Network Architectures enabling speech to text translation, image captioning, scene parsing and more

Deep Water

32

Page 33: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

33

www.h2o.ai/download/

Page 35: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

35

Example: Deep Water + H2O FlowChoosing different network structures

Page 36: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

36

Choosing different backends(TensorFlow, MXNet, Caffe)

Page 37: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

Unified Interface (Deep Water + R)

37

Choosing different network structures

and backends

Page 38: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

Unified Interface (Deep Water + Python)

38

Change backend to“mxnet”, “caffe” or “auto”

Choosing different network structures

Page 39: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

39

https://github.com/h2oai/h2o-3/tree/master/examples/deeplearning/notebooks

Deep Water Example notebooks

Page 40: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

Deep Water Cat/Dog/Mouse Demo

40

Page 41: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

Deep Water R Demo

• H2O + MXNet + TensorFlow• Dataset – Cat/Dog/Mouse

• MXNet & TensorFlow as GPU backend

• Train LeNet (CNN) models

• R Demo

Code and Data•github.com/h• 2oai/deepwater

41

Page 42: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

Data – Cat/Dog/Mouse Images

42

Page 43: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

Data – CSV

43

Page 44: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

Deep Water – Basic UsageLive Demo if Possible

44

Page 45: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

Import CSV

45

Page 46: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

Train a CNN (LeNet) Model on GPU

46

Easy Switch

Page 47: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

Deep Water – Custom Network

47

Page 48: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

Xxx

48

Saving the custom network structure as a file

Configure custom network structure(MXNet syntax)

Page 49: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

Train a Custom Network

49

Point it to the custom network structure file

Page 50: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

Conclusions

50

Page 51: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

Project “Deep Water”

• H2O + TF + MXNet + Caffe• A powerful combination of widely

used open source machine learning libraries.

• All Goodies from H2O• Inherits all H2O properties in

scalability, ease of use and deployment.

• Unified Interface• Allows users to build, stack and

deploy deep learning models from different libraries efficiently.

51

Download and Try Deep Water•https://www.h• 2o.ai/download/

100• % Open SourceThe party will get bigger!•

Page 52: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

Latest H2O DevelopmentsH2O + xgboost, Automatic Machine Learning (AutoML), word2vec …

52

Page 54: H O Deep Water - BI Consultingbiconsulting.hu/.../chow_jo_fai_H2O_deep_water.pdf · H2O Deep Water Making GPU Deep Learning Accessible to Everyone Jo-fai (Joe) Chow Data Scientist

Conference Organizers & •Sponsors

Arató• Bence

Szilard • Pafka

54

Thank you!

• Code, Slides & Documents• bit.ly/h2o_meetups

• docs.h2o.ai

• Contact• [email protected]

• @matlabulous

• github.com/woobe

• Please search/ask questions on Stack Overflow• Use the tag `h2o` (not H2 zero)