Artificial Intelligence as a Service – AI off the shelf
In the last years, many big IT corporations like Amazon (Web Services), Google (Cloud Platform), Microsoft (Azure) and IBM (Developer Cloud) as well as startups like Dataiku, BigML, ForecastThis (and more) have started to offer Artificial Intelligence as a Service (AIaaS). These services are supposed to lower the entry costs for other companies to use Artificial Intelligence. – Time to increase the understanding, in return. A classification.
AI comprises a wide range of algorithms that allow computers to solve specific tasks by generalizing over data. The two main areas are classic Machine Learning algorithms such as classification, regression etc and Deep Learning, which are modern learning algorithms based on Artificial Deep Neural Nets.
While previously, companies required a lot of time and money to build up the technical know how and infrastructure to develop AI applications, AIaaS can reduce the development time and improve the Time-to-Value significantly – AI off the shelf so to say.
The operation of a technological infrastructure (IaaS – Infrastructure as a Service) as well as the supply and maintenance of software (SaaS – Software as a Service) has been simplified and opened for use on demand by cloud hosters. This approach is now being applied to AI. The main advantages derived from IaaS and SaaS are focus on the core business, transparent costs through pay as you use, reduced development time and investment risk as well as increased strategic flexibility through dynamic availability. The disadvantages, on the other hand, are dependency on the service provider and a working and fast data connection, the offer being limited to standard solutions (standardization instead of innovation), and a reduced security of the data and transactions.
High level vs. low level AI
In the discussion of AIaaS it is meaningful to discern between high level and low level AI. An example for a problem oriented, high level AI algorithm is face recognition. There, the task is to detect if a face is in the picture, and if so in which position. These algorithms solve a well researched and standardized problem, have a simple interface (Input: picture, output: “yes + position” or “no”) and are thus easy to understand by non-AI experts.
An example for a low level AI algorithm is logistic regression. These methods can be applied to a multiplicity of different tasks i.e. churn prediction or fraud detection. In exchange, these methods require the setup of a long processing pipeline that includes data pre-processing, training, parameter optimization and evaluation, and is best left to experts. If however AI know how is available, low level algorithm allow the creation of innovative solutions for unsolved and non-standardized problems. Next, specific advantages and disadvantage to AIaaS will be discussed and can be used for orientation in the topic.
Apply AIaaS successfully
For last 10 years, the performance of AI algorithms has increased significantly – mainly driven by the progress in the field of Deep Learning. At the same pace the application areas of AI has been widened. With the help of AI services, even companies without a data science department can now utilize AI to benefit from data driven business decisions. High level AI algorithms that solve a standardized problem allow for a simpler and faster development of proof of concepts (PoC) or applications. Particularly when using data and computationally intensive methods, i.e. both common in Deep Learning, the service requester can simply use on demand preconfigured big data infrastructures (GPUs/ Hadoop cluster) and pretrained Neural Nets. Thus, to successfully apply AIaaS, only the service’s functionality, API and performance (accuracy and computation time) have to be in line with the requirements.
Algorithms as Black Box
An important disadvantage is that all commercial AIaaS providers do not publish their implementations of the algorithms. Sometimes the documentation gives formulas or links to a publication that the implementation is based on. Most of the time however only the name and the API of the algorithm are documented. Here, the client has to have confidence in the accuracy and efficiency of the implemented algorithm. But, like all other software, the services can be buggy and half-baked, therefore systematic tests are recommended.
On the client side, there is also a high error potential when setting up a long low level AI processing pipeline consisting of preprocessing, training, parameter optimization and evaluation. In this case, it is recommended to not only compare different providers, but also to validate the results against your own implementation. In both cases, the testing requires a lot of know how and resources.
Besides, different aspects of AIaaS hinder comparability of the services between providers. On the one hand, many services are specialized on very specific tasks thus not comparable. On the other hand, most often providers (exception: Algorithmia) do not use versioning for their algorithms, so that clients cannot know which version they have tested or if an updated version is available.
As a solution to this, some providers created interfaces in their graphical toolkits that allow you to integrate your own code, and thus circumventing the algorithmic black box. If these toolkits facilitate collaborative work, mixed teams of programmers and stakeholders can work closely together.
Availability and Stability of the Services
Artificial Intelligence is a very active research area where new algorithms and approaches are regularly published. For AIaaS, this creates a lively growth market with a multitude of players and newly founded start-ups. Correspondingly, there are waves of selection and consolidation across the market that yield winners and losers. Regularly new and improved services emerge; and old ones are updated or shut down, even within a platform. A discontinued service is an obvious problem when using AI services in a productive system. But also, unannounced updates along with missing versioning can make the management of a live system complicated. Thus, the decision for or against a provider is not as easy as with SaaS, where the size of the provider correlates with the stability of the service.
AIaaS Usage without Know-how
AIaaS allows everyone, independent of their knowledge, to utilize Artificial Intelligence. For developers simple APIs are provided, for users without coding skills graphical user interfaces along with detailed instructions are made available by which means a data processing pipeline can be clicked together. The convenience as well as the self marketing of the service providers suggests that everyone can easily apply AI algorithms. This might be the case for high level AI and standardized problems.
However, new and innovative solutions to not-standardized problems require a different approach. Without in-depth knowledge of the functioning of the underlying algorithm and data processing pipeline, there is a danger of systematic errors in the results of the application and thus in the business decisions that are derived from them. If several projects fail for this reason, the confidence in AI can be permanently damaged. For an example of this phenomenon see the decade long misuse of p-values in social science and humanities, as well as in medical studies, that caused a considerable loss of trust in these research areas.
Next to the correct usage of the algorithms, there are also many things that need to be considered on the data side: before modeling, the data needs to be cleaned (garbage in, garbage out), a subset of variables needs to be selected or new ones need to be created from the existing, and the data needs to be prepared according to the selected algorithm i.e. by normalisation. The compilation of training data points is also not trivial, since care is required to ensure that they are free of data bias. For example, if you train a face recognition algorithm only with pictures of caucasian people, faces of non-caucasian persons will not be detected. This means, before you use AIaaS with pretrained models, you should check if they produce bias on test data.
AIaaS is perfect for testing fast and without a big investment in hardware or software new approaches to your problems. The performance of several different AI algorithms are typically compared to each other in these so called proof of concepts which can be easily done with AIaaS. There is also a wide variety of very good services for high level AI such as face recognition, speech-to-text, text-to-speech and so on that can be used if your data is not confidential. If you need a complex, not-standardized solution, you need to built up AI know how in-house or contract a service provider (like *um) to build a custom solution.
Low level AI should not be used without an in-depth knowledge of the algorithm to non-standardized problems. Everyone that studies the basics of Machine Learning can correctly apply a logistic regression to 3 input variables. But most of the practically relevant problems are more complex.