AI on AWS: Business Applications for Artificial Intelligence
The business potential of artificial intelligence has been on the horizon for decades. But many businesses have found AI hard to implement, or to even start imagining. Thanks to some relatively recent breakthroughs, that potential is being realized now.
The term artificial intelligence has been around since 1956. Scientists quickly realized rather than teaching a computer every single skill needed to complete a single task, it was more efficient to teach computers a single task. This became known as the process we now refer to as machine-learning.
Deep-learning, or machine learning enhanced by a subset of neural networks modeled around the human brain, now enables AI to tackle everyday problems. The enormous potential deep-learning offers businesses, and the entire economy is evident with the pursuit to develop smarter, automated processes and products, from self-driving cars, voice-activated commands, smart and connected devices and more.
So if Artificial Intelligence is so great, then why isn’t every company using it already?
The answer is that in the past, it just hasn’t been feasible or accessible to use artificial intelligence in most businesses. For one, the road to implementing AI to achieve business goals requires an extensive workforce with deep knowledge, a complex integration, often with time and cost variables. AI is computationally intensive, and therefore often expensive. Buying and running the power necessary to run compute learning was unaffordable with uncertain timelines and results for most companies, until now.
Named a leader in Gartner's Cloud AI Developer services' Magic Quadrant, AWS is helping tens of thousands of customers accelerate their machine learning journey. Stratus10 has helped customers use AWS to leverage ML to achieve business goals in a range of environments, which we’ll examine as case studies throughout this article. AWS offers the broadest and deepest set of machine learning services and supporting cloud infrastructure, putting machine learning in the hands of every developer, data scientist and expert practitioner.
Getting Started: Intro to AWS AI Tools
Not only are cloud companies providing the computational power needed to advance AI algorithms, but they are also building AI products that the public can use and build on top of. One example includes Amazon’s Alexa which uses artificial intelligence algorithms to recognize and answer voice commands. Alexa has grown into a platform on which people can build applications, further expanding the general use of artificial intelligence.
AWS has also created a platform for developers to start playing with AI immediately; Amazon SageMaker is AWS’ fully managed machine learning service. Using SageMaker, teams can have access to quickly build and train machine learning models, deploying them into a production-ready hosted environment. The platform also contains common machine learning algorithms, optimal for efficiency of large datasets in distributed environments. It is built with flexible distributed training options to adjust to varying workflows, and supports bring-your-own-algorithms and frameworks. Deploy a model into a secure and scalable environment by launching it with a few clicks from SageMaker Studio or the SageMaker console.
Amazon Augmented AI (Amazon A2I) makes it easy to build the workflows that enable human review of ML predictions. Amazon A2I offers all developers the potential of human review, removing the arduous processes associated with building human review systems and/or the trouble of managing 50 human reviewers.
A few out of box human-review capabilities include the ability to review single docs, recognize and flag explicit images, review Machine learning and more.
AI: Business Applications
We’ve touched on a few of the ways companies can use artificial intelligence, like voice recognition, image recognition, and automated testing but how can companies use AI to achieve business critical goals?
Case Study: AI + Containerization
Peachjar is an online community and resources for school districts, community organizations and parents, and relied mostly on containers which were increasingly difficul to maintain as they onboarded customers. Their team sought Stratus10 to help Peachjar develop a strategy that was scalable and automated to maintain the underlying infrastructure of the container orchestration platform. Stratus10 assisted Peachjar in migrating their machine learning and data science workloads from a static, virtual machine based solution to an elastically scalable containerized solution orchestrated by EKS.
Stratus10 delivered a solution consisting of EKS, EFS, and Argo solutions deployed using Cloudformation. Stratus10 used multiple managed node groups to allow for the use of different instance sizes for the specialized jobs.
Amazon Elastic File System (EFS) was mounted to all nodes, providing access to data for all workloads and eliminating the need for tasks that were transferring the data between systems.
Argo, Spark, and TensorFlow made up primary components of the customer’s machine learning solutions. Stratus10 helped deploying and configuring containerized versions of each solution.
Use case: AI for App Modernization
YB is a CPA firm that had strict data requirements and wanted to stretch their technical resources. They sought Stratus10 to help design and implement a way to deploy highly-available and scalable Kubernetes clusters for their AI application with the ability to provision separate CloudFront distributions for each cluster. The solution included a high level of automation using CloudFormation templates, ECS, ECR, Lambda functions, CloudWatch events, and DynamoDB.
Results: Using the AI-leveraged solution, YB was able to quickly provision custom application clusters for each client across multiple AWS regions while making sure each cluster follows AWS best practices. In addition, the infrastructure for each cluster was managed as code (IaC) using CloudFormation and CodeCommit. Overall, implementing AI into their strategy helped extend their resources and ensure best practices are met with built-in scalability benefits.
Use case: AI/Machine Learning Migration
GravityAI helps enterprises to validate and purchase the best algorithms on the market. To enable AI performed on their platform, they required highly flexible and scalable infrastructure that they simply could not operate in an on-premise environment. Their complex networking, large spikes in compute needs, and security requirements would’ve required a massive on-premise solution that would not be cost effective.
GravityAI was building every customer environment by hand through the AWS Console. Every customer needs a new VPC, an ECS Cluster, multiple ECR Repositories, Cloudfront distributions, and more. With the manual environment creation, it was difficult to create consistent environments for customers and employees well. This increased the overhead of administering these environments, because every environment was slightly different.
GravityAI’s solution required highly flexible and scalable infrastructure that they simply could not operate in an on-premise environment. By leveraging AWS ECS, VPC, CloudFront, and RDS, GravityAI is able to deliver best in class Machine Learning solutions that are optimized for the cloud. This helps to produce segregated environments for each customer, enabling flexibility to run highly sensitive data without having to compromise security.
In addition to automating the creation of the environment, Stratus10 was able to assist GravityAI in containerizing the portion of their application that produces the trained models from their customers’ data. Stratus10 leveraged AWS Service Catalog to provide a simple interface with pre-built environments defined that GravityAI can deploy with the click of a button.
Results and Benefits:
GravityAI’s Service Catalog solution built around Cloudformation Templates has significantly reduced the time it takes to onboard new customers. They went from multiple days to create a customer environment to lessgrea than 20 minutes for the entire environment to come up. The consistency greatly simplified the administration of each of the customer environments that GravityAI has to maintain, and has ensured consistent performance and functionality are delivered to each customer.
By containerizing all of the components in the GravityAI solution, Stratus10 has helped them optimize the cost of running their customers’ environments and simplified the solution that GravityAI has to administer.
Summary: AI Services on AWS
The cloud has been of great importance to the advancement of artificial intelligence methodologies and algorithms. It has provided the scalable computing power needed to process extremely large sets of data and has significantly reduced the learning time for machine learning algorithms. AWS and AI work hand in hand from image recognition to big data analytics to medical diagnostic. Artificial intelligence is the future of computing and the cloud is what is propelling it forward.