Open-source machine learning toolkit built for Kubernetes, Kubeflow has now released its 1.2 version. Some of the major features in this new version include enhancements to the model building, training tuning, and machine learning pipelining; introduction of automated configuration of hyperparameters for better accuracy; serverless interfacing on Kubernetes; and providing interactive coding environment for better model development. Some of the important features are discussed below.
A Kubernetes-based system for hyperparameter tuning and neural architecture search, Katib supports several machine learning frameworks such as TensorFlow, XGBoost, and Pytorch.
Sign up for your weekly dose of what's up in emerging technology.
The new version of Kubeflow introduces an upgraded Katib with v1bet1 AP1 for ensuring delivery of more accurate models using better infrastructure utilisation. It will be achieved through the automated configuration of hyperparameters (variables that control the model training process). A few of the important features of Katib 0.10 include:
- Early stopping: This feature helps in saving cluster resources. Using this feature will not require any modification to the training source code.
- Supporting custom resource definition (CRD) in the new template: CRD API resource allows users to define their own custom resources. With this new feature in Katib, the user will be able to integrate these custom resources in Katib by following simple steps.
- Resume experiments: Users will now be able to resume Katib experiments by using previously saved suggested data in the custom volume.
- Extraction of metrics: Until now, Katib trial controllers would take the best metric values among the available for an experiment. With this update, the user will be able to specify particular metric strategies for an experiment.
The function of KFServing is to provide Kubernetes CRD for serving machine learning models on arbitrary frameworks. It provides features such as GPU Autoscaling, Scale to Zero, and Canary Rollouts. It provides high performing abstraction interfaces for Tensorflow, XGBoost, and PyTorch, among other ML frameworks.
The updated KFServing v0.4.1 can now be enabled on RedHat-developed OpenShift container platform; and now has an additional feature which allows adding batcher modules as a sidecar. With this feature, the KFServer Batcher accepts and batches all user requests at once and sends it to the ‘InterferenceService.’ This saves a lot of time and provides a faster response to the interference requests. It also improves infrastructure utilisation.
Other added features are the introduction of Triton interference server renaming and integrations and allowing customised URL paths.
Kubeflow pipelines are platforms for deploying machine learning workflows based on containers. These platforms consist of a user interface for managing and tracking experiments; an engine to schedule multiple-step ML workflows; interaction with the system using software development kits (SDK); and an SDK to define pipelines and its components. The new Kubeflow pipelines will enable and simplify end-to-end orchestration of machine learning pipelines and also facilitate easy experimentation and re-use.
The new Kubeflow pipelines come with Tekton support. Tekton, from Google Cloud, is a flexible Kubernetes-based open-source platform used for creating continuous integration and delivery (CI/CD) systems.
Other Major Announcements
Apart from the major features discussed above, Kubeflow v1.2 also introduces Notebooks for interactive, experimental coding environment for model development which can be used by individuals and teams to leverage Kubernetes namespaces for resource utilisation.
Another major addition feature is the ability to model versions and their subcomponents, such as metadata using updated model management techniques. This model management technique makes it easier for organising and identifying models. Further, efforts are on to define data types for machine learning models and data to encourage wider metadata standards and interoperability between different frameworks.
It must be noted that a few of these upgraded features, such as Notebooks, pipelines for ML workflow, and Katib for hyperparameter tuning were discussed by the Kubeflow’s team as ‘under-development stage’ when they introduced the v1.0 back in March this year.
All the features introduced in the V1.2, has seen active involvement from the user developer communities. Taking the tradition forward, the Kubeflow team has said that it has already started the discussion on the v1.3 for which it looks forward to input from users and contributors.