Kubeflow Explained

Kubeflow
Kubeflow
Logo Size:84px
Author:Google
Developer:Kubeflow Contributors - AWS, Bloomberg, Google, IBM, NVIDIA, Nutanix, Red Hat, Arrikto, and others
Latest Release Version:1.9
Programming Language:Go, Python, TypeScript
Platform:Kubernetes
Genre:Machine Learning Platform
License:Apache License 2.0

Kubeflow is an open-source platform for machine learning and MLOps on Kubernetes introduced by Google. The different stages in a typical machine learning lifecycle are represented with different software components in Kubeflow, including model development (Kubeflow Notebooks), model training (Kubeflow Pipelines, Kubeflow Training Operator), model serving (KServe), and automated machine learning (Katib).

Each component of Kubeflow can be deployed separately, and it is not a requirement to deploy every component.

History

The Kubeflow project was first announced at KubeCon + CloudNativeCon North America 2017 by Google engineers David Aronchick, Jeremy Lewi, and Vishnu Kannan[1] to address a perceived lack of flexible options for building production-ready machine learning systems.[2] The project has also stated it began as a way for Google to open-source how they ran TensorFlow internally.

The first release of Kubeflow (Kubeflow 0.1) was announced at KubeCon + CloudNativeCon Europe 2018[3] .[4] Kubeflow 1.0 was released in March 2020 via a public blog post announcing that many Kubeflow components were graduating to a "stable status", indicating they were now ready for production usage.[5]

In October 2022, Google announced that the Kubeflow project had applied to join the Cloud Native Computing Foundation.[6] [7] In July 2023, the foundation voted to accept Kubeflow as an incubating stage project.[8] [9]

Components

Kubeflow Notebooks for model development

Machine learning models are developed in the notebooks component called Kubeflow Notebooks. The component runs web-based development environments inside a Kubernetes cluster, with native support for Jupyter Notebook, Visual Studio Code, and RStudio.

Kubeflow Pipelines for model training

Once developed, models are trained in the Kubeflow Pipelines component. The component acts as a platform for building and deploying portable, scalable machine learning workflows based on Docker containers. Google Cloud Platform has adopted the Kubeflow Pipelines DSL within its Vertex AI Pipelines product.[10]

Kubeflow Training Operator for model training

For certain machine learning models and libraries, the Kubeflow Training Operator component provides Kubernetes custom resources support. The component runs distributed or non-distributed TensorFlow, PyTorch, Apache MXNet, XGBoost, and MPI training jobs on Kubernetes.

KServe for model serving

The KServe component (previously named KFServing) provides Kubernetes custom resources for serving machine learning models on arbitrary frameworks including TensorFlow, XGBoost, scikit-learn, PyTorch, and ONNX.[11] KServe was developed collaboratively by Google, IBM, Bloomberg, NVIDIA, and Seldon. Publicly disclosed adopters of KServe include Bloomberg,[12] Gojek,[13] the Wikimedia Foundation,[14] and others.[15]

Katib for automated machine learning

Lastly, Kubeflow includes a component for automated training and development of machine learning models, the Katib component. It is described as a Kubernetes-native project and features hyperparameter tuning, early stopping, and neural architecture search.[16]

Release timeline

