Skip to content

AI and Machine Learning with Kubeflow, Amazon EKS, and SageMaker

Notifications You must be signed in to change notification settings

nshlbnsl/workshop

 
 

Repository files navigation

Upcoming O'Reilly Book: Data Science on AWS

Register for early access directly on our website.

Request one of our talks for your conference or meetup.

Data Science on AWS

Workshop Description

In this workshop, we build a natural language processing (NLP) model to classify sample Twitter comments and customer-support emails using the state-of-the-art BERT model for language representation.

To build our BERT-based NLP model, we use the Amazon Customer Reviews Dataset which contains 150+ million customer reviews from Amazon.com for the 20 year period between 1995 and 2015. In particular, we train a classifier to predict the star_rating (1 is bad, 5 is good) from the review_body (free-form review text).

Workshop Cost

This workshop is FREE, but would otherwise cost <25 USD.

Workshop Cost

Workshop Agenda

Workshop Agenda

Workshop Instructions

0. Click on AWS Console

Please logout of your AWS Console in all browser tabs before you continue.

AWS Console

Take the defaults and click on Open AWS Console. This will open AWS Console in a new browser tab.

AWS Console

Double-check that your account name is something like IibsAdminAccess-DO-NOT-DELETE... as follows:

IAM Role

If not, please logout of your AWS Console in all browser tabs and re-run the steps above!

1. Select either us-east-1, us-west-2, or eu-west-1 as your region

2. Create TeamRole IAM Role

IAM

Roles

Create Role

Select Service

Select Policy

Add Tags

Review Name

3. Launch an Amazon SageMaker Notebook Instance

Open the AWS Management Console

Back to SageMaker

In the AWS Console search bar, type SageMaker and select Amazon SageMaker to open the service console.

Notebook Instances

Create Notebook Part 1

In the Notebook instance name text box, enter workshop.

Choose ml.t3.medium. We'll only be using this instance to launch jobs. The training job themselves will run either on a SageMaker managed cluster or an Amazon EKS cluster.

Volume size 250 - this is needed to explore datasets, build docker containers, and more. During training data is copied directly from Amazon S3 to the training cluster when using SageMaker. When using Amazon EKS, we'll setup a distributed file system that worker nodes will use to get access to training data.

Fill notebook instance

In the IAM role box, select the default TeamRole, leave the rest to its defaults, and then click Create notebook instance.

Fill notebook instance

On the Notebook instances section you should see the status change from Pending -> InService

While the notebook spins up, continue to work on the next section. We'll come back to the notebook when it's ready.

4. Update IAM Role Policy

Click on the notebook instance to see the instance details.

Notebook Instance Details

Click on the IAM role link and navigate to the IAM Management Console.

IAM Role

Click Attach Policies.

IAM Policy

Select IAMFullAccess and click on Attach Policy.

Note: Reminder that you should allow access only to the resources that you need.

Attach Admin Policy

Confirm the Policies

Confirm Policies

5. Start the Jupyter notebook

Note: Proceed when the status of the notebook instance changes from Pending to InService.

Back to SageMaker Notebooks

Start Jupyter

6. Launch a new Terminal within the Jupyter notebook

Click File > New > [...scroll down...] Terminal to launch a terminal in your Jupyter instance.

7. Clone this GitHub Repo in the Terminal

Within the Jupyter terminal, run the following:

cd ~/SageMaker && git clone https://github.com/data-science-on-aws/workshop

8. Navigate Back to Notebook View

9. Start the Workshop!

Navigate to 01_setup/ in your Jupyter notebook and start the workshop!

You may need to refresh your browser if you don't see the new workshop/ directory.

Start Workshop

About

AI and Machine Learning with Kubeflow, Amazon EKS, and SageMaker

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 83.0%
  • Python 12.2%
  • Scala 2.2%
  • Java 1.3%
  • HTML 0.6%
  • Shell 0.3%
  • Other 0.4%