This article introduces Amazon Personalize and explains how it integrates with Peak.


Contents


What is Amazon Personalize?

Amazon Personalize is a machine learning service that makes it easier for developers to add individualized recommendations for customers who use their applications. The service has been developed using the vast experience that Amazon has in building personalization systems.


Common use cases for AWS Personalize include:

  • Personalized product recommendations
  • Similar items
  • Content recommendations 

AWS Personalize uses customer data to train custom recommendation models. Recommendation APIs can then be deployed and used within an application to request real-time recommendations based on the results from the recommendation models.

By integrating the capabilities of AWS Personalize with Peak, users can use the platform to quickly build recommendation solutions without having to deal with the complexity of infrastructure and machine learning that typically accompanies this type of work.


How Amazon Personalize Works with Peak

Peak manages the data and API endpoint service delivery part of the Personalize end-to-end workflow while the Amazon Personalize service handles model management and training.

Personalize can make recommendations from historical customer data stored in Redshift tables.

You can build and deploy an initial recommender based on historical data and retrain it periodically when sufficient live event data has accumulated. Alternatively, if you do not have any historical data to start with, you could ingest event data for a while and then build the recommender.

Once your model has been trained and deployed, the system will expose an API that can be consumed externally to fetch the real-time recommendations. This information is available under the Workflow info tab.


The Personalize workflow

Peak users can manage the whole process using Peak Workflows.

For a guide to setting-up a Personalize service using Peak, see Configuring an Amazon Personalize Workflow.


Input Data Steps

These are used to import data from Redshift and then map it to the required fields in the Interactions Dataset. Optionally, you can also map the Items Dataset and Users Dataset according to your use case.


Application Block Steps

These are used to select one of the four available recipes to train your recommendation model with the input dataset, and model training configurations. 

You can define exact model configurations as well as use Hyperparameter Optimization to allow Personalize to suggest the model parameters.


API Steps

These are used to deploy an API endpoint as part of your workflow so that the results from your models can be exposed to an end-user.

Endpoints can be deployed automatically according to conditional parameters that can be added during configuration or manually after user validation. 

Endpoints can also be automatically scaled according to the expected transactions against the service.