Some organizations are already been into their AI journey while many are yet to embark on or has just started, probably in a very nascent stage. The typical challenges that every organization encounters while stepping into their AI journey are more or less similar at a broader level, so the solutions to overcome those are also somewhat similar. We will not discuss the challenges in this article, rather we will focus on how an AI Framework or you may call it an AI Platform can help to overcome many of those challenges. The terms “Framework” may sound bit heavyweight but in reality, an AI framework can be as light as only a couple of components, capabilities and libraries loosely integrated to start with. But this will create a huge difference in terms of the flexibility and agility you are going to attain while building your AI applications.
Why an AI framework is worthwhile?
In reality, AI is an evolving field, many of the AI capabilities are still maturing and you will realize that some amount of experimentation or R&D is indispensable while developing most of your AI solutions. Also, if you are leveraging AI capabilities from external providers for building your applications, you will also find the flexibility to experiment with different capabilities from different providers for the best results. Secondly, a framework boosts rapid development because the developers can concentrate on the functionalities of the use case and need not have to ground up everything from the scratch every time which saves a lot of time and effort. And most importantly, a framework is always PoC friendly, proof of concepts can be developed quickly within the framework and showcased those to the stakeholders for further perusal and confidence building. Also, a framework will provide you the power to try and test alternative approaches quickly and “Fail Fast”.
Speaking broadly, an AI framework consists of five main layers starting with a Data Integration layer. All AI applications need some kind of integration with the input data sources from your enterprise applications. So, it is essential that your AI framework has the capability to integrate with different data sources or it is capable of sitting on top of a data platform for seamless data exchange. The data platform can be a Big Data platform or a Data Lake which probably is widely used nowadays in an enterprise environment. If you already have a data platform that can process and offer data in a format that can be directly consumable by your AI applications, then nothing like it. But in most cases, you may not be lucky enough and will end up doing the heavy lifting of transforming your data to an AI injectable format within your AI framework. There are some data platforms available in the market today, they use machine learning and other data processing techniques and can provide data in an abstract layer wherein your machine learning algorithms and AI applications can directly consume it as input.
The core of the framework is an “AI Ecosystem” where all you’re AI, ML & NLP capabilities or “AI Assets” will reside and you will have the option to pick and choose the best of the breed capabilities for building your AI, ML applications. These AI capabilities can be versatile, like cognitive text processing, speech, computer vision, cognitive search, advanced analytics services, machine learning capabilities, etc. AI ecosystem may also consist of NLP engines & capabilities or even cognitive OCRs and automation capabilities like RPA/ iRPA. These AI capabilities or AI assets can be from external providers as well as capabilities developed in-house that comprises the core of the framework.
Around the core AI & ML assets you may build custom capabilities that can either be specific to your domain or specific to the group of use cases. The capabilities or components a level above the granular services helps rapid use case development just by connecting the components instead of doing ground-up from the algorithm or asset library level. Examples can be your cognitive knowledgebase search engine, NLP processing engines of a specific use or even any other analytics engines for that matter, or the components powered by Fuzzy Logics or other ML custom classifiers reside.
Also, the framework should be able to connect to the different hosting applications or channels to host your AI applications or solutions. The channels or hosting applications can be any of your enterprise applications and mobile apps or social media channels like Facebook, WhatsApp, Skype and Emailing systems etc. Hosting channels can even be virtual assistants like Alexa, Google Home, Siri or any other voice-enabled devices or applications & apps in your partner ecosystem. This layer essentially acts as a middleware with a variety of connectors to hook your AI solutions to different hosting channels.
It is also advisable to have a Framework Management layer wherein features like setup & configuration, monitoring of different services, monitoring and reporting can be embedded. This layer essentially will become the foundation of your framework and will be responsible for providing support to different services of various AI applications running on top of it. In many cases, some of the infrastructure related stuff can also be controlled and configured in this layer. As security is one of the key elements of any framework, it should also be accounted for while designing a sustainable AI framework. Security features can be ranging from your data security, securing AI applications, security aspects of integration points and interfaces, all can be configured and managed at the framework level in the management module.
At an advanced stage, as your framework matures, you should also think of “Templatized Use Cases” and solutions built-in to the framework or custom wizards for building solutions. This topmost layer ideally should contain different template applications that can be dragged and dropped into your workbench, and the application with minimalistic features and algorithms should be ready just by dragging and dropping. For example, if you want to build a recommendation engine of some kind or a solution on credit risk assessment or even a ChatBot; you should be able to just drag and drop your template recommendation engine or chatbot in the workbench and the recommendation engine or the chatbot in its simplistic form is just ready with minimal features or MVP. The minimalistic algorithm required for the use case along with interfacing with the input data sources and hooking with my hosting channels will be ready. So, the groundwork and the heavy lifting that we normally do for building every application is now just a click away. This can reduce up to sixty percent of the time and effort that we spent just to build the skeleton of any application. Once this is automated with your framework, your developer can concentrate on the rest of the things like adding more features, fine-tuning for better accuracy and all types of optimizations and polishing which are anyways beyond the scope of automation in an enterprise environment.
Other essential elements of the AI framework are “Domain Vocabulary” or Metadata and a “Feedback Learning” process. As AI, machine learning algorithms need domain specific information to better perform, so maintaining a domain vocabulary is desirable. Similarly, any AI application is going to fail in certain scenarios and may throw those into an exception queue where in most cases it will aspect human intervention although some automation is possible in some of those scenarios nowadays. In whichever case, integrating the feedback learning process within your AI applications through your framework will essentially increase the accuracy of your AI applications over the period of time and you can reduce those exceptional scenarios significantly.
Another benefit of the framework approach is, it will also help standardization and consolidation of the AI applications in your AI landscape which is essential when the number of AI applications grows in your organization.
Bringing your framework up to this stage may be a bit time consuming and you may not be able to justify it to your management and other stakeholders easily. But the beauty of this approach is, the development of your framework and your AI solutions can go in parallel. So, essentially you can deliver some of your AI solutions while your framework development is actually on. The framework, once it’s ready even in its very basic form can improve your development efficiency and reduce the timeline to a great extent. It can really bring the agility in your AI application development lifecycle.
[In the next article, we will try to deep drive the design of different layers and components of the proposed framework]