machine learning and discovery with kubernetes · machine learning and discovery with kubernetes...

76
Machine learning and discovery with Kubernetes William Benton @willb [email protected]

Upload: others

Post on 19-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

Machine learning and discovery with KubernetesWilliam Benton • @willb • [email protected]

Page 2: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

What do machine learning workflows look like?

Will Benton
Page 3: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Page 4: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Page 5: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Page 6: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Page 7: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Page 8: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Page 9: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Page 10: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

data collection and cleaning

codifying problem and metrics

Page 11: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

feature engineering

model training and tuning

data collection and cleaning

Page 12: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

feature engineering

model training and tuning

data collection and cleaning

Page 13: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

feature engineering

model training and tuning

model validation

Page 14: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

feature engineering

model training and tuning

model validation

Page 15: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

model validation

model deployment

monitoring and validation

Page 16: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

model validation

model deployment

monitoring and validation

Page 17: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

feature engineering

model training and tuning

model validation

model deployment

monitoring and validation

data collection and cleaning

codifying problem and metrics

Page 18: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

feature engineering

model training and tuning

model validation

model deployment

monitoring and validation

data collection and cleaning

codifying problem and metrics

defining types and interfaces prototyping

Page 19: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

feature engineering

model training and tuning

model validation

model deployment

monitoring and validation

data collection and cleaning

codifying problem and metrics

unit, behavioral, and integration testing

formal verification

Page 20: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

feature engineering

model training and tuning

model validation

model deployment

monitoring and validation

data collection and cleaning

codifying problem and metrics

deployment monitoring

Page 21: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Page 22: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Page 23: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

What’s a container?

Page 24: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

%

Page 25: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

% pip install numpy

Page 26: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

pip install numpy

/usr/bin/pip executable

arguments

virtual memory

file handles

/root filesystem

environment LANG=en_US USER=willb ...

process table

network routes

Page 27: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

pip install numpy

/usr/bin/pip executable

arguments

virtual memory

file handles

/root filesystem

environment LANG=en_US USER=willb ...

process table

network routes

Page 28: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

pip install numpy

/usr/bin/pip executable

arguments

virtual memory

file handles

/root filesystem

environment LANG=en_US USER=willb ...

process table

network routes

Page 29: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

pip install numpy

/usr/bin/pip executable

arguments

virtual memory

file handles

/root filesystem

environment LANG=en_US USER=willb ...

process table

network routes

Page 30: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

pip install numpy

/usr/bin/pip executable

arguments

virtual memory

file handles

/root filesystem

environment LANG=en_US USER=willb ...

process table

network routes

Page 31: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

pip install numpy

/usr/bin/pip executable

arguments

virtual memory

file handles

/var/lib/envs/mainroot filesystem

environment LANG=en_US USER=willb ...

process table

network routes

Page 32: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

pip install numpy

/usr/bin/pip executable

arguments

virtual memory

file handles

/var/lib/envs/mainroot filesystem

environment LANG=en_US USER=willb ...

process table

network routes

100MAXIMUM

km / h

Page 33: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Immutable images

base image

configuration and installation recipes

user application code

979229b9

33721112 e8cae4f6 2bb6ab16 a8296f7e

a6afd91e 6b8cad3e

Page 34: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Stateless microservices

Page 35: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Stateless microservices

Page 36: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Stateless microservices

Page 37: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Stateless microservices

Page 38: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Stateless microservices

Page 39: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Stateless microservices

Page 40: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Stateless microservices

Page 41: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Stateless microservices

Page 42: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Declarative app configuration

Page 43: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Integration and deployment

OK!

Page 44: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Integration and deployment

OK!base image

configuration and installation recipes

application code

Page 45: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Integration and deployment

OK!base image

configuration and installation recipes

application code

Page 46: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Integration and deployment

base image

configuration and installation recipes

application code

Page 47: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

What containers offerdata scientists

Page 48: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Page 49: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Page 50: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

OK!

OK!

Page 51: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

No friction: mybinder.org

Page 52: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

More flexible: source-to-image

%

Page 53: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

More flexible: source-to-image

%

https://github.com/openshift/source-to-image

builder image application image

Page 54: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com
Page 55: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com
Page 56: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Page 57: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Page 58: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com
Page 59: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com
Page 60: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Page 61: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

mA

Page 62: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

mA

Page 63: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

mA

distribution of input data?

distribution of predictions?

distribution of acyclic paths taken through scoring code?

(joint)

Page 64: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Page 65: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

Where from here?

Page 66: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19data scientists

application developersdata engineers

federate

trainmodels

events

databases

file, object storage

management

web and mobile

reporting

developer UItransform

transform

transform

archive

Page 67: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19data scientists

application developersdata engineers

federate

trainmodels

events

databases

file, object storage

management

web and mobile

reporting

developer UItransform

transform

transform

archive

machine learning engineers

Page 68: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

radanalytics.io

Page 69: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

opendatahub.io

Page 70: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Kubeflow

Page 71: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

What did we talk about today?

Page 72: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Page 73: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Page 74: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Page 75: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

Page 76: Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes William Benton • @willb • willb@redhat.com

@willb #SEMLA19

[email protected] • @willb https://chapeau.freevariable.com

THANKS