Developing machine learning models is one thing and deploying them is completely another. It is not uncommon to have learning models meet expectations in the research stage but go way off target post-implementation. The two teams end up being independent units rather than as a cohesive one. The way forward for industries looking to leverage the advantages offered by machine learning is to identify the gaps and bridge them.

The accepted levels of failure in the two phases are not the same. The development period entails tweaking the algorithm for accuracy. It is essentially a phase of research, of trial and error, wherein the margin for error is large; failures are a given and even expected. However, once the model is put into production for the business clients or the end customer, it is expected to be error-free.

Here are 3 main challenges industries need to overcome while putting machine learning into production:

Unstructured data that is not accounted for during development 

Machine learning models are trained on test data or labelled data and this happens in a controlled lab environment. The same model, when tested in the real-life conditions, experiences a large amount of unstructured data for which it needs to be adequately prepared. While this calls for the test data to be of a high quality, estimating the amount of data needed isn’t easy.

What can be done?

Big data platforms such as Hadoop, NoSQL are capable of managing large volumes of data. Text analytical tools can be used to evaluate and structure textual data. NLP or natural language processing, a component of artificial intelligence (AI), is an advanced level technology that interprets human language- a data set that is ambiguous and unstructured.

Read more on ML & AI : How Machine Learning and AI can enhance the retailer interaction with customers

Model is based on historical data while data itself keeps changing 

A model is created on the basis of historical data while data is prone to change over time. Therefore there is bound to be a varying relationship between the input and output variables. Any predictive model that does not account for the real-time data is slated to fail in the implementation stage. Changes arise for various reasons, many of which may be hidden or unknown. Also, not all changes happen gradually or take a logical route (as is usually the case with weather or a human response to a situation). This makes the process of streamlining such data challenging.

What can be done? 

There are many ways to address concept drift or model decay issues. Models can be periodically re-evaluated and updated as per the most current and relevant data. For instance, a linear regression algorithm is used to understand customer behavioural patterns and to predict sales trends. While this method updates the previous version, businesses can also opt to periodically change the model based on the most recent data. Certain algorithms are based on relative importance weight data.

Choosing the right algorithm is crucial to avoid the common mistakes in creating predictive models.

Development and operation teams work in silos 

The expertise required by the data science team is different from those of the operation team. The specifications to be met by each of the teams should ideally be complementing and mutually supportive. However, as seen in most organizations, neither understands the challenges faced by the other. While the data science team is expected to meet all requirements and produce a model that will be fail-proof in the real-life conditions, the operations or the programming team is expected to understand all that went into behind designing the model.

What can be done? 

The best way to address this issue is to ensure both teams collaborate, share information and work cohesively towards achieving the common goal.

Additionally, clear and realistic expectations of both teams need to be laid down. Data scientists as well data engineers need to understand their own scope of work vis-à-vis their counterpart’s to come together as a whole.

Organizations could attempt to bridge the gaps arising due to the different languages used by data scientists and software engineers. A cross-training session within the scope could eliminate the disparity. A machine learning engineer is someone who is considerably proficient at data science as well as data engineering.

Want more information on machine learning? Talk to our experts at Suyati.

Deployment of machine learning models into production

29 Oct 2018
Author : Uma Chellappa