Data is without a doubt the driving force behind the fourth industrial revolution. Machine Learning and Artificial Intelligence are receiving much more attention from all stakeholders as most of the sectors of the economy are becoming increasingly data-driven. Likewise, enterprises employ data science practices in order to convert raw data to knowledge by means of machine learning and data mining techniques. Nevertheless, developing a proper data science infrastructure and building a competent data science team is still a very challenging task, as there is a proclaimed talent gap in Big Data and machine learning, and also there is a dearth in domain experts who are capable of working with large volumes of data. This has recently given rise to the emergence of cloud-based infrastructures for machine learning and data analytics, which enable companies to access machine learning resources and toolkits over a provider’s infrastructure, rather than having to deploy such resources in-house. In practice, such cloud-based infrastructures provide the means for outsourcing part of a data analytics task to a third-party, much in the same way enterprises can nowadays access a wide range of computing and storage resources through a cloud provider (e.g., based on the Infrastructure-as-a-Service (IaaS) model). In the case of machine learning and data analytics resources, the respective cloud-based platforms are conveniently called Machine Learning as a Service (MLaaS).
Introducing Machine Learning as a Service (MLaaS)
MLaaS is a general term, which refers to offering machine learning and data analytics tasks over a cloud platform. Typical examples of such MLaaS tasks are those foreseen in popular data mining and machine learning methodologies such as the Cross-Industry Standard Process for Data Mining (CRISP-DM). They include data pre-processing, model training, model evaluation, as well as the visualization of the results. In the scope of an MLaaS platform, these tasks are executed from remote in an automated or semi-automated fashion. Moreover, MLaaS platforms enable access to the results of these tasks through REST APIs, which facilitate the integration of MLaaS functions with other (in-house or cloud-based) elements of an organization’s IT infrastructure.
Based on the execution of the above-listed machine learning functions over a provider’s cloud platform, enterprises can accelerate their data science deployments, as they are able to deploy models with limited data science expertise. Still, enterprises will have to employ business analysts and data mining experts, but in lesser numbers, as the required IT infrastructure and tools are available and accessible as MLaaS.
The rising popularity of the MLaaS paradigm is reflected by the fact that all major cloud vendors (e.g., Amazon, Microsoft, Google) are offering machine learning services to their customers. The development and evolution of their MLaaS platforms are driven by the following principles:
- Support for all stakeholders’ roles: The MLaaS tools that they provide addresses the needs of all Machine Learning stakeholders, including data scientists, researchers, developers, business analysts and more. In particular, they offer visual interfaces tailored to different levels of IT literacy, which offer capabilities tailored to the various stakeholders’ roles.
- Powerful Machine Learning Libraries: State-of-the-art cloud-based MLaaS platforms come with a rich set of libraries for building intelligent applications, ranging from simple machine learning models (e.g., Bayesian reasoning and simple decision trees) to sophisticated libraries for computer vision, speech processing and Artificial Intelligence (AI) functionalities like robots and chatbots. In several cases, these libraries comprise pre-trained models, which provide decent performance for simple applications.
- Coverage of all popular data analytics and machine learning frameworks: Popular MLaaS platforms provide access to all of the most popular machine learning frameworks and toolkits, such as Spark, Spring, Tensorflow, MXNet and Caffe2, and more. Moreover, in most cases they allow developers and integrators to install and deploy other custom frameworks as well. In this way, MLaaS platforms enable data scientists to implement a wide range of data analytics applications such as streaming analytics and AI applications.
- Support for different computing options and deployment environments: Using MLaaS tools, developers and deployers can implement machine learning applications in different virtualized computing environments, ranging from powerful Central Processing Units (CPU) and Graphical Processing Units (GPU) based environments to resource-constrained environments such as embedded processors and Field-Programmable Gate Array (FPGAs).
- Access to Different Programming Environments: Nowadays, data scientists use many different programming languages for their machine learning tasks. Python, R, Julia, and Java are among the most popular ones. MLaaS platforms provide support for different programming environments in a PaaS (Platform as a Service) fashion, in order to match data scientists’ preferences and skills.
- Integration with platform-specific functionalities: All major MLaaS vendors have their own machine learning products and services (e.g., speech processing or computer vision services). As part of their MLaaS offerings, they support flexible nd, in several cases, seamless integration of their machine learning functions with these services, which enables data scientists to leverage and extend existing machine learning models and applications in the vendor’s ecosystem.
Overall, MLaaS platforms provide versatility, scalability and deployment ease to developers and deployers of non-trivial machine learning systems. This is the reason why they are gaining popularity and traction in the machine learning ecosystem.
Apart from MLaaS platforms, we are also witnessing the emergence of cloud-based machine learning applications i.e. cloud applications that apply machine learning models in order to produce their results. Some of the most prominent examples of such applications follow:
- Security-as-a-Service (SECaas): SECaaS application process information from ICT systems and devices in order to identify potential vulnerabilities and risks, and subsequently to provide security recommendations. To this end, they apply machine learning models over data collected from system probes. This information is processed in the cloud, which provides a foundation for managed security that does not require any on-premise security deployment.
- Maintenance-as-a-Service (MaaS): MaaS applications collect information about the condition of machines and devices in order to extract recommendations about their maintenance. Data processing can be performed either in a private cloud deployed at the plant where the machines reside or within a public cloud provided by the machine vendor.
- Simulation-as-a-Service (SimaaS): SimaaS applications leverage the capacity, quality of service and MLaaS tools of the cloud in order to run complex simulations about physical processes and accordingly use them to drive automation and control functions. To this end, machine learning functions are executed in the cloud and their results are used to drive recommendations, what-if analysis and optimal decision making about automation tasks.
- Sensing-as-a-Service (SenseaaS): These are Internet-of-Things (IoT) based applications which collect and process applications from multiple heterogeneous sensors in the cloud. In most cases, the processing of multi-sensor information involves the invocation of MLaaS functions such as sensor data pre-processing and the application of machine learning models for sensor data.
The above listed applications are only the tip of the iceberg and more sophisticated applications that mix sensor data, social media data, batch transactional data and more, are possible with MLaas. In the near future, we will see a further proliferation of machine learning applications, which will be delivered as a service. Likewise, we will witness an advancement in the functionality, reliability, and ease of use of MLaaS functionalities and tools. It’s therefore vital that the data scientists and data-driven enterprises should consider the merits of MLaaS platforms, along with the best ways to take advantage of them.