Top 10 Machine Learning Services From AWS You Should Not Miss

Frank Haubenschild
10 min readAug 26, 2022
Photo by Arseny Togulev on Unsplash

Amazon Web Services offers a wide range of services and frameworks in Machine Learning (ML) and Artificial Intelligence (AI). Whether you are looking for image or text recognition, need ML-optimized virtual machines, or are more into building and training your ML models, the below list gives you the top ten AWS services to do just that.

#10: Amazon SageMaker

Build, train, and deploy your machine learning (ML) models

Amazon SageMager [1] is a huge toolset of services to prepare, build, train, and deploy machine learning models. The service covers the entire machine learning workflow and includes a fully managed infrastructure, so you do not have to take care of any servers running in the background. Whether you are an ML engineer, a data scientist, or a business analyst SageMaker offers the right tooling for your Machine Learning needs.

Image credit by Amazon Web Services — Amazon SageMaker covers the complete machine learning workflow.

Using Amazon SageMaker, you pay for the chosen instance types running your Machine learning workload. The Free Tier offers several hundred hours within the first two months to experiment with any machine learning workflow.

#9: Amazon Lex

Build your own chatbot with conversational AI

With Amazon Lex [2], you can extend your app or webpage with your very own chatbot powered by the same deep learning technologies used in Amazon Alexa. If you are familiar with building Alexa Skills, your bot will be up and running in no time. Given an input which could be voice or text, Amazon Lex’s natural language understanding (NLU) recognizes the intent of the text, and whatever you have defined as a response gets presented to the user.

The creation of a chatbot is simple: You define so-called Intents, which represent actions that the user wants to perform. An intent has a name and a set of sample utterances. Utterances are phrases that you wish your chatbot to reply to. A sample utterance could be “what is your name” or “how should I call you.” The NLU of Amazon Lex will not only match your intent to the exact sample utterance given above but also match your intent if the user says, “What’s your name.”

Image credit by Amazon Web Services — Building a chatbot with Amazon Lex.

If you want to experiment with Amazon Lex, you can process up to 10k text and 5k speech requests per month for free within the first year. After this, you pay per request ($0.004 / speech resp. $0.00075 / text request).

#8: Amazon Polly

Turn text into lifelike speech using deep learning

Amazon Polly [3] takes text input (string) and synthesizes it into lifelike speech that sounds like a human voice. The service supports you in building real-time, interactive dialogs. It supports languages like English, Mandarin, Hindi, Spanish, German, French, and many more. You can decide if a female or male speaker should read your text. You can select from a list of different voices depending on your language. Some voices are bilingual. You can control the voice speed according to your need via an API.

Using Amazon Polly, you pay for the number of characters you want to convert into speech. The Free Tier allows you to convert 5 million characters per month using the standard voices for the first 12 months. Once Polly has converted your text into speech, you can replay the generated speech as much as you want and save it for further use in case your application becomes offline.

Fun Fact: Reading out the Adventures of Huckleberry Finn by Mark Twain would have a speech duration of around 13 hours and 50 minutes and would cost you $2.40 for standard text-to-speech.

#7: Amazon Transcribe

Automatically convert speech to text

Amazon Transcribe [4] is the counterpart to Amazon Polly: It converts speech (e.g. WAV or MP3 file) to text. This process is called transcription. Amazon Transcribe automatically identifies the language in your media, so you don’t have to specify any specific language code. To use streaming transcription, you must set at least two language codes the media might contain. Like Polly, the service supports languages like English, Chinese, Hindi, Spanish, German, French, and many more. If your media content gets spoken by different speakers, Amazon Transcribe can identify each and label each speaker’s utterance. This feature is called speaker diarization.

As with nearly all other AWS services, you pay only for the usage of the service. Using Amazon Transcribe, you pay for seconds of audio transcription per month. The Free-tier gives you up to 60 audio minutes per month for the first 12 months.

#6: Amazon Rekognition

Deep-learning-based image and video analysis in the cloud

With Amazon Rekognition [5], you can automatically analyze your images or videos to identify and extract information about the detected text, objects, people, scenes, or activities. The service supports face analysis and comparison, and you can also search for faces within your data set. Features like sentiment and demographic analysis are also supported. So you can build an app that recognizes a person’s emotional expression, such as happy, angry, surprise, or sad, and rates the detected emotion with a certainty value.

Image credit by Amazon Web Services — Label detection with detected certainty

#5: Amazon Textract

Automatically extract text and handwriting from scanned documents

If you want to extract text from scanned documents containing text or handwriting, Amazon Textract [6] is worth a looking. In the early days of Optical Character Recognition (OCR), the results of the extracted text were often buggy and unreliable. Amazon Textract is more than a classical OCR. It “uses ML to read and process any type of document, accurately extracting text, handwriting, tables, and other data with no manual effort.” You don’t need any Machine Learning expertise to use this service. All the machine learning and deep-learning processes are running behind the scenes.

