Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes...
Transcript of Machine learning and discovery with Kubernetes · Machine learning and discovery with Kubernetes...
Machine learning and discovery with KubernetesWilliam Benton • @willb • [email protected]
What do machine learning workflows look like?
@willb #SEMLA19
@willb #SEMLA19
@willb #SEMLA19
@willb #SEMLA19
@willb #SEMLA19
@willb #SEMLA19
@willb #SEMLA19
@willb #SEMLA19
data collection and cleaning
codifying problem and metrics
@willb #SEMLA19
feature engineering
model training and tuning
data collection and cleaning
@willb #SEMLA19
feature engineering
model training and tuning
data collection and cleaning
@willb #SEMLA19
feature engineering
model training and tuning
model validation
@willb #SEMLA19
feature engineering
model training and tuning
model validation
@willb #SEMLA19
model validation
model deployment
monitoring and validation
@willb #SEMLA19
model validation
model deployment
monitoring and validation
@willb #SEMLA19
feature engineering
model training and tuning
model validation
model deployment
monitoring and validation
data collection and cleaning
codifying problem and metrics
@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
@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
@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
@willb #SEMLA19
@willb #SEMLA19
What’s a container?
@willb #SEMLA19
%
@willb #SEMLA19
% pip install numpy
@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
@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
@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
@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
@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
@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
@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
@willb #SEMLA19
Immutable images
base image
configuration and installation recipes
user application code
979229b9
33721112 e8cae4f6 2bb6ab16 a8296f7e
a6afd91e 6b8cad3e
@willb #SEMLA19
Stateless microservices
@willb #SEMLA19
Stateless microservices
@willb #SEMLA19
Stateless microservices
@willb #SEMLA19
Stateless microservices
@willb #SEMLA19
Stateless microservices
@willb #SEMLA19
Stateless microservices
@willb #SEMLA19
Stateless microservices
@willb #SEMLA19
Stateless microservices
@willb #SEMLA19
Declarative app configuration
@willb #SEMLA19
Integration and deployment
OK!
@willb #SEMLA19
Integration and deployment
OK!base image
configuration and installation recipes
application code
@willb #SEMLA19
Integration and deployment
OK!base image
configuration and installation recipes
application code
@willb #SEMLA19
Integration and deployment
base image
configuration and installation recipes
application code
What containers offerdata scientists
@willb #SEMLA19
@willb #SEMLA19
@willb #SEMLA19
OK!
OK!
@willb #SEMLA19
No friction: mybinder.org
@willb #SEMLA19
More flexible: source-to-image
%
@willb #SEMLA19
More flexible: source-to-image
%
https://github.com/openshift/source-to-image
builder image application image
@willb #SEMLA19
@willb #SEMLA19
@willb #SEMLA19
@willb #SEMLA19
mA
@willb #SEMLA19
mA
@willb #SEMLA19
mA
distribution of input data?
distribution of predictions?
distribution of acyclic paths taken through scoring code?
(joint)
@willb #SEMLA19
Where from here?
@willb #SEMLA19data scientists
application developersdata engineers
federate
trainmodels
events
databases
file, object storage
management
web and mobile
reporting
developer UItransform
transform
transform
archive
@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
@willb #SEMLA19
radanalytics.io
@willb #SEMLA19
opendatahub.io
@willb #SEMLA19
Kubeflow
What did we talk about today?
@willb #SEMLA19
@willb #SEMLA19
@willb #SEMLA19
@willb #SEMLA19