AWS VS Azure VS Google Cloud - Comparative Analysis Of Cloud Platforms For Machine Learning

There are numerous cloud platforms providing services for machine learning. This article discusses the comparative analysis between these commonly used cloud platforms and each of its various features supported for Machine Learning. There are different features that are common in all of these platforms while some are specially provided by specific platforms alone. The ones that will be discussing here are Amazon’s AWS SageMaker, Google’s ML Engine, Microsoft’s Azure AI, Cloud Foundry, and PaperSpace. Let us learn in detail about each of these individually.  

Amazon Web Services (AWS)

Amazon Web Services provides the Amazon Web Services SageMaker platform which enables the building, training, and deployment of machine learning models. Some of the pros of the Amazon SageMaker can be listed below.  

Flexible Machine Learning Software

The AWS SageMaker is extremely flexible and enables the usage of multitudes of programming languages and software frameworks in order to build, train and deploy the machine learning models in Amazon Web Services. It provides three different ways for modeling inside SageMaker.  

  1. Built-in Algorithms
    The Amazon SageMaker provides over fifteen different built-in algorithms which can be easily accessed and used for machine learning applications as per the need. There are various built-in algorithms such as linear learner or XGBoost for quantitating analysis and discrete classification, factorization machine for item recommendations, K-Means for grouping based on attributes, algorithms for image classification, and many more.  
     
  2. Custom Algorithm
    Software Frameworks such as TensorFlow, PyTorch, Apache Spark, Apache MXNet, Chainer are provided for usage in various programming languages.  
     
  3. Personally Build Algorithms
    In case the algorithms aren’t available through the built-in libraries or custom algorithms, regardless of the programming languages and framework, AWS SageMaker allows using personally build algorithms too.  

Exploration and Data Processing

Jupyter Notebook is made available in the SageMaker for the exploration and processing of data and the process of creating, training, validating, testing, and deploying the machine learning models which makes it extremely easy for exploring data and documentation. AWS also consists of data processing and transformation pipelines services such as AWS Data Pipeline and AWS Glue.  

Concomitant supports for Modeling and Deployment

The AWS SageMaker provides a plethora of features and automated tools dedicated to making the process of modeling and deployment easier. To learn about the modeling and deployment of a machine learning application, check out the previous article, Machine Learning Workflow and its Methods of Deployment. Listed below is the detailed outlook about these features of SageMaker.  

Multiple Prediction Types

The Amazon Web Service SageMaker provides On-demand prediction as demand where each individual request allows for one-to-many requests. Moreover, Batch Prediction is also supported by the SageMaker where the limit of data size for the request is based on the object size limit of the S3. To learn more about Batch Prediction and On-Demand Prediction, read the previous article, Properties of Modeling and Deployment.  

Auto Model Tuning

The SageMaker allows hyperparameter tuning in order to figure out the best model for built-in as well as custom algorithms. It also contains the metrics for evaluation of the built-in algorithms in order to evaluate the model’s performance. To learn more about hyperparameter tuning, read the previous article, Properties of Modeling.  

Monitoring of Models

Various deployed models can be monitored with the services provided by SageMaker. Routing of traffic to specific deployed models and the variants of the model is enabled.  

Google Cloud Platform (GCP)

Building, Training, and Deployment of Machine Learning Models are enabled by the ML Engine of Google Cloud Platform (GCP). Let us learn about the differences and similarities of AWS SageMaker and GCP ML Engine.  

Machine Learning Software

Comparing to Amazon’s SageMaker, GCP ML Engine provides limited flexibility for the building, training, and deployment of machine learning models when we look at the supported software frameworks. Let us take the example of two frameworks available in modeling with the ML Engine.  

Tensorflow – Originally developed by the Google Brain Team, Tensorflow is an in-house development of Google providing an open-source machine learning framework that enables building, training, and deployment of the machine learning models as well as deep learning models. On Top of TensorFlow runs Keras, which is written in Python is a high-level API that is extremely easy to use allowing rapid development. Both Tensorflow and Keras are well supported by the GCP. It is likely, that Google is supporting the framework that it has built for Machine Learning and Deep Learning with the cloud platform.  

Scikit-Learn: Originally developed as the Google Summer of Code Project, Scikit-learn is another machine learning framework that is developed in Python and is completed open source. Using in combination the XGBoost and Scikit-learn Python packages, building, training, and deploying machine learning models is extremely convenient. In retrospection, Scikit-learn is used for processing data and XGBoost for modeling.  

