Challenges of Executing AI Machine Learning Projects
Umesh Rao Hodeghatta, Ph.D
AI projects are different from traditional software projects. Typical software projects, consist of well-defined software requirements, high level design, coding, unit testing, system testing, and deployment along with beta testing or field testing. Now, organizations are adopting Agile process instead of traditional V or waterfall model, but all the steps mentioned are still valid.
However, AI and Machine Learning projects’ methodology is different from the above. Our experience working on many AI/ML projects has given us insights on some of the challenges of executing AI projects. Also, we are in regular touch with senior executives and thought leaders from different industries who understand the success formula. The following discussion is based on our practical experience and knowledge gained in the field.
Successful execution of AI projects depends on the following factors:
1. Clearly aligned Business Expectations
2. Clarity on Terminologies
3. Meeting Data Requirements
4. Tools and Technology
5. Right Resources
6. Understanding Output Results
7. Project Planning and the Process
Before, I go further onto details, I want to reiterate the fact that there are two sectors of organizations who are keen on AI projects.
The first category is, Tech(nology) companies like Microsoft, IBM, Google, Amazon, Intel, Cisco, etc. They have been inventing technologies and solutions and have developed 1000s of software products and applications. For these tech companies, succeeding with AI projects is no big deal!! They know the technology very well, data is not a problem, requirements are noticeably clear, and they have all the resources and expertise who have been working on the technology and even on machine learning and AI projects for decades. AI or Machine learning is not a new term to them - “Old wine in a new bottle”.
The second category is the rest of the non-tech companies, who are exploring the benefits of initiating AI in their organizations, as every other big company CEO is talking about AI.
Whereas, the second category, non-tech companies, only adopt the technology, applications and tools developed by the first category tech companies and are curious to apply the new technology – AI, Machine Learning, Deep Learning, Neural Network, Reinforcement Learning, etc., to solve the business problems. This becomes a new initiative for the CEOs in the organization in the yearly plan and will trickle down to the bottom of the pyramid. The subsequent levels of executives have to adopt the new AI term in their projects’ but they may lack expertise and skills required to implement and succeed.
Let’s dive into each one of the challenges I mentioned in detail.
1. Clearly Aligned Expectations
Every CEO in an organization is obsessed with AI and asking his people “What percentage of business decisions are we making with help from AI?”,
Aligning Business is necessary for an AI Project. Whatever may be the technology, whether it is AI or non-AI, every CEO or Senior Executives are interested in these three factors:
1.Can AI boost customer satisfaction level
2. Is AI helping in making quick Business Decisions
3. Is AI helping in overall company performance and ROI
Most projects fail because of the mismatch of expectations. Software projects have well defined requirements, and they may not change much till the product is released. Further, the Agile methodology provides the flexibility to handle the changes in a better way.
Whereas in AI and ML projects, understanding requirements itself can be challenging. It is important to know the problem an organization wants to solve and whether it can be solvable using AI/ML techniques.
In case of AI and ML projects, sometimes an organization defines a problem which can be solved without AI or ML. In other cases, though the organization has a well defined business problem, the project manager has aligned the resources, and kicked off the project, the data scientists report that they need “data” to solve the problem, and the team may not get access to the right data that is required to solve the problem for a long time or the organization may not have the required data. After months pass by, project is still in initial stage with no progress towards solving the problem. This can make the management unhappy and cancelling the project.
Sometimes, the technical people may define the problem which the business is not really interested in. If the organization is not interested, even if the problem is solved, the solution may not be deployed leading to wastage of time and resources. Also, it is possible that the technical people may define it wrongly leading to not usable solutions.
Hence, based on our experience, we feel, before you agree to start the project, it is necessary to set the expectations. Know what is the problem an organization is trying to solve, whether the problem practical, is it really a Machine Learning project or just an automation software project, do you have proper data, are you authorized to access data, etc. You must set the organization expectations properly, while explaining the data requirements or whether the problem itself is AI/ML related or not.
When an AI Project is initiated, it is important to set the expectation with the Business and the Data Science/AI team:
1. Deployment – How long it takes for deployment and how you integrate with the production systems, and some of the concerns with data/cyber security.
2. What is the value add of the new AI System
Always remember, every CEO is interested in leveraging cutting edge technology to:
a. Achieve customer satisfaction
b. Quick Business Decisions
c. Company performance and ROI
In Summary, Set proper expectations:
- Is it really AI/ML problem?
- Set the DATA expectations
- Align business with the problem and requirements?
2. Clarity on Terminologies
Because of the current trend in technologies and the BUZZ it creates, too many terms like Machine Learning, Data Science, Business Analytics, Data Analytics, Data Visualization, Data modeling, Predictive analytics, Diagnostic analytics (I heard this recently…something I had never heard before), Prescriptive analytics, AI, Deep Learning, Reinforcement learning, etc, are heard by people. Are these terms same? If not, what is the difference?, which term means what? is very confusing for people, especially those who are new. This is so because various people define each term differently and when any such term is used, people are not clear what it really means in the context.
Each industry may differ in the definition of these terms - what is Data Science for Home Depot1 may be Machine Learning for Google2 and vice versa. Hence, based on our experience, if possible, it is not worth defining these terms and convincing the company executive about the “confusing terminology”. Instead, it is better to focus on the problem and how it can be solved, whether to apply supervised machine learning or simple descriptive analytics.
3. Data Requirements
Data is Information
Data is MONEY and
Data MEANS BUSINESS
For Business, DATA is sensitive
Business DATA is under surveillance, being monitored by government regulations and other regulatory bodies.
But, FOR AI /Analytics projects, without “DATA”, there is no Analytics or AI/Machine Learning projects. Data plays an important role in AI/ML projects.
However, Data is information, Data is the secret of business. Exposing data is exposing your business. Organizations are overly sensitive about their business data and moreover, CEOs, CFOs are held responsible for any breach of data, data falling into wrong hands, used for wrong purpose. If any small data breach happens, they must answer to investors, government regulators and to consumers. How much risk can they afford to take? Hence, organizations have strict process on who should access and what data should be accessed. There can be several approval processes involved before getting access to data and the whole process may simply take lot of time. Or else, we may get only a portion of data which may not be useful unless other related portion of the data is also obtained.
Without “DATA”, there is no Analytics or AI/Machine Learning projects. Data plays an important role in AI/ML projects. Data is information, Data is the secret of business. Exposing data is exposing your business. Organizations are overly sensitive about their business data and moreover, CEOs, CFOs are held responsible for any breach of data, data falling into wrong hands, used for wrong purpose. If any small data breach happens, they must answer to investors, government regulators and to consumers. How much risk can they afford to take? Hence, organizations have strict processes on who should access data and what data should be accessed. There can be several approval processes involved before getting access to data and this whole process may simply take lot of time. Or else, we may get only a portion of data which may not be useful unless other related portion of the data is also obtained.
AI / ML Depends on DATA. Hence, AI Project team must understand the Organizations’ challenges with respect to data and work with them closely. Understand the company process, Understand DATA Compliances, etc.
Though the team has planned to work on a well-defined AI project, without data they simply have to wait for approval process. You can imagine the weekly updates that would be on the project or daily scrum standup meeting updates.
If the AI project involves applying supervised machine learning, then can you get labeled data? Why would a company have labeled data in the first place? Who will label the data for you? Will anyone understand what is labeled data? What is the cost of labeling exercise? Is the company willing to bear this cost?
Imagine you are working on a healthcare project, classifying X-Ray images. You have to ask hospitals/healthcare providers to give you not only X-Ray images but also labeled X-Ray images with the corresponding issues found in them. Do you think, they have labeled X-ray images as per your defined classes?
Inaccurate DATA can lead to wrong predictions and wrong decisions
Minimal Data may not be useful.
Hence, you must set the “data” expectations at the beginning of your project. Otherwise, you are bound to FAIL!!
4. Tools and Technology
Tools support implementing technology required to solve a specific problem. All the tools may not support all the technology. Different technology is applied to solve different problems. For example, using “deep learning” to solve simple “credit approval” problem, may be an over kill. Or using decision tree for image classification may not give desired results. Or there is no need of applying machine learning to clean a database.
There are open source tools and commercial tools. The decision to use the appropriate tool depends on the organization’s long term goal and objective. Many factors can play a role in selecting the tools including IT infrastructure and production environment and the compatibility of the tool with these. Also, the cost of acquiring these tools may be a factor in case of commercial tools. What is important is choosing the tools which support the right technology and integrates well with your existing environment.
Commercial tools such as PowerBI, Tableu, are extremely good at Data Visualization and descriptive analytics.
You don’t need expensive tools for data plumbing and cleaning jobs. Any software can be programmed to do data preprocessing required for building ML model.
Resource allocation varies from organization to organization. Definition of a data scientist, what are the tasks of a data scientist, should you hire a Ph.D. or not, what type of “scientist” is required to handle your data - is something people in the industry differ and argue on. However, we will not be getting into the debate of defining who is a “data scientist” or the role of a data scientist.
We believe that the data scientist should spend more time on developing AI/ML /analytical solutions and the type of model she/he should be creating. Data scientists should seek help from the software coding experts in preparing the data. Data preparation may involve tasks like handling missing values with appropriate techniques, discarding or rectifying wrong data, deleting certain columns, merging multiple columns to come up with a new feature, transformation of data, scaling of the data (in short data wrangling and data plumbing), reduction of features to meaningful short features, etc. This requires coding skills such as python, C++ or Java or any other programming language. When it comes to text, preprocessing is more involved such as tokenizing, removing punctuations, removing unnecessary junk characters, removing emojis, etc. This requires a solid knowledge of “regular expressions.” And we believe this can be achieved by anyone who has good programming skills.
As per our resource definitions, a “data scientist”, should spend more time creating different Deep Learning/Machine Learning models, in training the model, understanding the output of the model, improving the performance of the model by tuning the model parameters, in deciding which model is best suitable for the business problem and finally helping in deployment of the model. We believe this requires an advance knowledge of probability, deep understanding of statistics, different machine learning algorithms (not just the usage of scikit-learn or TensorFlow libraries), and creating various deep networks.
Similarly, Data or Busines Analysts can perform descriptive analytics using MSBI or Tableau,
According to our experience, hiring a data scientist based on “coding test” may not be wise and you may end up hiring “coders” not a “data scientist”. Further, each project should be staffed with the right type of people with right competence to deliver best results. Wrong type of resources even in good numbers may lead to delay of the project.
6. Output Results, Trust and Ethics
Interpreting Output results of AI/ML models proves the Trust and ethics of AI Project. Wrong interpretation of the results with non-validated/not completely and effectively validated model can lead to misguided decisions which can jeopardize the very purpose for which we are deploying the model.
What is the acceptable accuracy? What is the kind of samples selected to arrive at the model? Are these samples sufficient? Have we considered the entire set of relevant data? Or have we omitted an important aspect or feature from the data which may lead to seemingly good but misleading results. For a model which gives general information like if this is right time to book the flight ticket, it may not matter much. However, if it has to do with the life and safety of human beings, then even a few false positives or a few false negatives can seriously undermine the use of the model in spite of high accuracy.
Further, different algorithms may have to be validated through different but relevant metrics. If we use wrong evaluation metrics it can lead us in wrong directions. Similarly, overfit models may not be relied upon as they throw up different results on unseen / new data.
We should be absolutely clear that the models have generalized the solution and are not an overfit to the training data. Further, the evaluation metrics on the test/validation data including new data should give us the confidence that the model is deployable for production use. Such decisions should be purely on the fulfillment of the purpose/objective of the model.
Output of AI Machine Learning models depend on several factors but mainly on the “data”. Let’s say, your data scientists have developed a face recognition AI system, with an accuracy of 99%. Or let us say your data scientists have developed a model which can predict a disease based on the data input to it and the accuracy is 99.5%. The organization has to make a decision whether to deploy this model or not.
7. Project Planning and Process
Traditional software project planning has a well defined process, timeline, milestones, deliverables, tasks and subtasks allocated to resources, risks and mitigation plans, and weekly tracking. All these can be defined using standard methods and a lot of prior knowledge which is already existing among the resources.
The same project planning cannot be applied for AI and ML projects because of many unknowns and uncertainties. You may wonder, how can you execute a project with so many unknowns and uncertainties?
The success of AI and Machine Learning project depends primarily on the “data”. The first step in any project planning is defining business requirements. Since AI and ML projects rely on data, you have a couple of choices. The first choice is you explore the data provided by business and then define what problems that can be solved OR the second choice is, the organization will define the business requirements/problem and then you explore the available data and check if you can get the required data.
With the first choice, you already have data and it may take sometime to explore the data, analyse the data, understand the data and defining the problem that can be solved, however, the problem that you are defining to solve may not be relevant or appealing to the business and they may reject your proposal. The entire time you have spent is then considered as a waste.
On the other hand, if business defines the problem, you must be clear about what data you need to solve the problem. Once the problem definition and requirements are clear, then the exploration of data starts. If such data does not exist, then you can either stop the project or try to implement methods to start getting such data. If you have the data, the step is to get the data from various sources applicable, consolidate them and clean the data as relevant. Here, the aspects like access permissions, etc. matter. Next step is, to determine the AI/ML method and algorithm to be used, run the same against the cleaned data, analyze and validate the results. Where the results are not up-to-the expectations, we identify the alternative methods/algorithms and/or tune the hyper parameters and carry out further analysis till we are satisfied with the results per the objective of the project.
We use various metrics to measure the performance of the model and once our validation gives the requisite comfort and our metrics suggests good generalized learning and meeting business requirements of prediction of the model, we go ahead to deploy the model on to the production.
Figure 2: AI and ML Project Lifecycle
It is a complete reversal of Software Project process.
Success of AI project depends on the following factors:
1. Aligning Expectations
2. Setting Data Expectations
3. Using of proper Tools and Technology
4. Aligning Right Resources
5. Asserting Output Results
6. Aligning Project Planning and the Process