The Full Guide to Add AI as a Service to Your Applications - 2021 (Course Included)
NOTE: This is an update of a previous article
- Mckinsey estimated the potential total annual value of AI $9.5T-$15.4T
- Servion Global Solutions predicts that AI will power 25% of customer interactions by 2025
- Gartner expects that AI will create 2.3M jobs and will displace 1.8M
A few years ago, writing a software application that performs any ” intelligence” was not the most straightforward task to do. You need to have considerable know-how around specific frameworks and libraries. You will need to build end-to-end machine learning knowledge; from the problem statement, data collection, data preparation, algorithm selection, model training, evaluation, hyper-parameters optimization, and deployment. On the other hand, for businesses, that means departments must be established, teams should be training, and dollars money be spent. Therefore, it was a risk that many were unwilling to take.
Let me tell you a small story: Ten years ago, I was trying to implement an object tracking algorithm for a university project. To do that, I had to read about optical flows, motion detection, dense tracking techniques, and lots of other image processing terminologies that you won’t be interested in learning. That was not the funniest thing I have done, given that I had a particular specific business need!
A few years later, we had to implement a face recognition feature in our graduation project. We decided to find something more comfortable to use and saves us precious thesis time. Fortunately, we managed to find SkyBiometry, an online REST API for face detection and recognition, not the cheapest neither the best.
And that was a clear sign that AI can be made a little bit easier without much mathematical magic!
Understanding the Market Players
- Automation AnyWhere built a solution that processes Covid19 tests 95% faster using Microsoft Azure Cognitive Services.
- Istentia is using AWS Transcribe to generate more than 13K summaries for its radio and TV content.
- GlobalFoundries reduced the manual inspection workload by 40% using Google Cloud AI.
- You can do all of the previously mentioned for your product without Machine Learning knowledge!
Ten years ago, companies had to invest a significant amount of money to have the underlying IT infrastructure up and running. Hence, doing IT was a challenging task for businesses with small pockets. Moreover, specific machine learning tasks such as deep learning require machines with premium performance characteristics. Thankfully, cloud computing is one of the most innovative technologies that enabled organizations to adopt modern infrastructure at a low cost quickly.
There has been stiff competition among tech giants; Microsoft, IBM, Amazon, and Google in their cloud offerings. They try their best to attract developers and generate more cloud revenue through IaaS, PaaS, and SaaS offerings.
As the competition became stricter, the tech giants decided to seek strategies to differentiate themselves. One area is AI, where they started offering their internal AI solutions to their cloud services portfolio. Thus, it is handy for developers to utilize their industry-proven AI, machine learning, and deep learning technologies in their applications. That step was called (democratizing AI or AI as a Service) in the IT community, and the companies announced their services offerings in their respective conferences.
Understanding AI as a Service
To use AI Services, you to perform two simple steps:
- Send the data you want to analyze to the AI Service (Text, Images, Audio, etc.)
- The AI Service performs the magic and returns analytics to you.
AI Services are prebuilt and packaged APIs that are designed for a specific purpose. Such as image recognition, voice transcription, or anomaly detection. How does that happen? You do not need to think about it! Another Ph.D. guy on the other side of the world did all the crazy math for you. That kind of guy performed everything that has to do with the machine learning steps and provides you with an elegant component with an exposed API. Not only that but also, his company is hosting the API for you with high availability and security promises and asks for you peanuts cost to use that API on demand. Impressive right!
Literally, you do not need to care about the underlying machine learning algorithms and statistics, data cleansing, models training, and validation, etc. All the latest and greatest speech recognition, content detection, sentiment analysis algorithms are just packaged for you. You only need an API key to be up and running. The entry barrier to AI for developers has been significantly lowered!
What is AI as a Service Applications?
The infographic shows some cloud offerings for AI as a Service (AIaaS). As you see, the options are vast, and each provider has its own strengths and weaknesses. For example, IBM Excels in Arabic language support, Microsoft has comprehensive vision APIs. So, you will need to do a bit of due diligence and research to make sure that the particular API meets your business need.
Exploring each API is a tutorial itself, and outside the scope of our post, I just wanted to give you a feeling of what we have in the landscape. Generally, AI Services typically span vision, speech, language, and knowledge areas. You might see different categorization dimensions in other resources.
Looking at these services, we can think of a wide range of business applications that can utilize those APIs. For example, Microsoft Computer Vision API has an OCR (Optical Character Recognition); OCR can be used for vehicle plate recognition to detect parking time and red signal crossings. Another commonly used AI Service is the chatbot service (all giants have their own flavor), it can be used to automate ticket support tasks, FAQ, and menu orders. You can learn more about it in the customer call center analysis tutorial I wrote.
The amount of applications is just infinite, and you can browse any vendor page to see some case studies on how those services work in the real world and are used by world-class customers.
What Are the Advantages of AI as a Service?
Aside from the functional business requirements AIaaS provides, other non-functional requirements make your application reliable, accurate, and trustworthy. Let us discuss some of these non-functional requirements:
Proven and Tested: The APIs from tech giants rely on backend services that have matured and stabilized. Specifically, the deep learning and machine learning algorithms behind them have been used over the years. These companies are putting and willing to put in millions of dollars to ensure their accuracy and reliability.
Community Support: Unlike a mysterious ML library, your ex-ML engineer developed and left. The community highly supports AI services. Thus, it is easy to find solutions if you face any issue.
High Availability: Naturally, as the AIaaS services run on the cloud, they enjoy all availability promises from the respective vendor. Some of them go to up four nines in availability. This way, you can walk confidently to your clients and communicate availability promises relying on trusted vendors.
Latest and Greatest: AIaaS vendors are always working on optimizing and improving their algorithms and solutions, backed up by huge R&D budgets. You are ensured that your AI solutions will be targeting the bleeding edge algorithms with no intervention from your side.
Cheap: Anywho who studied economics 101 knows that large corporates enjoy economies of scale, making it cheaper for them to deliver goods and services. For example, Microsoft charges around 1$ for 1000 computer vision API usage, which means a single cent will allow you to perform ten AI operations. The prices may vary slightly based on the cloud region but is still in the same range.
Interoperability: Unlike an ugly embedded DLL that is locked to a particular programming language or framework, AIaaS is based on APIs standards such as REST, widely supported by the community, making it platform agnostic and easy to port.
SDKs: To make developers' life easier, AIaaS vendors have implemented SDKs for several programming languages such as C# and Java, making it is for you to have your application up and running without much boilerplate code.
Containers Support: Containers are booming technology nowadays, superseding virtual machines, and some AIaaS vendors started to release their services as containers to host it in your infrastructure if you have any networking/connectivity/legal concerns. However, the containers typically require an internet connection to report back your quota usage to the cloud. You can read about container support in my blog post.
What Are the Disadvantages of AI as a Service?
Well, I know I might have drawn a utopia around AIaaS and made you feel as if it is a complete replacement for Machine Learning and Deep Learning. No, this is not accurate. AIaaS helps you best when you have a repeated common business problem, such as image feature recognition or sentiment analysis. However, I have learned in my career; simplicity comes at a price, which is a lack of control. The fact that the APIs are abstracting away lots of technical details such as optimization parameters and neural networks activation functions means that you do not have much control over the algorithms.
So, let me know what you feel about those AIaaS! Leave a comment.
See you later, and be safe.