Comparison of Amazon, Microsoft Azure, Google Cloud for Machine Learning as a Service

Do you want to start with Machine learning or want to implement your job with the help of Machine? With help of everything as-a-service concept you also build your own Working Model. You just needed is what little knowledge about it and what tools are available and suitable for you . So let us discuss –

“What is machine learning as-a-service?”

Machine learning as a service (MLaaS) is an umbrella definition of automated and semi-automated cloud platforms that cover most infrastructure issues such as data pre-processing, model training, and model evaluation, with further prediction.

Amazon Machine Learning services, Azure Machine Learning, and Google Cloud AI are three leading cloud MLaaS services that allow for fast model training and deployment with little to no data science expertise.

Within this article, we’ll first give an overview of the main machine-learning-as-a-service platforms by Amazon, Google, and Microsoft, and will follow it by comparing machine learning APIs that these vendors support.

Predictive analytics with Amazon ML

Amazon Machine Learning services are available on two levels:

  1. Predictive analytics with Amazon ML and
  2. The SageMaker tool for data scientists.

Amazon Machine Learning for predictive analytics is one of the most automated solutions on the market and the best fit for deadline-sensitive operations. The service can load data from multiple sources, including Amazon RDS, Amazon Redshift, CSV files, etc. All data preprocessing operations are performed automatically: The service identifies which fields are categorical and which are numerical, and it doesn’t ask a user to choose the methods of further data preprocessing (dimensionality reduction and whitening).

Prediction capacities of Amazon ML are limited to three options: 

1.Binary classification,

2.Multiclass classification, and

3.Regression.

Amazon ML service doesn’t support any unsupervised learning methods, and a user must select a target variable to label it in a training set. Also, a user isn’t required to know any machine learning methods because Amazon chooses them automatically after looking at the provided data.

This high automation level acts both as an advantage and disadvantage for Amazon ML use. If you need a fully automated yet limited solution, the service can match your expectations. If not, there’s SageMaker.

Amazon SageMaker and frameworks-based services

SageMaker is a machine learning environment that’s supposed to simplify the work of a fellow data scientist by providing tools for quick model building and deployment. Amazon also has built-in algorithms that are optimized for large datasets and computations in distributed systems. These include:\

  • Linear learner, a supervised method for classification and regression
  • Factorization machines for classification and regression designed for sparse datasets
  • XGBoost is a supervised boosted trees algorithm that increases prediction accuracy in classification, regression, and ranking by combining the predictions of simpler algorithms
  • Image classification based on ResNet, which can also be applied for transfer learning
  • Seq2seq is a supervised algorithm for predicting sequences (e.g. translating sentences, converting strings of words into shorter ones as a summary, etc.)
  • K-means is an unsupervised learning method for clustering tasks
  • Principal component analysis used for dimensionality reduction
  • Latent Dirichlet allocation is an unsupervised method used for finding categories in documents
  • Neural topic model (NTM) is an unsupervised method that explores documents, reveals top ranking words, and defines the topics (users can’t predefine topics, but they can set the expected number of them)

Built-in SageMaker methods largely intersect with the ML APIs that Amazon suggests, but here it allows data scientists to play with them and use their own datasets.

If you don’t want to use these, you can add your own methods and run models via SageMaker leveraging its deployment features. Or you can integrate SageMaker with TensorFlow and MXNet, deep learning libraries.

Generally, Amazon machine learning services provide enough freedom for both experienced data scientists and those who just need things done without digging deeper into dataset preparations and modeling. This would be a solid choice for companies that already use Amazon environment and don’t plan to transition to another cloud provider.

Microsoft Azure Machine Learning Studio

Azure Machine Learning is aimed at setting a powerful playground both for newcomers and experienced data scientists. The roster of ML products from Microsoft is similar to the ones from Amazon, but Azure, as of today, seems more flexible in terms of out-of-the-box algorithms.

Services from Azure can be divided into two main categories:

1.Azure Machine Learning Studio and

2.Bot Service.

ML Studio is the main MLaaS package to look at. Almost all operations in Azure ML Studio must be completed manually. This includes data exploration, preprocessing, choosing methods, and validating modeling results.

Approaching machine learning with Azure entails some learning curve. But it eventually leads to a deeper understanding of all major techniques in the field.

On the other hand, Azure ML supports graphical interface to visualize each step within the workflow. Perhaps the main benefit of using Azure is the variety of algorithms available to play with.

The Studio supports around 100 methods that address classification (binary+multiclass), anomaly detectionregression, recommendation, and text analysis. It’s worth mentioning that the platform has one clustering algorithm (K-means).

Another big part of Azure ML is Cortana Intelligence Gallery. It’s a collection of machine learning solutions provided by the community to be explored and reused by data scientists.

The Azure product is a powerful tool for starting with machine learning and introducing its capabilities to new employees.

Google Prediction API

Google provides AI services on two levels:

1.Machine learning engine for savvy data scientists

2.Highly automated Google Prediction API.

Unfortunately, Google Prediction API has been deprecated recently and Google is pulling the plug on April 30, 2018.

Google Cloud Machine Learning Engine

