Book Image

Machine Learning Engineering with MLflow

By : Natu Lauchande
2 (1)
Book Image

Machine Learning Engineering with MLflow

2 (1)
By: Natu Lauchande

Overview of this book

MLflow is a platform for the machine learning life cycle that enables structured development and iteration of machine learning models and a seamless transition into scalable production environments. This book will take you through the different features of MLflow and how you can implement them in your ML project. You will begin by framing an ML problem and then transform your solution with MLflow, adding a workbench environment, training infrastructure, data management, model management, experimentation, and state-of-the-art ML deployment techniques on the cloud and premises. The book also explores techniques to scale up your workflow as well as performance monitoring techniques. As you progress, you’ll discover how to create an operational dashboard to manage machine learning systems. Later, you will learn how you can use MLflow in the AutoML, anomaly detection, and deep learning context with the help of use cases. In addition to this, you will understand how to use machine learning platforms for local development as well as for cloud and managed environments. This book will also show you how to use MLflow in non-Python-based languages such as R and Java, along with covering approaches to extend MLflow with Plugins. By the end of this machine learning book, you will be able to produce and deploy reliable machine learning algorithms using MLflow in multiple environments.
Table of Contents (18 chapters)
1
Section 1: Problem Framing and Introductions
4
Section 2: Model Development and Experimentation
8
Section 3: Machine Learning in Production
13
Section 4: Advanced Topics

Deploying your models for batch scoring in Kubernetes

We will use Kubernetes to deploy our batch scoring job. We will need to do some modifications to make it conform to the Docker format acceptable to the MLflow deployment in production through Kubernetes. The prerequisite of this section is that you have access to a Kubernetes cluster or can set up a local one. Guides for this can be found at https://kind.sigs.k8s.io/docs/user/quick-start/ or https://minikube.sigs.k8s.io/docs/start/.

You will now execute the following steps to deploy your model from the registry in Kubernetes:

  1. Prerequisite: Deploy and configure kubectl (https://kubernetes.io/docs/reference/kubectl/overview/) and link it to your Kubernetes cluster.
  2. Create a Kubernetes backend configuration file:
    {
      "kube-context": "docker-for-desktop",
      "repository-uri": "username/mlflow-kubernetes-example",
      "kube-job-template-path"...