What is model deployment in machine learning?
Model deployment in machine learning is the process of integrating machine learning models into an (existing) production environment. Deploying machine learning models to production enables practical business decision-making based on data. Model deployment is usually one of the very last stages in the life cycle of machine learning and is usually the most cumbersome.
How do you deploy a machine learning project?
Machine learning models prove their actual value during model deployment. The deployment process is highly complex because the development of these ML models happens in a local environment (offline). Deployment may vary from organization to organization as some may have existing DevOps processes that may need adaptation for machine learning deployment. Let us look at the process of deployment of ML models.
The general deployment process for machine learning models deployed to a containerized environment has four steps:
Step 1: Develop the machine learning model in a training environment
Data scientists and ML engineers create and develop machine learning models, and the model is usually built on a local environment with training data. Various models get developed following different machine learning approaches. However, only a handful qualify for the ‘deployment phase’ out of the several ML models.
Step 2: Testing and verification of code quality for deployment in a live environment
The ML code needs testing to verify if it meets quality standards for deployment as the development of ML models happens in offline environments. The code needs streamlining and scrutinizing for deployment. For example, producing an explanatory document (‘read me’ file) helps explain the results of the ML model and is a good practice.
Step 3: Prepare ML model for container deployment
Containerization is a fundamental tool in the deployment of machine learning models. Containers make scaling convenient and easy. Containerized code makes updating or deploying distinct areas of the model easier.
Step 4: Continuous maintenance and monitoring after ML deployment
Ongoing governance post ML model deployment is essential to ensure the model functions effectively and efficiently in a live environment. Once processes for monitoring and governance are in place, emerging inefficiencies and data drift issues can get identified and resolved.
Top 5 Books on Machine Learning Model Deployment
Luckily, you can gain great insights on deploying machine learning models in some books. Let’s now take a look at the top 5 books about deploying machine learning models:
1. Pragmatic Machine Learning with Python: Learn How to Deploy Machine Learning Models in Production (English Edition) by Avishek Nag
Release Date: 2020
About the book: The book provides insight into machine learning techniques along with mathematical theories. It combines practical examples and underlying mathematical theories with Python code. Relevant topics like Text Mining, multi-label classification, deployment techniques with PMML, unsupervised outlier detection, and so on are covered. Topic-relevant visualization techniques are another standout feature of the book.
Author: Avishek has a master’s degree in Data Analytics & Machine Learning from BITS (Pilani) and a bachelor’s degree in Computer Science from West Bengal University of Technology (WBUT) and has over 14 years of work experience with technology companies.
2. Keras to Kubernetes: The Journey of a Machine Learning Model to Production by Dattaraj Rao
Release Date: 2019
About the book: The book is fantastic for individuals interested in learning and implementing the machine learning model deployment. It provides good real-world examples of establishing DL models in Keras, one of the standout DL frameworks. The book will provide step-by-step instructions for building a Keras model for scaling and deploying on a Kubernetes cluster. Topics like load balancing, scaling, model serving, AaaS (Algorithm-as-a-Service) are available here.
Author: Dattaraj Jagdish Rao is a Principal Architect at GE Transportation and leads the global business’s Artificial Intelligence (AI) strategy.
3. Building Machine Learning Powered Applications: Going from Idea to Product by Emmanuel Ameisen
Release Date: 2020
About the book: The book takes on a concrete and practical approach to delineate the process of building models powered by ML. Its primary focus is to provide an easy-to-understand guide for the entire process of developing applications powered by ML. It is essential to be well-versed in programming and Python in particular. The deploying machine learning models book consists of four parts. Part 1 deals with planning ML applications and measuring success. The second part talks about the deployment process. Part 3 delineates ways to fine-tune ML models for maximizing congruity with the original vision. And part 4 covers monitoring strategies.
Author: Emmanuel Ameisen, a machine learning engineer at Stripe and holds graduate degrees in artificial intelligence, computer engineering, and management from France’s top schools.
4. TensorFlow 2 Pocket Reference: Building and Deploying Machine Learning Models (Grayscale Indian Edition) by KC Tung
Release date: August 2021
About the book: It is another comprehensive and easy-to-use reference book dealing with TensorFlow 2 design patterns (in Python). It addresses common tasks and topics in enterprise data science and machine learning instead of solely focusing on TensorFlow. The book discusses how to deploy machine learning models and answers essential questions such as why and when would you feed training data using a streaming dataset or NumPy? etc. The book also addresses questions about setting up workflow and data transformation in the training process and leveraging pre-trained models through transfer learning. The reference book will enable readers to make sound decisions for several use cases.
Author: KC Tung is a cloud solution architect in Microsoft who specializes in machine learning and AI solutions in enterprise cloud architecture.
5. Practical MLOps: Operationalizing Machine Learning Models (Grayscale Indian Edition) by Noah Gift and Alfredo Deza
Release date: October 2021
About the book: The book addresses the complexity of the model deployment process in machine learning. For a smooth deployment process, it offers several sets of reliable principles to overcome deployment complexities. You will learn about MLOps and the difference between DevOps and MLOps, besides applying MLOps for operationalizing ML models. Familiarity with Python and data science are prerequisites. Another significant takeaway from the book will be your ability to run ML models on various devices and platforms (like specialized hardware and mobile phones).
Author: Noah Gift is the founder of Pragmatic AI Labs and is a Python Software Foundation Fellow and AWS ML Hero.
Navigating your way through the deployment process of ML models can be complex and challenging. The books mentioned above can be instrumental in making the ML deployment process more straightforward.
30+ Case Studies on Model Deployment in Production
From raw data to visualization
Omdena teams spend significant time on cleaning and wrangling data in order to extract valuable insights. Next, our teams build highly contextual dashboards to visualize insights and drive value.
Interactive dashboards deployed on the web with data analysis, map visualizations, and different views. All models and predictions appear live on the website.
Visualizing data and models’ predictions on Tableau, with different views and slides.
Deploying the models on Android based web applications using Flask.
Showing the data collected, the analysis, and different models’ results in an interactive way.
What Omdena AI changemakers say about their experience with ML model deployment books
“For me, it was a little bit complex. It took more than one book to get the full picture. For example, the last chapter from (Hands-On Machine Learning) takes up deploying TensorFlow models at scale on GCP. However, it wasn’t the main focus of the book. Another interesting book called (Deploy Machine Learning Models to Production) covers deployment via RESTful, Streamlit, Docker, and Kubernetes but it was focusing on GCP as well. As I became more interested in AWS services I read a book about AWS SageMaker for managing Machine Learning workflows and deployments on AWS.”
“For me, I went straight to the platform I needed to work on (in my case Azure). I read a lot of documentation and blogs. Books (e.g. Automated ML with Azure) provided some examples too, but it was mostly the documentation and the example Git notebooks from Azure.”
– Galina Naydenova