Amazon Textract offers four different APIs. Depending on your use case, you have the choice between:

  1. Analyze ID API: Using Machine Learning to analyze the type of documents such as U.S. passports or driver's licenses.
  2. Analyze Expense API: Extracts data from invoices and receipts like invoice ID, invoice number, and many more.
  3. Analyze Document API: Extracts data from forms or tables. This API offers the possibility to specify queries to extract the information the service should look for.
  4. Detect Document Text API: Detect and analyze text or handwriting in various documents like medical or financial reports, tax forms, and many more.

The pricing of the service depends on the number of pages you want to analyze and the API you are using. The Free Tier allows you to evaluate this service for free and analyze up to 100 and 1000 pages per month, depending on the API you use.

#4: Amazon Translate

Build your own Babelfish with Amazon Translate

Using a neural machine translation Amazon Translate [7] is a service for language translation. You can build your own Babelfish translation app using it. The service takes a given input string and translates it into a target language. The list of supported languages is quite long and contains rare languages like Amharic, Dari, and Gujarati. To deliver a “more accurate and more natural sounding translation” Amazon Translate is using deep learning models. You can use Amazon Translate for batch translation if you have a large amount of pre-existing text to translate, or you can use real-time translation if needed within your app or on your webpage. With the Free Tier, you get free 2 million characters per month; otherwise, you are charged for the number of characters sent to the service API. Using the Standard Translation, you pay $15 per million characters.

#3: Amazon Lookout for Equipment

Build your Industry 4.0 solution with Amazon Lookout for Equipment

Amazon Lookout for Equipment [8] automatically trains a Machine Learning model from your sensor data such as temperature, pressure, flow rate, or revolutions per minute (RPM). The service analyzes the data in real time and can identify any abnormal behavior and early warning signs that could lead to machine failure. The service helps you avoid expensive unplanned downtime by informing you before your machines fail.

You start using the service by creating a dataset from your historical data. After formatting and choosing the relevant data for the asset you want to be analyzed, you then mark periods of failures (if any). The last step before you deploy the created ML model onto your real-time data is automatic. Amazon Lookout for Equipment trains the ML model for you. Once the service has learned the healthy state of your equipment, the service will detect any signs in the given real-time data, which could lead to an outage, and gives you a warning in advance.

Using this service, you are charged for the data you ingest. The time used for model training and the time for inference. Using the Free Tier, you get data ingestion of 50 GB, 250 training hours, and 168 inference hours of scheduled inference for free.

Photo by Vaclav on Unsplash — Big brother is watching your machine park using Machine Learning and will inform you if any abnormal behavior occurs.

#2: Amazon CodeGuru

Get your own virtual coding buddy

If you are looking for an automatic programming buddy to improve your code quality, Amazon CodeGuru [9] might be for you. Currently, the service only supports Java and Python code stored in Github, Bitbucket, and AWS CodeCommit repositories. CodeGuru scans your code and gives recommendations regarding code quality, code performance, and following security best practices. If the machine-learning-based analysis finds some hard-coded secrets, it will highlight those findings. The service can be integrated into your development workflow so that every line of code you are changing is continuously monitored.

Pricing for the service depends on the number of lines of code the service needs to check and the number of repositories you have. The Free Tier lasts 90 days, and you get 100K lines of code checked for free.

#1: AWS Deep Learning AMIs

Accelerate building deep learning applications with pre-configured images

With AWS Deep Learning AMIs (Amazon Machine Image) [10], AWS provides pre-configured images for the most popular deep learning framework such as TensorFlow, PyTorch, Apache MXnet, Keras, and many more. You do not have to install and configure any of these frameworks yourself; you just choose an AWS Deep Learning AMI and apply it to an EC2 instance type. If your EC2 instance is up and running, you can access your Jupyter Notebook, and you are ready to go. Deep Learning AMIs are available in most regions, and you can choose instances spanning from CPU-only and going up to multi-GPU ones. AWS Deep Learning AMIs are free; you only pay for the AWS Resources to run and store your applications. AWS Deep Learning Containers [11] might be a good fit if you look for a dockerized solution.

Conclusion

AWS is a giant construction kit containing over 200 cloud services in all sorts of different areas. It allows you to build highly scalable and reliable cloud solutions. The scope of services regarding Machine learning is constantly growing. For several ML-based services, you do not need any ML expertise at all. Others allow you to build, train and run your machine learning models. To get started in the area of Machine learning, AWS offers a lot of free hands-on tutorials and documentation. A fun way to dive into machine learning could be AWS DeepRacer [12]. You can compete with other developers worldwide in running 1/18th scale race cars on a virtual circuit or in a natural environment. In a cloud-based 3D racing simulator, you can scale your knowledge in reinforcement learning [13] and compete for your skills in a worldwide racing league.

Image credit by Amazon Web Services — Ramp up your knowledge in reinforcement learning using AWS DeepRacer.

--

--

Frank Haubenschild

Dad, Software Engineer, Photographer, Reef- & Bee-Keeper, Founder, Drone Pilot — 🤓 💻 📷 🐝 🐠 💡👨‍✈️