By Sameer Dixit, Head – Big Data and Analytics, Persistent Systems
When people talk about machine learning or about artificial intelligence, they are invariably focused entirely on the machine learning algorithm. In my view, focusing on algorithms is good for your PhD thesis or for a technical paper presentation at a reputed data conference, but focusing on the data and the process of building your machine learning system is the key for a successful ML system implementation. Don’t get me wrong, the algorithm is the heart of the system, but everything that needs to be done beyond the algorithm is equally critical. Let us visit a few of these factors below:
1. It is all about the use case and the data
Choosing the right use case is the most critical piece for a successful ML project. Understanding on how the use case is executed currently (unless it is a completely new way of doing thigs) and exploring on how ML can make it better is critical. Converting the business problem to a ML problem is a key step that needs to be performed. This involves mapping of business metrics to ML metrics. Enough attention should be spent on who is this ML project being done for, what are the quantifiable business benefits and most importantly understanding on what are the datasets that will be used for this program.
Availability of clean, labelled and complete data is extremely critical for any ML program to be successful. Do you have the right data, do you need to purchase it, how difficult is it to corelate the datasets that you have are all important questions that need to be addressed at the start of the program.
It is equally important to have a validation strategy for your use case before you embark on it. Most ML programs are not successful because of expectation mismatch between exec/business teams and technology teams. Setting the right expectations with business on what to expect after ML is very important. What is the go-no-go criteria and what are the critical parameters that will help you take that decision has to be known to all.
2. Understand your maturity for a data science journey
Most organizations directly get into solving complex ML problems where as they are not mature enough in their data science journey to directly embark on a ML program. It is important to understand what is the state of your data collection and analysis. For example, if you are in a stage where you are collecting and describing data, then you are in a Descriptive phase of your ML journey. Whereas if you have certain ML algorithms in play you are in a Predictive phase. If you are past that phase, then you are in an Advanced phase where your focus is to better the algorithms and see if data enhancements will enable you to get better results. Involving the right skilled resources for the right phase is also critical. For example, you may not need a lot of Data Scientist bandwidth if you are in the descriptive phase. The data engineer and the data analyst become more critical in that phase.
3. Consumption mechanism
Defining how and who will consume the output of the ML system is a key part in the overall ML program. Most ML programs otherwise remain exploratory in nature and remain isolated to some corner in the organization. Defining the intended audience and the specific workflow or screen of a product where it will be consumed are important aspects. If the consumption tool is owned by a different unit in the organization, adoption can become a challenge. Some ML outputs are self-explanatory while others need some justification for business to believe in the output. For example, in use cases like recommendations, explaining the user on why something is being recommended, adds value to the recommendation.
4. Model deployment and life cycle management
The challenge starts from defining what constitutes your model. Is it an algorithm, is it an API call, is it an executable trained on a data set and so on? How to enable your model to be discovered so that everyone in the organization can use it? Most enterprises have various environments for development, UAT, pre-production, production and so on and they have strict processes for code to flow across these environments. In case of models the learning is in the model, so just replacement of the model will not work but you must ensure that the right quality checks are also done so as to not introduce any regression. Other important factors are model rebuild and model refresh. It is important to define who is responsible for evaluating the model performance daily and understanding on when to retrain Vs when to rebuild a model.
To conclude, many ML programs have failed due to excessive focus on algorithms alone. That needs to be done, but only after determining the stage of your ML life cycle.
If you have an interesting article / experience / case study to share, please get in touch with us at [email protected]