Kubeflow
Karane Vieira - Dev
Machine Learning
● Machine do what We TELL them to do:
● With Machine Learning, we can TELL
machines how to LEARN what to do:
Observations
Machine Learning: Applications
Face Detection and Face
Recognition
Spam Detection Chat Bots
Self Driving Cars Recommendation Systems
Machine Learning: Common steps
Prototyping
Training
Deploy Server
Dataset preparation
ETL
Feature Engineering
Kubernetes
● Platform to manage containerized workloads and services
● Supports declarative configuration and automation
● Service discovery and load balancing, storage orchestration, automatic
self-healing, rollouts and rollbacks
● It comprises most of the features of other known devops tools (i.e. ansible,
puppet, etc)
Kubeflow: Definition & Why
● Project dedicated to make deployments of machine learning
workflows on Kubernetes simple, portable and scalable
● Anywhere you run kubernetes, you should be able to run
kubeflow
● Kubeflow provides a set of components that facilitate working
with machine learning, from training to deploy.
Kubeflow: Who uses it
● Started as side-project in Google
● Today is an open-source
● Google is the main sponsor of the project
● It is getting a lot of traction
● Spotify, Itaú, Cisco, Melio, etc
Melio
MLOps company
Kubeflow: Main features
1. Notebooks
2. Model training: Fairing
3. Model serving
4. Pipelines
Kubeflow: Jupyter
● Jupyter is a simple python IDE in the browser
● Jupyter is commonly used by Data Scientists
● In Kubeflow you can run many Jupyter servers
Kubeflow: Fairing
Notebook -
Training Notebook -
Training
● Takes a training notebook, transforms it a docker image and runs it as a
Job in Kubernetes
Kubeflow: Pipeline
● Pipelines are ML Workflows that can be defined inside Kubeflow
● You can upload and share it on Kubeflow Pipeline UI
● Example of components: data preprocessing, training transformation, model
training, etc
● Each component runs in a separate POD
Kubeflow: other features
Use Case - Spotify
Use Case - Cisco
Kubeflow: Pipeline
Use Case - Itaú Unibanco
Kubeflow: observations
● Kubeflow is in its early days
● There are still some points to be stabilized
● Connect with your cloud providers resources may give you a little headache
Kubeflow: Hands-on
Record a video and play here -- just the Jupyter example
Steps:
1. Create a Jupyter pod
2. Connect to Jupyter
3. Open a machine learning example
4. Show it running
Kubeflow: Hands-on 2
Show somethings live: get nodes, get pods, cloud9, etc
Kubeflow cases
● https://blogs.cisco.com/cloud/how-to-optimize-your-k8s-infrastructure-for-ai-ml-development-with-a-f
ew-clicks
● https://cloud.google.com/blog/products/ai-machine-learning/itau-unibanco-how-we-built-a-cicd-pipeli
ne-for-machine-learning-with-online-training-in-kubeflow
● https://engineering.atspotify.com/2019/12/13/the-winding-road-to-better-machine-learning-infrastruct
ure-through-tensorflow-extended-and-kubeflow/

Kubeflow

  • 1.
  • 2.
    Machine Learning ● Machinedo what We TELL them to do: ● With Machine Learning, we can TELL machines how to LEARN what to do: Observations
  • 3.
    Machine Learning: Applications FaceDetection and Face Recognition Spam Detection Chat Bots Self Driving Cars Recommendation Systems
  • 4.
    Machine Learning: Commonsteps Prototyping Training Deploy Server Dataset preparation ETL Feature Engineering
  • 5.
    Kubernetes ● Platform tomanage containerized workloads and services ● Supports declarative configuration and automation ● Service discovery and load balancing, storage orchestration, automatic self-healing, rollouts and rollbacks ● It comprises most of the features of other known devops tools (i.e. ansible, puppet, etc)
  • 6.
    Kubeflow: Definition &Why ● Project dedicated to make deployments of machine learning workflows on Kubernetes simple, portable and scalable ● Anywhere you run kubernetes, you should be able to run kubeflow ● Kubeflow provides a set of components that facilitate working with machine learning, from training to deploy.
  • 7.
    Kubeflow: Who usesit ● Started as side-project in Google ● Today is an open-source ● Google is the main sponsor of the project ● It is getting a lot of traction ● Spotify, Itaú, Cisco, Melio, etc Melio MLOps company
  • 8.
    Kubeflow: Main features 1.Notebooks 2. Model training: Fairing 3. Model serving 4. Pipelines
  • 9.
    Kubeflow: Jupyter ● Jupyteris a simple python IDE in the browser ● Jupyter is commonly used by Data Scientists ● In Kubeflow you can run many Jupyter servers
  • 10.
    Kubeflow: Fairing Notebook - TrainingNotebook - Training ● Takes a training notebook, transforms it a docker image and runs it as a Job in Kubernetes
  • 11.
    Kubeflow: Pipeline ● Pipelinesare ML Workflows that can be defined inside Kubeflow ● You can upload and share it on Kubeflow Pipeline UI ● Example of components: data preprocessing, training transformation, model training, etc ● Each component runs in a separate POD
  • 13.
  • 14.
    Use Case -Spotify
  • 16.
  • 17.
  • 19.
    Use Case -Itaú Unibanco
  • 21.
    Kubeflow: observations ● Kubeflowis in its early days ● There are still some points to be stabilized ● Connect with your cloud providers resources may give you a little headache
  • 22.
    Kubeflow: Hands-on Record avideo and play here -- just the Jupyter example Steps: 1. Create a Jupyter pod 2. Connect to Jupyter 3. Open a machine learning example 4. Show it running
  • 23.
    Kubeflow: Hands-on 2 Showsomethings live: get nodes, get pods, cloud9, etc
  • 24.
    Kubeflow cases ● https://blogs.cisco.com/cloud/how-to-optimize-your-k8s-infrastructure-for-ai-ml-development-with-a-f ew-clicks ●https://cloud.google.com/blog/products/ai-machine-learning/itau-unibanco-how-we-built-a-cicd-pipeli ne-for-machine-learning-with-online-training-in-kubeflow ● https://engineering.atspotify.com/2019/12/13/the-winding-road-to-better-machine-learning-infrastruct ure-through-tensorflow-extended-and-kubeflow/