High automation of Prediction API was available at the cost of flexibility. Google ML Engine is the direct opposite. It caters to experienced data scientists, it’s very flexible, and it suggests using cloud infrastructure with TensorFlow as a machine learning driver. So, ML Engine is pretty similar to SageMaker in principle.

TensorFlow is another Google product, which is an open source machine learning library of various data science tools rather than ML-as-a-service. It doesn’t have visual interface and the learning curve for TensorFlow would be quite steep. However, the library is also targeted at software engineers that plan transitioning to data science. TensorFlow is quite powerful, but aimed mostly at deep neural network tasks.

Basically, the combination of TensorFlow and Google Cloud service suggests infrastructure-as-a-service and platform-as-a-service solutions according to the three-tier model of cloud services.

To wrap up machine-learning-as-a-service platforms, it seems that Azure currently has the most versatile toolset on the MLaaS market. It covers most ML-related tasks, provides a visualization interface for building custom models, and has a solid set of APIs for those who don’t want to nail data science with their bare hands. However, it still lacks automation capacities available at Amazon.

Machine learning APIs from Amazon, Microsoft, and Google comparison

Besides full-blown platforms, you can use high-level APIs. These are the services with trained models under the hood that you can feed your data into and get results. APIs don’t require machine learning expertise at all. Currently, the APIs from these three vendors can be broadly divided into three large groups:

1) Text recognition, translation, and textual analysis

2) Image + video recognition and related analysis

3) Other which includes specific uncategorized services

Speech and text processing APIs: Amazon

Amazon provides multiple APIs that aim at popular tasks within text analysis. These are also highly automated in terms of machine learning and just need proper integration to work.

Amazon LexThe Lex API is created to embed chatbots in your applications as it contains automatic speech recognition (ASR) and natural language processing (NLP) capacities. These are based on deep learning models. The API can recognize written and spoken text and the Lex interface allows you to hook the recognized inputs to various back-end solutions.

Amazon TranscribeWhile Lex is a complex chatbot-oriented tool, Transcribe is created solely for recognizing spoken text. The tool can recognize multiple speakers and works with low-quality telephony audio. This makes the API a go-to solution for cataloging audio archives or a good support for the further text analysis of call-center data.

Amazon Polly. The Polly service is kind of a reverse of Lex. It turns text into speech, which will allow your chatbots to respond with voice. It’s not going to compose the text though, just make the text sound close to human

Amazon ComprehendComprehend is another NLP set of APIs that, unlike Lex and Transcribe, aim at different text analysis tasks. Currently, Comprehend supports:

  • Entities extraction (recognizing names, dates, organizations, etc.)
  • Key phrase detection
  • Language recognition
  • Sentiment analysis (how positive, neutral, or negative a text is)
  • Topic modeling (defining dominant topics by analyzing keywords)

This service will help you analyze social media responses, comments, and other big textual data that’s not amenable to manual analysis,  e.g. the combo of Comprehend and Transcribe will help analyze sentiment in your telephony-driven customer service.

Amazon Translate. As the name states, the Translate service translates texts. Amazon claims that it uses neural networks which – compared to rule-based translation approaches – provides better translation quality. Unfortunately, the current version supports translation from only six languages into English and from English into those six. The languages are Arabic, Chinese, French, German, Portuguese, and Spanish.

Speech and text processing APIs: Microsoft Azure Cognitive Services

Just like Amazon, Microsoft suggests high-level APIs, Cognitive Services, that can be integrated with your infrastructure and perform tasks with no data science expertise needed.

Speech. The speech set contains four APIs that apply different types of natural language processing (NLP) techniques for natural speech recognition and other operations:

  • Translator Speech API
  • Bing Speech API to convert text into speech and speech into text
  • Speaker Recognition API for voice verification tasks
  • Custom Speech Service to apply Azure NLP capacities using own data and models

Language. The language group of APIs focuses on textual analysis similar to Amazon Comprehend:

Language Understanding Intelligent Service is an API that analyzes intentions in text to be recognized as commands (e.g. “run YouTube app” or “turn on the living room lights”)

  • Text Analysis API for sentiment analysis and defining topics
  • Bing Spell Check
  • Translator Text API
  • Web Language Model API that estimates probabilities of words combinations and supports word autocompletion
  • Linguistic Analysis API used for sentence separation, tagging the parts of speech, and dividing texts into labeled phrases
Speech and text processing APIs: Google Cloud Services

While this set of APIs mainly intersects with what Amazon and Microsoft Azure suggest, it has some interesting and unique things to look at.

DialogflowWith various chatbots topping today’s trends, Google also has something to offer. Dialogflow is powered by NLP technologies and aims at defining intents in the text, and interpreting what a person wants. The API can be tweaked and customized for needed intents using Java, Node.js, and Python.

Cloud natural language APIThis one is almost identical in its core features to Comprehend by Amazon and Language by Microsoft.

  • Defining entities in text
  • Recognizing sentiment
  • Analyzing syntax structures
  • Categorizing topics (e.g. food, news, electronics, etc.)

