Build

Managed Notebooks for Authoring Models

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 and Apache MXNet.

In just one click, you can access a fully managed machine learning notebook environment using the popular Jupyter open source notebook format.

These notebook workspaces let you explore and visualize your data and document your findings in re-usable workflows using virtually all popular libraries, frameworks, and interfaces. From within the notebook, you can bring in your own data already stored in Amazon S3. You can also use AWS Glue to easily move data from Amazon RDS, Amazon DynamoDB, and Amazon Redshift into S3 for analysis. You can write or import your own notebook or use one of many pre-built notebooks that are pre-loaded into Amazon SageMaker. Pre-built notebooks are available for all of the built-in machine learning algorithms. In addition, notebook templates are available to help you get started with common ML applications and more advanced Amazon SageMaker functionality.

Templates for Common ML applications

Templates for advanced SageMaker functionality

Time-series forecasting

Bring your own TensorFlow and MXNet containers

Targeted direct marketing

Bring your own scikit or R algorithm or model

Predicting customer churn

Data sharding in distributed training

Built-in, High Performance Algorithms

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 makes the 10 most common machine learning algorithms automatically available to you. You simply specify your data source, and you can start running k-means clustering for data segmentation, factorization machines for recommendations, time-series forecasting, linear regression, or principal component analysis, right away.  

K-Means Clustering One of the simplest ML algorithms. It’s used to find groups within unlabeled data.

Principal Component Analysis (PCA)

Often used in data pre-processing, this algorithm takes a table or matrix of many features and reduces it to a smaller number of representative features.

Neural Topic Modelling (NTM) A neural network based approach for learning topics from text and image datasets.
Factorization Machines A model with the ability to the estimate all of the interactions between features even with a very small amount of data.
Gradient Boosted Trees (XGBoost) Short for “Extreme Gradient Boosting”, XGBoost is an optimized distributed gradient boosting library.

Latent Dirichlet Allocation (LDA)

A model that is well suited to automatically discovering the main topics present in a set of text files.

Image Classification (ResNet)

A popular neural network for developing image classification systems.
Seqence2Sequence A general-purpose encoder-decoder for text that is often used for machine translation, text summarization, etc.
Linear Learner (Classification) Linear classification uses an object’s characteristics to identify the appropriate group that it belongs to.
Linear Learner (Regression) Linear regression is used to predict the linear relationship between two variables.

These algorithms have been optimized so that their performance is up to 10x faster than what you’d achieve in traditional implementations. One of the ways we’ve done this is to implement these algorithms so that they don’t need to go back and look at data they’ve already seen. Traditionally, algorithms often pass back through your data set multiple times to reference earlier data. This is ok with small data sets, but the performance hit with large data sets can significantly slow down training. By engineering for a single pass, you’re able to efficiently and cost-effectively train on petabyte-scale data sets.

Broad Framework Support

Amazon SageMaker automatically configures and optimizes TensorFlow and Apache MXNet 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.

Train

One-click Training

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 EC2 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.

Training models is easy with Amazon SageMaker; just specify the location of your data in S3, and Amazon SageMaker will take your algorithm and run it on a training cluster isolated within its own software defined network, configured to your needs. Just choose the instance type – including P3 GPU instances, which are ideal for fast and efficient training - and Amazon SageMaker will create your cluster in an auto-scaling group; attach EBS volumes to each node; setup the data pipelines; and start training with your TensorFlow or MXNet script, Amazon’s own algorithms, or your algorithms provided by your own container. Once finished, it will output the results to S3 and automatically tear down the cluster.

To make it easy to conduct training at scale, we’ve optimized how training data streams from S3. Through the API, you can specify if you’d like all of the data to be sent to each node in the cluster, or if you’d like Amazon SageMaker to manage the distribution of data across the nodes depending on the needs of your algorithm.

Combined with the built-in algorithms, the scalability of training that’s possible with Amazon SageMaker can dramatically reduce the time and cost of training runs.

Automatic Model Tuning (Preview)

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.

When you’re tuning your model to be more accurate, you have two big levers to pull, modifying the data inputs you provide the model (for example, taking the log of a number), and adjusting the parameters of the algorithm. These are called hyper-parameters, and finding the right values can be tough. Typically, you’ll start with something random and iterate through adjustments as you begin to see what affect the changes have. It can be a long cycle depending on how many hyper-parameters your model has.

Amazon SageMaker simplifies this by offering automatic hyper-parameter optimization (HPO) as an option during training. You simply request HPO via the API when initiating training, and SageMaker will actually use machine learning to tune your machine learning model. It works by learning what affects different types of data have on a model and applying that knowledge across many copies of the model to quickly seek out the best possible outcome. As a developer or data scientist, this means you only really need to be concerned with the adjustments you want to make to the data you feed the model, which greatly reduces the number of things to worry about during training.

When initiating optimization you simply specify through the API whether it should end after a set time, or at a pre-set accuracy; Amazon SageMaker handles the rest.

Deploy

One-click Deployment

You can one-click deploy your model onto auto-scaling EC2 instances across multiple availability zones for high redundancy. Just specify the type of EC2 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 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.

Automatic A/B Testing

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.

Fully-managed Hosting with Auto-scaling

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

Learn more about Amazon SageMaker pricing

Visit the pricing page
Ready to get started?
Sign up
Have more questions?
Contact us
Page Content
Build Train Deploy