Data science has exploded as a practice in the past decade and has become an undisputed driver of innovation.
The forcing factors behind the rising interest in Machine Learning, a not so new concept, have consolidated and created an unparalleled capacity for Deep Learning , a subset of Artificial Neural Networks with many “ hidden layers ”, to thrive in the years to come.
Deep Learning enabling factors:
The common pathway for a data scientist is to start by writing a model on a Jupyter notebook using Python and amazing Open Source libraries such as TensorFlow , Keras or PyTorch . When starting out, we tend to be focused on the end result of the model, but, there is a lot more.
While trying to bring the model to the hands of users or to edge devices, things get more complicated. In fact, developing the model itself is only a fairly small portion of the effort required to train, deploy and manage an AI project.
There is just a lot of background work to be done:
The typical Machine Learning workflow can look like this:
With these different stages, having diverse requirements, the challenges that arise are threefold:
The word that best defines these needs is MLOps .
Kubernetes (a.k.a. K8s) is an open source system to automate deployment, scaling, and management of containerized applications widely used in the world of DevOps .
For Data Scientists with the above mentioned challenges, this means they can package each step of the process as a container, making it system agnostic (portable) and composable (i.e. modular building blocks), and have Kubernetes handle the deployment and management at scale.
«Why not simply use the great powers of Kubernetes?»
The only problem is, we need to become experts in:
– Kubernetes service endpoints
– Immutable deployments
– Persistent volumes
– GPGPU passthough
– Drivers & the GPL
– Containers
– Cloud APIs
– Packaging
– DevOps
– Scaling
– (…)
Kubeflow makes deployments of Machine Learning workflows on Kubernetes Simple, Portable and Scalable .
Kubeflow is the machine learning toolkit for Kubernetes. It extends Kubernetes ability to run independent and configurable steps, with machine learning specific frameworks and libraries.
And, it is all Open Source!
Run it on your workstation, on-premises training rig, or in any hybrid or public cloud, in a new or already running Kubernetes deployment. Within Kubeflow you will find all the open source tools and frameworks you need:
To know more, visitubuntu.com/kubeflow, or install Kubeflow by following the tutorial Deploy Kubeflow on Ubuntu, Windows and MacOS .
In upcoming posts, we will dive deeper in the technologies that make Kubeflow, and how you can leverage them to enhance your Data Science capabilities. Subscribe to our Cloud and Server newsletter to up to date.