Cloud speech APIThis service recognizes natural speech, and perhaps its main benefit compared to similar APIs is the abundance of languages supported by Google. Currently, its vocab works with over 110 global languages and variants of them. It also has some additional features:

  • Word hints allow for customizing recognition to specific contexts and words that can be spoken (e.g. for better understanding of local or industry jargon)
  • Filtering inappropriate content
  • Handling noisy audio

Cloud translation APIBasically, you can use this API to employ Google Translate in your products. This one includes over a hundred languages and automatic language detection.

Besides text and speech, Amazon, Microsoft, and Google provide rather versatile APIs for image and video analysis.

Image and video processing APIs: Amazon Rekognition

No, we didn’t misspell the word. The Rekognition API is used for image and, recently, video recognition tasks. They include:

  • Objects detection and classification (find and detect different objects in images and define what they are)
  • In videos, it can detect activities like “dancing” or complex actions like “extinguishing fire”
  • Face recognition (for detecting faces and finding matching ones) and facial analysis (this one is pretty interesting as it detects smiles, analyzes eyes, and even defines emotional sentiment in videos)
  • Detecting inappropriate videos
  • Recognizing celebrities in images and videos (for whatever goals that might be)
Image and video processing APIs: Microsoft Azure Cognitive Services

The Vision package from Microsoft combines six APIs that focus on different types of image, video, and text analysis.

  • Computer vision that recognizes objects, actions (e.g. walking), and defines dominant colors in images
  • Content moderator detects inappropriate content in images, texts, and videos
  • Face API detects faces, groups them, defines age, emotions, genders, poses, smiles, and facial hair
  • Emotion API is another face recognition tool that describes facial expressions
  • Custom Vision Service supports building custom image recognition models using your own data
  • Video indexer is a tool to find people in videos, define sentiment of speech, and mark keywords
Image and video processing APIs: Google Cloud Services

Cloud vision APIThe tool is built for image recognition tasks and is quite powerful for finding specific image attributes:

  • Labeling objects
  • Detecting faces and analyzing expressions
  • Finding landmarks and describing the scene (e.g. vacation, wedding, etc.)
  • Finding texts in images and identifying languages
  • Dominant colors

Cloud Video IntelligenceThe video recognition API from Google is early in development so it lacks many features available with Amazon Rekognition and Microsoft Cognitive Services. Currently, the API provides the following toolset:

  • Labeling objects and defining actions
  • Identifying explicit content
  • Transcribing speech

While on the feature-list level Google AI services may be lacking some abilities, the power of Google APIs is in the vast datasets that Google has access to.

Specific APIs and tools

Here, we’ll discuss specific API offerings and tools for Machine learning .

Azure Service Bot framework. Microsoft has put a lot of effort into providing its users with flexible bot development toolset. Basically, the service contains a full-blown environment for building, testing, and deploying bots using different programming languages.

Interestingly, the Bot Service doesn’t necessarily require machine learning approaches. As Microsoft provides five templates for bots (basic, form, language understanding, proactive, and Q&A), only the language understanding type requires advanced AI techniques.

Currently, you can use .NET and Node.js technologies to build bots with Azure and deploy them on the following platforms and services:

  • Bing
  • Cortana
  • Skype
  • Web Chat
  • Office 365 email
  • GroupMe
  • Facebook Messenger
  • Slack
  • Kik
  • Telegram
  • Twilio

Bing Search from MicrosoftMicrosoft suggests seven APIs that connect with the core Bing search features, including autosuggest, news, image, and video search.

Knowledge from MicrosoftThis APIs group combines text analysis with a broad spectrum of unique tasks:

  • Recommendations API allows for building recommender systems for purchase personalization
  • Knowledge Exploration Service allows you to type in natural queries to retrieve data from databases, visualize data, and autocomplete queries
  • Entity Linking Intelligence API is designed to highlight names and phrases that denote proper entities (e.g. Age of Exploration) and ensure disambiguation
  • Academic Knowledge API does word autocompletion, finds similarities in documents both in words and concepts, and searches for graph patterns in documents
  • QnA Maker API can be used to match variations of questions with answers to build customer care chatbots and applications
  • Custom Decision Service is a reinforcement learning tool to personalize and rank different types of content (e.g. links, ads, etc.) depending on user’s preferences.4

Google Cloud Job DiscoveryThe API is still in the early development, but soon it may redefine the job search capacities that we have today. Unlike conventional job search engines that rely on precise keyword matches, Google employs machine learning to find relevant connections between highly variative job descriptions and avoid ambiguity. For instance, it strives to reduce irrelevant or too broad returns, like returning all jobs with the keyword “assistant” for the query “sales assistant.” What are the main features of the API?

  • Fixing spelling errors in job search queries
  • Matching the desired seniority level
  • Finding relevant jobs that may have variative expressions and industry jargon involved (e.g. returning “barista” for the “server” query instead of “network specialist”; or “engagement specialist” for the “biz dev” query)
  • Dealing with acronyms (e.g. returning “human resources assistant” for the “HR” query)
  • Matching varieties location descriptions

Hope article is useful.

For more details :- Comparing Machine Learning as a Service: Amazon, Microsoft Azure, Google Cloud AI