What Does it Mean to Deploy a Machine Learning Model?

Data Science, a promising field that continues to attract more and more companies, is struggling to be integrated into industrialization processes. In most cases, machine learning (ML) models are implemented offline in a scientific research context. Almost 90% of the models created are never deployed in production conditions. Deployment can be defined as a process by which an ML model is integrated into an existing production environment to achieve effective data-driven business decisions. It is one of the last stages of the machine learning life cycle. Nevertheless, ML has evolved in recent years from a purely academic study area to one that may address actual business issues. However, there may be various problems and worries when using machine learning models in operational systems.

There are several approaches to defining ML models in a production environment, with different advantages depending on the scope. Most data scientists believe that deploying models is a software engineering mission and should be handled by software engineers, as all the skills required are more closely aligned with their day-to-day work.

Tools such as Kubeflow and TFX can explain the entire model deployment process, and data scientists should use them. Using tools like Dataflow makes it possible to work closely with engineering teams. It can set up staging environments where parts of a data pipeline can be tested before deployment.

The deployment process can be divided into four main steps:

1) Prepare and configure the data pipeline

The first task is ensuring that data pipelines are structured efficiently and can deliver relevant and high-quality data. Determining how to scale data pipelines and models once deployed is critical.

2) Access relevant external data

When a predictive model for production is deployed, care must be taken to use the best possible data, from the most appropriate sources, from inception to launch. A spoiled model, even if carefully designed, is not helpful. In addition, another element of this challenge is to capture adequate historical data to obtain a robust, generalizable model. Some companies collect all the data they need internally. For full context and perspective, consider including external data sources.

3) Build powerful test and training automation tools

Rigorous, no-compromise testing and training are essential before moving to the predictive model deployment stage, but it can take time. So to avoid slowing down, automate as much as possible. In addition to working on some time-saving tricks or tools, one needs to produce models that can work without any effort or action from the engineer.

4) Plan and design robust monitoring, auditing, and recycling protocols

Before deploying and running an ML model, it must be checked whether it actually produces the type of results expected. It must be verified that these results are accurate and that the data provided to the model will keep these models consistent and relevant over time. Also, weak old data can lead to inaccurate results.

If we look at the Machine Learning experiments in more detail, we realize that these are carried out on data frozen in time, that is to say, that the data relating to the training of the models are often fixed. In other words, this data does not change or changes very little during the experiment. In this case, we speak of a closed model. Under real-world conditions, the model continually encounters new data quite different from what was used when the model was created. It is, therefore, essential that the model continues to learn and update its parameters. It is intriguing to rapidly and easily re-train the model using new data. Model re-training refers to developing a new model with different properties from the original. It is vital to be able to redeploy this model to benefit from its new features.

In conclusion, deploying an ML model is a challenging process that, to be successfully completed, needs a thorough comprehension of all the concerns surrounding the usage and exploitation of the ML model. It is pretty uncommon for one individual to have the necessary talents for:

  • Knowing the needs of the company
  • Creating the ML models.
  • Industrializing the model
  • Collecting data in batch or in real-time
  • Using the deployed model on the data

Therefore, it is unlikely that Data Scientists will be able to complete all these processes alone.

Collaboration between data engineers, software engineers, and data scientists is essential.

To sum up, a Data Science project’s success is greatly influenced by the variety of talents needed and each team’s thorough comprehension of the problems. 

Mahmoud is a PhD researcher in machine learning. He also holds a
bachelor's degree in physical science and a master's degree in
telecommunications and networking systems. His current areas of
research concern computer vision, stock market prediction and deep
learning. He produced several scientific articles about person re-
identification and the study of the robustness and stability of deep
networks.