AI tools are all set to become invaluable to all businesses. Eventually, you will use them to create revenue opportunities, increase operational efficiencies, improve customer service or boost productivity.
How are you developing these AI capabilities for your business? Are you using existing tools to build your solutions, or are you building your AI solution from scratch?
What is AI stack?
Envisage your AI solution as having been built in layers. At the very top of the stack lies the AI-enabled application or tool that you will use to improve your efficiency or create some competitive advantage. Below this are the three main layers that make it possible:
- Algorithms- This is a basic set of rules or code that process data such as a deep neural network.
- Tools and Frameworks- The tools needed to develop machine learning capabilities such as Google’s popular Keras and Tensor Flow.
- ML Platform and Infrastructure- This is often a cloud service provider such as Google cloud that makes your ML/AI capabilities available as a service.
Earlier, you had no choice but to build, train and deploy your ML on your own. However, now you can avail the cloud for your ML framework or even a complete cognitive capability. For example, you can use Google’s existing image recognition capabilities to train your algorithm to recognize, say, your product in an image.
Is it better to build your own stack?
When we decided to build our AI-driven tools such as a voice bot platform and speech analytics tools for our contact center solution, we decided to go completely in-house.
We are using a proprietary patented AI algorithm as our core. Instead of depending on Keras or Tensor Flow, we use our in-house tools built on top of python libraries.We have built our own in-house AI platform and use our private infrastructure.
The advantages for us are that our core algorithm is much more flexible than established deep neural algorithms. Maintaining our ML platform ensures that our data remains our own. We have complete control and don't need to share data with Google or anyone else.
When should you outsource your machine learning platform?
If you have capabilities to develop models or algorithms on your own but do not wish to manage the infrastructure components, then you can leverage Google Cloud ML or Amazon ML. Pay per use models allows you to experiment affordably. And you also get access to higher computing power.
One can also use ready-made AI capabilities such as video recognition capabilities (Amazon Rekognition Video, Google Vision), Speech recognition capabilities (Amazon Comprehend, Text Analytics API). These can be customized for your applications.
The advantages of using ready-made modules or existing infrastructure components lie in reducing overhead costs, and development time. Time to market will significantly reduce. However, data and security concerns will emerge. In such cases, when you upload your data for training, you must be fully aware of terms of service especially if you are uploading sensitive data that you are legally bound to protect.
What is especially important to remember is that when you use Machine learning capabilities is whether your provider has complete control over the data or not.
Conclusion
For enterprises who are not cloud users, possibly for security or other concerns; or for enterprises who wish to create highly customized solutions— developing their stack or using smaller vendors (who own their stack) to develop customized solutions will be necessary.
Meanwhile, smaller players and individual developers can use the existing cloud offerings, especially for simple or experimental use cases.
Overall, if you wish to go it alone, you need to ensure you have the computing power, and secure infrastructure and data to develop your own AI stack. If not, cloud ML solutions or a PAAS (platform as a service) could be your solution, as long as you remember to take the necessary precautions with your training data.
-- Chaitanya Chokkareddy, Chief Innovation Officer, Ozonetel.