Kubeflow
In this module you will learn how to:
build hybrid cloud machine learning models with Kubeflow
and how to optimize TensorFlow graphs for mobile.
To begin, let’s explore Kubeflow, an open-source machine learning platform designed to enable the use of machine learning pipelines to orchestrate complicated workflows running on Kubernetes.
Kubeflow helps build hybrid cloud machine learning models.
But why are we discussing hybrid in the first place?
Why would you need anything other than Google Cloud?
We’ve focused on cloud-native environments, which involve prototyping and developing code using an AI Platform notebook.
Once that code is working on a small sample of data,
the training job gets submitted to AI Platform to operate on the full dataset.
There are, however, scenarios when cloud-native, or conducting machine learning solely on Google Cloud, is not an option.
Let’s look at some of these scenarios now.
Maybe you’re tied to on-premises infrastructure, or there are other constraints preventing the option to move your training data off an on-prem cluster or data center.
Alternatively, perhaps you require a multi-cloud solution architecture, one that does not rely solely on Google Cloud.
This could be because you’re working with data that is being produced by a system that is running on a different cloud provider, or because model predictions need to be consumed from another cloud.
Or maybe you are in an initial phase of an ML project running machine learning on the edge, where you’re working on a local developer workstation.
Training at scale typically happens in a cloud environment; however, inference and distributed training can happen at the edge.
The edge means that predictions happen on a smart device, which is common in internet-of-things.
Using Kubernetes, it’s possible to orchestrate containers that run either on-premises or in the cloud.
And that can be any cloud.
Using Kubernetes allows for speed, the ability to minimize infrastructure management needs, all while being able to move or burst to Google Cloud.
Kubeflow is the machine learning toolkit for Kubernetes, and it brings a number of benefits.
It makes deploying machine learning workflows on Kubernetes simple, portable, and scalable.
It also extends Kubernetes’ ability to run independent and configurable steps, with machine learning specific frameworks and libraries.
And since Kubeflow is open source, it can run Google Kubernetes Engine, which is part of Google Cloud.
However, Kubeflow can actually run on anything–whether it’s a phone, a laptop, or an on-premise cluster.
Regardless of where it’s run, the code remains the same.
Some of the configuration settings just change.