MLOps: Continuous delivery and automation pipelines in machine learning

In this Article we discusses techniques for implementing and automating continuous integration (CI), continuous delivery (CD), and continuous training (CT) for machine learning (ML) systems and the various challenges facing that Why Machine Learning Models Crash And Burn In Production and the solution by making MlOps Model

  • Inexpensive on-demand compute resources
  • Specialized accelerators for ML on various cloud platforms
  • Rapid advances in different ML research fields (such as computer vision, natural language understanding, and recommendations AI systems).

But Why Machine Learning Models Crash And Burn In Production

Why Do ML Models Fail?

MLOps

MLOps is an ML engineering culture and practice that aims at unifying ML system development (Dev) and ML system operation (Ops). Practicing MLOps means that you advocate for automation and monitoring at all steps of ML system construction, including integration, testing, releasing, deployment and infrastructure management.

MLOps : CI/CD pipeline automation

For a rapid and reliable update of the pipelines in production, you need a robust automated CI/CD system. This automated CI/CD system lets your data scientists rapidly explore new ideas around feature engineering, model architecture, and hyperparameters. They can implement these ideas and automatically build, test, and deploy the new pipeline components to the target environment.

Prerequisites to understand the work done in this project :

  • Git
  • Github
  • Docker
  • Jenkins
  • Linux OS
  • Very basic knowledge of Shell/Unix commands
  • ML
  1. Deep learning basics
  2. Keras

Steps to be followed :

To implement this project there is a list of steps to follow :

Steps / Approach to be followed :

First, we need to create a directory where we create our Dockerfile in the base OS in my case it is Redhat Rhel8.

  • retrain.py : This is an intermediate file that reads the input file (main file) into a variable and reads the code line by line as it starts building an output file correspondingly with the added code. The added code in my case is the layers ( Conv2D and MaxPooling ) you can also add the Hidden/ Dense layers using this approach.
    Finally all these lines are written to a new output file ( new.py in my case ).
    You can rewrite over the same input file if you want.
  • new.py : This file is just the inout file plus the appended code in the retrain.py file.
  • Syntax used here is too critical and sensitive. I had a real struggle while creating this job ( Required almost 52 builds )
  • /^ : this is used to search for the line/keyword after which you would like to insert
  • */ : everything in the current directory that ends on a /. Usually files don’t end on /, but ending a path with a slash means you specified a directory, so this only means directories.
  • /ml_task/new.py : new.py is the file in which the changes are to be made

Arth2020 | student