This article discusses a solution stack that describes different types of artificial intelligence (AI) solutions which can be applied by companies towards introducing AI within their organization based on their specific implementation approach.
With the recent hype in AI within industry sectors, several companies are implementing AI based solutions from chatbots to machine learning-based predictive engines. When a company thinks about implementing an AI solution, they should review their AI strategy, confirm the implementation approach and then decide on the solution stack. For the purpose of this article we focus on the implementation approach and solutioning parts only. Considering that the company has its AI strategy in place, I mean has answered questions like, what do you plan to accomplish by implementing AI within your organization and what business value will it deliver etc. The next step would be to work on an approach to implement AI. What will be the AI entry point? Will you buy a commercial off the shelf solution, buy a tool or service that will help you build the solution or will you opt for building a custom solution from scratch. Based on what is your approach is, you should then decide on a solution stack which we will discuss in detail throughout this article.
A) AI Apps
So if you want to implement an AI solution without too much effort and at reasonable cost and lower risk, your best option might be commercial of the shelf (COTS) AI solutions. There are several software companies which manufacture such solutions from large software companies like Oracle Adaptive Intelligence and Salesforce Einstein to fresh startups. It actually depends a lot on your AI strategy, simpler use cases like sales predictions or product recommendations on existing customer data could be easily resolved with commercial software. Such solutions are normally on the cloud and implementation is mostly configuration oriented, so faster time to market can be achieved with lower total cost of ownership (TCO). Main drawback is the limitation to customization, more generic use cases mentioned earlier can easily be resolved with the provided prebuilt models. They can be trained on existing data with little or no data preparation and could very well serve your purpose. However highly specialized use cases like for example detection of cancer based on deep analysis of x-ray images will definitely be out of scope. On the other hand the skill sets required to implement such solutions are easier to find and definitely much cheaper than machine learning engineers. I would say someone with any knowledge or experience with business intelligence will do since the learning curve is also shorter.
B) AI Services
Set of cognitive services on the cloud which are probably the most popular of all options such that software giants like IBM Watson on Bluemix, Amazon Machine Learning, Google Cloud Machine Learning and Microsoft Cortana on Azure have these services exposed on their individual clouds. If companies don’t want to start from scratch and have a use case which requires some level of customization then this is a good place to start. Although it involves partially building the solution, the advantage is that companies can leverage most of the foundational functionality from these services. Chatbots is a very common use case for AI services, the conversation flows are configurable and can be trained on existing data with very little data preparation. AI services also support more advanced use cases like text, image, voice and video analysis but with some limitations. You might be able to tell how many people are there in a particular picture and if they are happy or sad but diagnosing cancer from an x-ray image would still be difficult. Time to market is quite fast, risk is medium and costs are reasonable, also skillsets required are not too specialized. Someone with a background in programming and basic understanding of machine learning concepts can fit the profile quite well.
C. AI Frameworks
However if you are really serious about AI then this is the toolkit you need and best news of all its totally free. Several highly sophisticated open source frameworks have been introduced in the past few years, from Google Tensorflow to Facebook Torch, Amazon/Apache mxnet, Theano, Café and Keras etc. AI product development is the most common use case for using AI frameworks but companies might also have some highly customized business specific requirement or sophisticated functionality that cannot be found in existing AI Apps or Services. Yes, you can build an image analyzing classifier with AI frameworks that can detect cancer or any other disease and even drive cars. There isn’t a use case that I can think off which cannot be resolved with an AI framework, well if you can’t then it’s just because you lack the skills. Yes, these are some really serious skills that we are talking about here, you of course need machine learning engineers but that’s not all, you need to build a team of mathematicians, data scientists, linguistics and full stack architects if you plan to build something really cool. No, this is not easy stuff, neither is it cheap and the risks are definitely higher but also are the rewards. Particularly machine learning engineers aren’t that easy to find as yet and cost quite a lot. Uncertainty of solution building timeline and results can increase risks and costs dramatically. But when you do end up building your dream product, it’s worth the while and maybe you may end up making the billions or even trillions that you dreamt off.
D. AI Platforms
Last but not the least, AI Platforms are very important especially if you opt to build your solution from scratch using AI frameworks. Like I mentioned earlier AI Apps and AI Services are cloud based solutions so you don’t have to worry about infrastructure. But where would you train and run custom solutions build with AI frameworks? Either you acquire infrastructure like servers with GPUs or then you deploy your solution on AI platforms like Floyd which is basically platform as a service. AWS EC2 is another option for deploying AI solutions built with any open source AI frameworks. Google Cloud and Azure only support AI solutions built with their proprietary frameworks but no open source. TCO is much cheaper than buying and maintain your own GPU enabled servers.
We have seen that there are different solutions within the AI solution stack which any company can choose based on their AI strategy and implementation approach. If you want to introduce AI within your organization to improve productivity or customer experience you could very well do that using the “Buy” approach and implementing your solution on COTS. If you don’t want to build a solution from scratch but have a use case which requires a level of customization higher than that can be found in COTS solutions then following the “Buy & Build” approach, AI services could be your best bet. Finally if you want to build something really sophisticated and cool like a novel, first of its kind product then neither AI apps nor AI services will suffice, you will have to get your hands dirty and build it from scratch using AI frameworks and deploy it on AI platforms.