/amazon-personalize-immersion-day

AWS Training for Recommendation Systems On June 30th, 2023

Primary LanguageJupyter NotebookApache License 2.0Apache-2.0

Amazon Personalize Immersion Day

Amazon Personalize is a machine learning service that allows you to build and scale recommendation/personalization models in a quick and effective manner. The content below is designed to help you build out your first models for your given use case and makes assumptions that your data may not yet be in an ideal format for Amazon Personalize to use.

This repository assumes a base familiarity with the service and if you have not already done so it is recommended that you use the getting-started material below.

Introduction to Amazon Personalize

If you are not familiar with Amazon Personalize, you can learn more about the service on these pages:

Goals

By the end of this Immersion Day, you should have picked up the following skills:

  1. How to map datasets to Amazon Personalize.
  2. Which models or recipes are appropriate for which use cases.
  3. How to build models in a programmatic fashion.
  4. How to interpret model metrics.
  5. How to deploy models in a programmatic fashion.
  6. How to obtain recommendations from Personalize.

Process:

  1. Deploying your working environment [see below]
  2. Data Layer - 01_Data_Layer.ipynb
  3. Training Layer - 02_Training_Layer.ipynb
  4. Inference Layer - 03_Inference_Layer.ipynb
  5. Operations Layer - 04_Operations_Layer.ipynb
  6. Clean Up - 05_Clean_Up.ipynb

Deploying Your Working Environment

As mentioned above, the first step is to deploy a CloudFormation template that will perform much of the initial setup work for you. In another browser window or tab, login to your AWS account. Once you have done that, open the link below in a new tab to start the process of deploying the items you need via CloudFormation.

Launch Stack

Follow along with the screenshots below if you have any questions about deploying the stack.

CloudFormation Wizard

Start by clicking Next at the bottom like this:

StackWizard

On this page you have a few options:

  1. Enter a Stack name to something relevant like AmazonPersonalizeImmersionDay.
  2. Change the SageMaker notebook instance name (optional).
  3. Alter the SageMaker notebook EBS volume size, default is 64GB.
  4. Select the industry domain you wish to use for the Immersion Day (Media, Retail, or CPG). Datasets and notebooks for the selected industry will be deployed in the SageMaker notebook instance.

When you are done click Next at the bottom.

StackWizard2

This page is a bit longer, so scroll to the bottom to click Next. All of the defaults should be sufficient to complete the POC, if you have custom requirements, alter as necessary.

StackWizard3

Again scroll to the bottom, check the box to enable the template to create new IAM resources and then click Create Stack.

StackWizard4

For a few minutes CloudFormation will be creating the resources described above on your behalf it will look like this while it is provisioning:

StackWizard5

Once it has completed you'll see green text like below indicating that the deployment has completed:

StackWizard5

Now that your environment has been created go to the service page for SageMaker by clicking Services in the top of the console and then searching for SageMaker and clicking the service.

StackWizard5

From the SageMaker console, scroll until you see the green box indicating now many notebooks you have in service and click that.

StackWizard5

On this page you will see a list of any SageMaker notebooks you have running, click the Open JupyterLab link on the Amazon Personalize Immersion Day notebook you have created.

StackWizard5

This will open the Jupyter environment for your Immersion Day; think of it as a web based data science IDE if you are not familiar with it.

Additional Instructions

For additional Instructions please visit our Amazon Personalize Immersion Day Workshop Website

Cleaning Up

Finished with the Immersion Day? If you want to delete all the resources created in your AWS account while following along with these notebooks, please see the 05_Clean_Up.ipynb notebook. It will help you identify all of the Personalize resources deployed in your account and shows you how to delete them.

Security

See CONTRIBUTING for more information.

License

This project is licensed under the Apache-2.0 License.