AI in healthcare : Case Study Babylon & Kubernetes
By: Pawan Trivedi
Tags: Containers, Kubernetes, AI, Machine Learning, Open Source

Babylon is a healthcare startup that uses AI that has been designed around a doctor’s brain to provide accessible healthcare for millions in the palm of their hands.

A large number of Babylon’s products leverage machine learning and artificial intelligence, and there wasn’t enough computing power in-house to run a particular experiment. So Babylon had migrated its user-facing applications to a Kubernetes platform and the infrastructure team turned to Kubeflow, a toolkit for machine learning on Kubernetes. Instead of waiting hours or days to be able to compute, teams can get access instantaneously. Clinical validations used to take 10 hours; now they are done in under 20 minutes. Researchers used to have to wait up to 10 hours to get results on new versions of their models. With Kubernetes, that time is now down to under 20 minutes. Plus, previously they could only run one clinical validation at a time, now they can run many parallel ones if they need to — a huge benefit.

“Kubernetes is a great platform for machine learning because it comes with all the scheduling and scalability that you need.” — JÉRÉMIE VALLÉE, AI INFRASTRUCTURE LEAD

What is Kubernetes :

Kubernetes also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery.

Containers are a good way to bundle and run your applications. In a production environment, you need to manage the containers that run the applications and ensure that there is no downtime. For example, if a container goes down, another container needs to start. Wouldn’t it be easier if this behavior was handled by a system? That’s how Kubernetes comes to the rescue! Kubernetes provides you with a framework to run distributed systems resiliently. It takes care of scaling and failover for your application, provides deployment patterns, and more.

And it provides : —

Service discovery and load balancing

Storage orchestration

Automated rollouts and rollbacks

Secret and configuration management

Self-healing

As organizations mature in their use of AI and machine learning, they need to build repeatable, efficient, and sustainable processes for model development and deployment. Containers and Kubernetes provide essential building blocks to help operationalize these processes and support ML Operations (MLOps).

A common pattern for deploying machine learning (ML) models into production environments is to expose these models as RESTful API microservices, hosted from within Docker containers. These microservices can then be deployed to a cloud environment for handling everything required for maintaining continuous availability. And Kubernetes is a container orchestration platform that provides a mechanism for defining entire microservice-based application deployment topologies and their service-level requirements for maintaining continuous availability.

As datasets continue to expand and models become more complex, distributing machine learning (ML) workloads across multiple nodes is becoming more attractive. Fortunately, distributed workloads are becoming easier to manage, thanks to Kubernetes.

Using Kubernetes, computational resources can be added or removed as desired, and the same cluster can be used to both train and serve ML models. So industries are using Kubernetes to deploy their machine learning model and making it easy using Keuberflow.

GCP

As a scalable orchestration platform, Kubernetes is proving a good match for machine learning deployment — in the cloud or on your own infrastructure.

The cloud is an increasingly attractive location for machine learning and data science, because of the economics of scaling out on demand when training a model or serving results from the trained model, so data scientists aren’t wasting time waiting for long training runs to complete.