Amazon SageMaker is a fully managed service that allows developers and data scientists to build, train, and deploy machine learning models.
Amazon SageMaker includes three modules: Build, Train, and Deploy. The Build module provides a hosted environment to work with your data, experiment with algorithms, and visualize your output. The Train module allows for one-click model training and tuning at high-scale and low cost. The Deploy module provides a managed environment for you to easily host and test models for inference securely and with low latency.
Build
Amazon SageMaker Ground Truth helps customers build highly accurate training datasets quickly using machine learning and reduce data labeling costs by up to 70%. Successful machine learning models are trained using data that has been labeled to teach the model how to make correct decisions. This process can often take months and large teams of people to complete. SageMaker Ground Truth provides an innovative solution to reduce cost and complexity, while also increasing the accuracy of data labeling by bringing together machine learning with a human labeling process called active learning.
Amazon SageMaker provides fully managed instances running Jupyter notebooks for training data exploration and preprocessing. These notebooks are pre-loaded with CUDA and cuDNN drivers for popular deep learning platforms, Anaconda packages, and libraries for TensorFlow, Apache MXNet, PyTorch, and Chainer.
Amazon SageMaker provides high-performance, scalable machine learning algorithms optimized for speed, scale, and accuracy. These algorithms can perform training on petabyte-scale datasets and provide up to 10x the performance of other implementations. You can choose from supervised algorithms where the correct answers are known during training and you can instruct the model where it made mistakes. Amazon SageMaker includes supervised algorithms such as XGBoost and linear/logistic regression or classification, to address recommendation and time series prediction problems. Amazon SageMaker also include support for unsupervised learning (i.e. the algorithms must discover the correct answers on their own), such as with k-means clustering and principal component analysis (PCA), to solve problems like identifying customer groupings based on purchasing behavior.
Amazon SageMaker automatically configures and optimizes TensorFlow, Apache MXNet, Chainer, PyTorch, Scikit-learn, and SparkML so you don’t have to do any setup to start using these frameworks, and we’ll add other major frameworks in the coming months. However, you can always bring any framework you like to Amazon SageMaker by building it into a Docker container that you store in the Amazon EC2 Container Registry.
Amazon SageMaker supports reinforcement learning in addition to traditional supervised and unsupervised learning. SageMaker now has built-in, fully-managed reinforcement learning algorithms, including some of the newest and best performing in the academic literature. SageMaker supports RL in multiple frameworks, including TensorFlow and MXNet, as well as newer frameworks designed from the ground up for reinforcement learning, such as Intel Coach, and Ray RL. Multiple 2D and 3D physics simulation environments are supported, including environments based on the open source OpenGym interface. Additionally, SageMaker RL will allow you to train using virtual 3D environments built in Amazon Sumerian and Amazon RoboMaker. To help you get started, SageMaker also provides a range of example notebooks and tutorials.
The open source Apache MXNet and Tensorflow Docker containers used in Amazon SageMaker are available on Github. You can download these containers to your local environment and use the Amazon SageMaker Python SDK to test your scripts before deploying to Amazon SageMaker training or hosting environments. When you’re ready go from local testing to production training and hosting, a change to a single line of code is all that's needed.
Train
When you’re ready to train in Amazon SageMaker, simply specify the location of your data in Amazon S3, and indicate the type and quantity of Amazon SageMaker ML instances you need, and get started with a single click in the console. Amazon SageMaker sets up a distributed compute cluster, performs the training, outputs the result to Amazon S3, and tears down the cluster when complete.
Amazon SageMaker can automatically tune your model by adjusting thousands of different combinations of algorithm parameters, to arrive at the most accurate predictions the model is capable of producing.
Amazon SageMaker Neo allows machine learning models to train once and run anywhere in the cloud and at the edge. Ordinarily, optimizing machine learning models to run on multiple platforms is extremely difficult because developers need to hand-tune models for the specific hardware and software configuration of each platform. Neo eliminates the time and effort required to do this by automatically optimizing TensorFlow, MXNet, PyTorch, ONNX, and XGBoost models for deployment on ARM, Intel, and Nvidia processors today, with support for Cadence, Qualcomm, and Xilinx hardware coming soon. You can access SageMaker Neo from the SageMaker console, and with just a few clicks, produce a model optimized for their cloud instance or edge device. Optimized models run up to two times faster and consume less than one-hundredth of the storage space of traditional models.
Amazon SageMaker Search lets you quickly find and evaluate the most relevant model training runs from potentially hundreds and thousands of your Amazon SageMaker model training jobs. SageMaker Search is currently available in beta through both AWS Management Console and AWS SDK APIs for Amazon SageMaker.
Deploy
You can one-click deploy your model onto auto-scaling Amazon ML instances across multiple availability zones for high redundancy. Just specify the type of instance, and the maximum and minimum number desired, and Amazon SageMaker takes care of the rest. It will launch the instances, deploy your model, and set up the secure HTTPS endpoint for your application. Your application simply needs to include an API call to this endpoint to achieve low latency / high throughput inference. This architecture allows you to integrate your new models into your application minutes because model changes no longer require application code changes.
Amazon SageMaker can also manage model A/B testing for you. You can configure the endpoint to spread traffic across as many as five different models and set the percentage of inference calls you want each one to handle. You can change all of this on the fly, giving you a lot of flexibility to run experiments and determine which model produces the most accurate results in the real world.
Amazon SageMaker manages your production compute infrastructure on your behalf to perform health checks, apply security patches, and conduct other routine maintenance, all with built-in Amazon CloudWatch monitoring and logging.
Batch Transform enables you to run predictions on large or small batch data. There is no need to break down the data set into multiple chunks or managing real-time endpoints. With a simple API, you can request predictions for a large number of data records and transform the data quickly and easily.
Amazon SageMaker enables you to deploy Inference Pipelines so you can pass raw input data and execute pre-processing, predictions, and post-processing on real-time and batch inference requests. Inference Pipelines can be comprised of any machine learning framework, built-in algorithm, or custom containers usable on Amazon SageMaker. You can build feature data processing and feature engineering pipelines with a suite of feature transformers available in the SparkML and Scikit-learn framework containers in Amazon SageMaker, and deploy these as part of the Inference Pipelines to reuse data processing code and easier management of machine learning processes.
Learn more about Amazon SageMaker pricing