Release timeline
Version Release Date Release Information Release Blog
Kubeflow 0.15 April, 2018-https://kubernetes.io/blog/2018/05/04/announcing-kubeflow-0.1/
Kubeflow 0.22 July, 2018-https://medium.com/kubeflow/kubeflow-0-2-offers-new-components-and-simplified-setup-735e4c56988d
Kubeflow 0.35 October, 2018-https://medium.com/kubeflow/kubeflow-0-3-simplifies-setup-improves-ml-development-98b8ca10bd69
Kubeflow 0.48 January, 2019-https://medium.com/kubeflow/kubeflow-0-4-release-enhancements-for-machine-learning-productivity-d77c54df07a9
Kubeflow 0.59 April, 2019-https://medium.com/kubeflow/kubeflow-v0-5-simplifies-model-development-with-enhanced-ui-and-fairing-library-78e19cdc9f50
Kubeflow 0.619 July, 2019https://www.kubeflow.org/docs/releases/kubeflow-0.6/https://medium.com/kubeflow/kubeflow-v0-6-a-robust-foundation-for-artifact-tracking-data-versioning-multi-user-support-9896d329412c
Kubeflow 0.717 October, 2019https://www.kubeflow.org/docs/releases/kubeflow-0.7/https://medium.com/kubeflow/kubeflow-v0-7-delivers-beta-functionality-in-the-leadup-to-v1-0-1e63036c07b8
Kubeflow 1.020 February, 2020https://www.kubeflow.org/docs/releases/kubeflow-1.0/https://blog.kubeflow.org/releases/2020/03/02/kubeflow-1-0-cloud-native-ml-for-everyone
Kubeflow 1.131 July, 2020https://www.kubeflow.org/docs/releases/kubeflow-1.1/https://blog.kubeflow.org/release/official/2020/07/31/kubeflow-1.1-blog-post
Kubeflow 1.218 November, 2020https://www.kubeflow.org/docs/releases/kubeflow-1.2/https://blog.kubeflow.org/release/official/2020/11/18/kubeflow-1.2-blog-post
Kubeflow 1.323 April, 2021https://www.kubeflow.org/docs/releases/kubeflow-1.3/https://blog.kubeflow.org/kubeflow-1.3-release/
Kubeflow 1.412 October, 2021https://www.kubeflow.org/docs/releases/kubeflow-1.4/https://blog.kubeflow.org/kubeflow-1.4-release/
Kubeflow 1.510 March, 2022https://www.kubeflow.org/docs/releases/kubeflow-1.5/https://blog.kubeflow.org/kubeflow-1.5-release/
Kubeflow 1.67 September, 2022https://www.kubeflow.org/docs/releases/kubeflow-1.6/https://blog.kubeflow.org/kubeflow-1.6-release/
Kubeflow 1.729 March, 2023https://www.kubeflow.org/docs/releases/kubeflow-1.7/https://blog.kubeflow.org/kubeflow-1.7-release/
Kubeflow 1.81 November, 2023https://www.kubeflow.org/docs/releases/kubeflow-1.8/https://blog.kubeflow.org/kubeflow-1.8-release/
Kubeflow 1.922 July, 2024https://www.kubeflow.org/docs/releases/kubeflow-1.9/https://blog.kubeflow.org/kubeflow-1.9-release/

Notes and References

  1. Web site: "Hot Dogs or Not" - At Scale with Kubernetes [I] - Vish Kannan & David Aronchick, Google ]. . en.
  2. Web site: Introducing Kubeflow - A Composable, Portable, Scalable ML Stack Built for Kubernetes . 21 December 2017 . en.
  3. Web site: Google-led Kubeflow, machine learning for Kubernetes, begins to take shape . 4 May 2018 . en.
  4. Web site: Announcing Kubeflow 0.1 . 4 May 2018 . en.
  5. Web site: Kubeflow 1.0: Cloud-Native ML for Everyone . 2 March 2020 . en.
  6. Web site: Lamkin . Thea . 2022-10-24 . Kubeflow has applied to become a CNCF incubating project . 2023-11-02 . Kubeflow . en.
  7. Web site: 2022-10-24 . Kubeflow applies to become a CNCF incubating project . 2023-11-02 . Google Open Source Blog.
  8. Web site: 2023-07-25 . Kubeflow brings MLOps to the CNCF Incubator . 2023-11-02 . Cloud Native Computing Foundation . en-US.
  9. Web site: 2023-07-25 . Kubeflow joins the CNCF family . 2023-11-02 . Google Open Source Blog.
  10. Web site: Vertex AI - Building a pipeline . en.
  11. Web site: KServe GitHub . . en.
  12. News: The journey to build Bloomberg's ML Inference Platform Using KServe (formerly KFServing) . Bloomberg L.p. . 12 October 2021 . en.
  13. Web site: Merlin: Making ML Model Deployments Magical . en.
  14. Web site: Machine Learning/LiftWing . en.
  15. Web site: KServe Website - Adopters of KServe . en.
  16. Web site: Kubeflow GitHub - Katib . . en.