Kubeflow, MLFlow and beyond -
augmenting ML delivery
STEPAN PUSHKAREV
ILNUR GARIFULLIN
Outline
1. Intro
2. Why yet another Flow
3. Kubeflow overview
4. Hydrosphere.io overview
Practice
1. Defining a pipeline and underlying worker containers
2. Run train-test-deploy ML pipeline with Kubeflow
3. Simulating production traffic
4. Monitoring data and domain drift
5. Closing the loop with automated re-training
Why
Machine Learning 5 years ago
Business Problem
Data
High hopes
Then somebody opened a black box….
High hopes
Machine Learning Workflow - whitening the box
1. Research
2. Data Preparation
3. Model Training
4. Model Cataloguing
5. Model Deployment
6. Model Integration Testing
7. Production Inferencing
8. Model Performance Monitoring
9. Model Maintenance
f(x)
ML Workflow as a pure function
Immutable Raw
Dataset
ML Service in prod
Repeatable | Scalable | Observable
Machine Learning Operations
What is Kubeflow?
● Began as Kubernetes template / blueprint for running Tensorflow
● Evolved into “Toolkit” - loosely coupled tools and blueprints for ML on
Kubernetes
Kubeflow Pipelines - the very first original contribution
Main components:
1. Python SDK
2. UI
3. Orchestrator
4. ML Metadata Service
5. Argo under the hood
Kubeflow Pipelines
Kubeflow brings ML Awareness into CD
1. METADATA store and visualization components
2. Kubernetes native - enforcement of Docker-only pipelines
3. Strong believe in Kubernetes community
Cons:
1. Still Low level. Needs Ops team to make it work.
2. No ML Workflow adapters, domain abstractions
Alternatives
1. Jenkins / Gitlab may close the gap with ML plugins
2. AirFlow may close the gap with ML Operators
3. AWS Step Functions - do it yourself
1. ML Flow - simple architecture, easier to start, local mode,
experiments tracking is better.
Could be run in Kube not not as native as Kubeflow.
Databricks / Azure community.
What is Hydrosphere.io?
Hydrosphere.io is a platform for ML Models Management.
- Started as an open source Microservices native ML Serving
- An exact value-add “tool” - a part of the Kubeflow toolkit
- Now covers model Cataloguing, Deployment, Inferencing,
Monitoring and Maintenance
Hydrosphere.io
Data Prep Training Cataloguing Deployment Integration
Testing
Production
Inferencing
Performance
Monitoring
Model
Maintenance
Tools Landscape
Orchestrate
The Code
https://github.com/Hydrospheredata/workshop
Workshop plan - Part 1 - Forward path
Data
Prep
Model
Training
Model
Release
Deploy to
Stage
Integration
Testing
Deploy to Prod
Class plan - Part 2 - Production Flow
Simulate
Prod Load
Production
Inferencing
Accuracy
Monitoring
Performance
Monitoring
Predictions
Tracing
Class plan - Part 3 - Maintenance Flow
Data
Prep
Model
Training
Model
Release
Deploy to
Stage
Integration
Testing
Deploy to Prod Production
Inferencing
Production
Metrics
feedback loop
Practice
Next Steps
TRY
hydrosphere.io
kubeflow.org
github.com/Hydrospheredata/workshop
ASK QUESTIONS
spushkarev@hydrosphere.io
info@hydrosphere.io
https://gitter.im/Hydrospheredata/hydro-serving
Contact Us
GENERAL INQUIRIES
hydrosphere.io
info@hydrosphere.io
linkedin.com/company/hydrospherebigdata
twitter.com/hydrospheredata
facebook.com/hydrosphere.io
ADDRESS
125 University Avenue, Suite 290
Palo Alto, CA, 94301
tel: 650-521-7875
BUSINESS AND TECHNICAL
Stepan Pushkarev
spushkarev@hydrosphere.io
Ilnur Garifullin
igarifullin@provectus.com

ODSC webinar "Kubeflow, MLFlow and Beyond — augmenting ML delivery" Stepan Pushkarev, Provectus

Editor's Notes

  • #3 Hi everyone, thank you for coming, we are happy to welcome you on our webinar dedicated to leveraging KubeFlow ML Workflow automation. Let’s take a look at the scope we will cover today. In the first section we would like to align everybody on terminology and ML workflow best practices to get on the same page. In the second part we’ll revise tools (in particular Kubeflow and Hydrosphere) that will help us to automate the steps from the first part. After that we will make a deep dive into that topic and demonstrate internal parts of automation process. In conclusion we will be happy to answer your questions.
  • #4 We will start with the general machine learning workflow.
  • #5 We will start with the general machine learning workflow.
  • #6 We will start with the general machine learning workflow.
  • #7 We will start with the general machine learning workflow.
  • #8 We will start with the general machine learning workflow.
  • #9 We will start with the general machine learning workflow.
  • #10 We will start with the general machine learning workflow.
  • #11 So, what is a Kubeflow? Kubeflow began as Kubernetes template or blueprint for running Tensorflow. Over time it evolved into a “Toolkit” - loosely coupled tools and blueprints for ML on Kubernetes The “toolkit” and “loosely coupled” are keywords here. TensorFlow, Katib and other tools are independently developed tools deployed on Kubernetes and orchestrated by Argo. Kubeflow Pipelines is the latest addition to the ecosystem - a nice Python DSL on top of Argo yaml configs.
  • #19 Hi everyone, thank you for coming, we are happy to welcome you on our webinar dedicated to leveraging KubeFlow ML Workflow automation. Let’s take a look at the scope we will cover today. In the first section we would like to align everybody on terminology and ML workflow best practices to get on the same page. In the second part we’ll revise tools (in particular Kubeflow and Hydrosphere) that will help us to automate the steps from the first part. After that we will make a deep dive into that topic and demonstrate internal parts of automation process. In conclusion we will be happy to answer your questions.
  • #23 Hi everyone, thank you for coming, we are happy to welcome you on our webinar dedicated to leveraging KubeFlow ML Workflow automation. Let’s take a look at the scope we will cover today. In the first section we would like to align everybody on terminology and ML workflow best practices to get on the same page. In the second part we’ll revise tools (in particular Kubeflow and Hydrosphere) that will help us to automate the steps from the first part. After that we will make a deep dive into that topic and demonstrate internal parts of automation process. In conclusion we will be happy to answer your questions.