8 steps to experiment with AI cost effectively
Recently I have been speaking to people about what a great idea it is to invest in Artificial Intelligence (AI). I believe a large number of companies are curious and are researching this technology. Industry leaders anticipate that one third of their current product suite will incorporate AI in the next 2 years.
Yet, I’ve struggled to find companies that are actively incorporating AI into their overall business strategy and product development. Given the hype around AI, it seems surprising that less than 15% of businesses are actively engaged in AI thinking.
There is a lot of speculation around the barriers to implement AI, i.e lack of expertise, incongruous IT strategies, unproven technology etc. However, it is surprisingly easy to research and experiment given the amount of contents being produced on a daily basis. I am taking the liberty of producing a ‘how-to guide’ for building an AI prototype for those who are contemplating the use of AI.
There is no better way to understand this technology than actually doing experiments. If we truly want to operationalise AI, we need to put rigour in our approach and find out for ourselves where AI is best suited.
Let’s imagine as a leader you have a business challenge in mind and are wondering whether AI can be used to solve this problem. You would like to run a Proof of Concept for 3-4 months with no more than 2-3 resources and not spending over 100k in it. This is a good place to start.
Here is an 8 step guide to build a Proof of Concept for any Artificial Intelligence solution
1. Expertise needed
Most AI project will need these 2 types of expertise
a) Data analyst/scientist who will ‘manage at things data’ i.e gather, store, analysis and transformation/ ingestion of dataset.
b) Machine learning engineer who will build, implement and maintain AI models.
On top of that, significant effort will be required from a business subject matter expert (SME) to validate and refine the solution along the way.
2. Identifying the right problem to use AI with
Identifying the right problem to solve with AI is perhaps the hardest phase to go through. Locking down a problem will involve a few things:
a) Ensuring business outcome cannot be achieved any other way i.e augmenting any other analytics type solution. There can be confusion around attribution, so identifying this early will help justify the effort later.
b) Run a discovery session to validate the problem with business SMEs and establish what success looks like.
3. Do we have all data available?
Data sources and data curation will form the basis of AI predictions and recommendations, and will require a significant transformation effort upfront. It is best to understand the effort and cater for it before getting started.
This is also where enterprise companies are at an advantage. While many start-ups have the expertise, they do not have the vast amount of data needed to validate the algorithms they build, which is ultimately what defines the product.
4. Risk and Legal advice on data handling
It goes without saying that any institutions that are handling customer data should get legal advice on how they are using that data. With the use of Machine Learning and AI, these data handling policies may require amendment as well. It’s important to run any AI strategy past your legal team who can then pinpoint any major blockers or red flags.
5. Build the AI model
Once the problem has been identified, we need to create algorithms or model using the dataset supplied. This AI model can be built in a few different ways.
a) Consume a proprietary API - Many companies today provide machine learning APIs as a service. Functionalities such as recommendation, classification, prediction etc. can easily be accessed via an API, such as IBM Watson, Google or Amazon Machine Learning APIs. However, these are not built for the very specific business problem you are trying to solve. You will have to customize the API and extend through testing and learning. On the flip side, it will also hide the complexities of implementation, treating it like a black box.
b) Use in-house expertise - Hire a data analyst to build this model in close collaboration with the business SME. A data analyst and engineer will find appropriate algorithm to use to construct the model depending on the type of problem.
c) Partner with a university - This basically takes away the pain of building it by yourself. In Australia, some universities have AI research labs who can build these models cost effectively, and this collaborative effort may add value to your business.
6. Evolve and adopt the model for accuracy
Once the model is ready, the next step is to refine the model. Often the challenge is to get the business to adopt the model. The model itself needs refinement and a continuous cycle of testing before it can achieve the desired level of accuracy. This model would be built ground up over a few weeks and constantly evolved with the business SME’s oversight and recommendation. Advantage of this approach is that it will give insights about the process of building ML models which will be transferable and can be refined in-house.
7. Toolsets to use
My view is, you can build an AI product without having to purchase single proprietary software (unless you are using a proprietary API). The AI ecosystem is rich with open source (OS) options and all cycles of design and development can be satisfied through OS. For the purpose of a PoC, here are some tools you will need.
There are many machine learning libraries available which hide the complexity of building algorithms. Most software engineers can pick and choose an open source library to work with. Caffe, Tensorflow for instance.
For data storage and processing Apache Spark is well adopted by data scientist communities already and many commercial solutions are built on Hadoop these days.
For hosting, you can deploy the AI model with your existing software infrastructure. This effort should be similar to using standard software deployments practices using i.e Amazon, Google etc. along with some great start-up companies like H20, Algorthmia, BigML etc.
8. Deploy the AI model and measure
Now that we have the model, we need to deploy the model. This can be trained offline (i.e batch prediction) with dataset or in-production ((i.e real-time prediction) to test and learn. It depends on the type of use case you have chosen to build. For the sake of PoC, it is often best to start with supervised approach supplying a large set of historical data and measure accuracy.
This certainly is not an enterprise class product, which needs to work with existing technology, infrastructure, and roadmap. But this can give reasonable insight and baseline if you are to construct a value proposition on AI strategy.
I am currently working with couple of corporate clients on this PoC approach, which I intend to share as it progresses. If anyone out there is in this space, feel free to reach out and exchange ideas. Thanks for reading!
*Originally posted on linkedIn on 08-01-18