Concomitant supports for Modeling and Deployment

Similar to the plethora of services provided by the Amazon SageMaker, GCP ML Engine also provides a number of automated tools and features with the goal to make modeling and deployment easy. Let us dive deeper into these features.  

Multiple Prediction Types

Google’s ML Engine enables an Online (On-demand) type of prediction such that each prediction request has the capability to contain one to many requests. The ML Engine also provides the functionality to support Batch Prediction.  

Monitoring of Models

The ML Engine of Google enables the monitoring of models. In addition, the ML Engine also supports managing models and jobs as well as managing the runtime versions.  

Auto Model Tuning

With Hyperparameter tuning enabled, the ML Engine supports fining the best version of the models easily.  

Exploration and Data Processing

In contrary to Amazon SageMaker, Jupyter Notebooks are unavailable within Google’s ML Engine. One has to use Datalab in order to access Jupyter Notebooks within the Google Cloud Platform. The data exploration, processing, and transformation are different divisions as different services in GCP. The data exploration and data processing is enabled with the Datalab, exploration and transforming raw data into clean data for processing and analysis are done with the DataPrep, and the deployment of batch and streaming data processing pipelines are done with the DataFlow services respectively.  

Methods of Prediction

It can always be assumed that no two different services have any compulsion to provide services in a similar way. This can be seen in the costing of Prediction in between the AWS SageMaker and GCP ML Engine. The resources are left running in SageMaker helping reduce the latency for providing the predictions which cost economically as one is paying for running the idle services even when the prediction requests are not made while the services are running.  This is the cost that has to be born for the benefit of lower latency. Howsoever, the ML Engine allows stopping the resources running that helps reduce costs that are associated with infrequent and periodic requests. This has the drawback of causing more latency associated with the predictions as the resources are in the offline state unless prediction requests are received. This increased latency is the outcome of bringing the resources back live but provides the benefit of only having to pay for the time those resources are used. 

Microsoft Azure

Just like the SageMaker of Amazon and ML Engine of Google, Azure AI is the answer of Microsoft to Amazon and Google. Moreover, Azure AI offers a range of open and comprehensive platforms for the building, evaluating, and deployment of machine learning models and many more features supporting various AI frameworks such as PyTorch, TensorFlow, Sci-kit Learn, Chainer, Caffe2, MxNet, and more. Furthermore, Azure Machine Learning Studio and Azure AI provide ranges of other functionality and features beyond comparison. You can learn more about the Azure AI from the previous articles, Auto MLAI OverviewImage Captioning with Azure Cognitive ServicesCreating Cognitive Service in AzureFace Detection and Recognition with Azure Cognitive Services, Microsoft Azure AI Fundamentals, and Complete Guide to Azure AI Fundamentals Exam-900.  

PaperSpace

PaperSpace provides the GPU-backed Virtual Machines in respective to various ML frameworks and tools such as Tensorflow, Keras, Caffe, and Torch which enables support for projects ranging from machine learning, deep learning, and even other domains of data science. PaperSpace has made a strong claim that it has made the provision of extremely powerful while at the same time cost-effective and economical virtual machine compared to Amazon Web Service, Google Cloud Platform, and Azure.  

Cloud Foundry

Backed by the heavy lifters of the Technology industry of the likes of Google, Microsoft, IBM, Cisco, SAP, and many more, Cloud Foundry is a cloud application platform that is completely open-source. It enables an easy and rapid method for building, testing, deploying, and scaling the application by accessing a range of choices of clouds, frameworks, and services of an application to users. The Cloud Foundry Certified Platform has made the provision for the organizations to have the respective cloud applications extremely portable throughout multiple platforms such as the cloud platforms of SAP and IBM.  

Conclusion

In this article, we discussed various cloud platforms providing functionalities and features for Machine Learning applications. We started with learning about Amazon Web Service SageMaker and then moved to Google Cloud Platform’s ML Engine. Have the comparisons between these two we learned about the similarities and differences between these two. Then we learned in brief about Microsoft Azure’s Azure AI, PaperSpace, and Cloud Foundry. Numerous articles dedicated to Azure AI have been written before commending to its comprehensive features and resources support.