20180308 AWS Black Belt Online Seminar Amazon SageMaker

71
2018.03.08 AWS Black Belt Online Seminar Amazon SageMaker

Transcript of 20180308 AWS Black Belt Online Seminar Amazon SageMaker

Page 1: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

2018.03.08

�AWS Black Belt Online Seminar�Amazon SageMaker

Page 2: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

•••⎼ Amazon Athena⎼ AWS Glue⎼ Amazon SageMaker

Page 3: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

• 2018 3 08(http://aws.amazon.com)

• AWSAWS

• AWS does not offer binding price quotes. AWS pricing is publicly available and is subject to change in accordance with the AWS Customer Agreement available at http://aws.amazon.com/agreement/. Any pricing information included in this document is provided only as an estimate of usage charges for AWS services based on certain information that you have provided. Monthly charges will be based on your actual use of AWS services, and may vary from the estimates provided.

Page 4: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

Agenda

SageMaker

SageMaker

Page 5: 20180308 AWS Black Belt Online Seminar Amazon SageMaker
Page 6: 20180308 AWS Black Belt Online Seminar Amazon SageMaker
Page 7: 20180308 AWS Black Belt Online Seminar Amazon SageMaker
Page 8: 20180308 AWS Black Belt Online Seminar Amazon SageMaker
Page 9: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

• 1 1

• 1

••

Page 10: 20180308 AWS Black Belt Online Seminar Amazon SageMaker
Page 11: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

SageMaker

Page 12: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

SageMaker

4

Page 13: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

SageMaker

Page 14: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

Jupyter Notebook ••

• 3 *

⎼ ml.t2.medium⎼ ml.m4.xlarge⎼ ml.p2.xlarge

Page 15: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

CreateTrainingJob API Docker

• 2

• m4, c4, c5, p2, p3

•S3

https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateTrainingJob.html

Page 16: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

CreateEndpoint API Docker

• AB

https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpointConfig.htmlhttps://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpoint.htmlhttps://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/API_UpdateEndpoint.htmlhttps://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/API_UpdateEndpointWeightsAndCapacities.html

Page 17: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

SageMaker

Page 18: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

SageMaker 2

AWS SDK••

SageMaker SDK•• AWS SDK SageMaker SDK AWS SDK

scikit-learn

• Python Spark

• Jupyter Notebook

https://github.com/aws/sagemaker-python-sdkhttps://github.com/aws/sagemaker-spark

Page 19: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

create-endpointcreate-notebook-instancecreate-training-jobdelete-endpointdelete-notebook-instancedescribe-endpointdescribe-notebook-instance…

estimator = TensorFlow(…)estimator.set_hyperparameters(…)estimator.fit(…)predictor = estimator.deploy(…)Predictor.predict(…)

Page 20: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

SageMaker

1. SageMaker

2. Tensorflow/MXNet/Spark

3.

Page 21: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

SageMaker

1. SageMaker→

2. Tensorflow/MXNet/Spark →

3.→

Page 22: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

SageMaker

Page 23: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

••••••

••• ) 2 (• 2• 2

New!

New!

https://docs.aws.amazon.com/sagemaker/latest/dg/algos.html

Page 24: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

Image Classification

ResNet• ResNet CNN • ILSVRC 2015 1

• ImageNet

• use_pretrained_model1 0

https://github.com/awslabs/amazon-sagemaker-examples/blob/master/introduction_to_amazon_algorithms/imageclassification_caltech/Image-classification-transfer-learning.ipynbhttps://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/He_Deep_Residual_Learning_CVPR_2016_paper.pdf https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/image-classification.htmlhttps://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/IC-Hyperparameter.html

Page 25: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

SageMaker

S3

������������

�����

Page 26: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

estimator.fit()

SageMaker

S3

������������

������

��� ���

������

�����������

��� �����

����������

Page 27: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

estimator.deploy()

SageMaker

S3

������������

������

����������

������

�����������

��� ������

Page 28: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-algo-docker-registry-paths.html

Page 29: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

Tensorflow/MXNet/Spark

Page 30: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

Tensorflow

• model_fn• estimator_fn tensorflow.estimator• keras_model_fn tf.keras

• train_input_fn• eval_input_fn• serving_input_fn

• input_fn• output_fn

https://docs.aws.amazon.com/sagemaker/latest/dg/tf-training-inference-code-template.html

Page 31: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

MXNet

• train

• save

• model_fn:

• transform_fn: •

https://docs.aws.amazon.com/sagemaker/latest/dg/mxnet-training-inference-code-template.html

Page 32: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

*

S3

SageMaker

S3������������

��������� ��

Page 33: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

estimator.fit() . AWS

SageMaker

S3

������������

������

��� ���

��������� ��

�����������

������������� �

��� ������

Page 34: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

estimator.deploy()AWS

SageMaker

S3

������������

������

����������

������

�����������

��� ������

Page 35: 20180308 AWS Black Belt Online Seminar Amazon SageMaker
Page 36: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/API_CreateTrainingJob.htmlhttps://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/tf-example1-train.html

CreateTrainingJob

Hyperparameters

Page 37: 20180308 AWS Black Belt Online Seminar Amazon SageMaker
Page 38: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

ECR

push

SageMaker

S3������������

���� �����������

Page 39: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

S3ECR

SageMaker

������������

M KDestimator.fit() KD . M

���� ����������� ������

MM

Page 40: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

S3ECR

SageMaker

������������

���������� ������

DM K estimator.deploy()

������� ���������

DM

Page 41: 20180308 AWS Black Belt Online Seminar Amazon SageMaker
Page 42: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

docker run IMAGE_ID train• train

• estimator.fit() docker run train

docker run IMAGE_ID serve• serve

• estimator.fit() serve

• predictor.predict() /invocations

https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-training-algo.htmlhttps://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-inference-code.html

Page 43: 20180308 AWS Black Belt Online Seminar Amazon SageMaker
Page 44: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

SageMaker

Page 45: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

SageMaker 3

1: • SageMaker

2: GPU • AWS

Page 46: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

AWS SDK SageMaker SDK

• SageMaker SDK Jupyter Notebook

• AWS SDK

Page 47: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

AWS SDK SageMaker SDK

• SageMaker SDK Jupyter Notebook

• AWS SDK

SageMaker SDK AWS SDK

Page 48: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

SageMaker API

CreateTrainingJob

CreateEndpointConfigUpdateEndpointUpdateEndpointWeightsAndCapacities

���������������

������������ �����

�����

�� ������

Page 49: 20180308 AWS Black Belt Online Seminar Amazon SageMaker
Page 50: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

EMR SageMaker

EMR

EMR VPC

EMR Livy

https://aws.amazon.com/jp/blogs/news/build-amazon-sagemaker-notebooks-backed-by-spark-in-amazon-emr/

Page 51: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

AWS SageMaker

Presigned URL API • CreatePresignedNotebookInstanceUrl

• AWS AWS

https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreatePresignedNotebookInstanceUrl.html

CreatePresignedNotebookInstanceUrl

CreateNotebookInstance

Presigned Instance URL Returned

Presigned Instance URL

Notebook Instance RequestInstance Created

Page 52: 20180308 AWS Black Belt Online Seminar Amazon SageMaker
Page 53: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

SageMaker→ instance_count 2

Tensorflow/MXNet→ instance_count

→Docker SageMaker/opt/ml/input/config/resourceConfig.json

Page 54: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

CloudWatch Logs

CloudWatch Logs

Page 55: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

TensorflowAWS Tensorflow Docker

model_fn

source_dir

Tensorflow 1.4 1.5 Keras

https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/tf-examples.html

Page 56: 20180308 AWS Black Belt Online Seminar Amazon SageMaker
Page 57: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

=

2 • SageMakerVariantInvocationsPerInstance⎼ 1 1

https://docs.aws.amazon.com/sagemaker/latest/dg/endpoint-auto-scaling.html#endpoint-auto-scaling-add-policyhttps://docs.aws.amazon.com/ja_jp/autoscaling/application/userguide/application-auto-scaling-target-tracking.html

Page 58: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

Tensorflow

AWS Tensorflow Docker

����� Tensorflow Serving ���

input_fn, output_fn

https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/tf-examples.html

Page 59: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

ONNX MMS

AWS MXNet Docker

SageMaker Model Server for Apache MXNet(MMS)

MXNet ONNX ONNX MXNet

SageMaker• Chainer

• PyTorch

• Caffe2

• Microsoft Cognitive Toolkit

Page 60: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

A/B

•••

https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/API_runtime_InvokeEndpoint.html

Page 61: 20180308 AWS Black Belt Online Seminar Amazon SageMaker
Page 62: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

KMS key ID SSE-KMS

• CreateTrainingJob

• CreateEndpointConfig

•••

Cloudtrail

PCI DSS https://aws.amazon.com/about-aws/whats-new/2018/01/aws-kms-based-encryption-is-now-available-in-amazon-sagemaker-training-and-hosting/https://aws.amazon.com/about-aws/whats-new/2018/01/aws-cloudtrail-integration-is-now-available-in-amazon-sagemaker/ https://aws.amazon.com/about-aws/whats-new/2018/01/amazon-sagemaker-achieves-pci-dss-compliance/

Page 63: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

ML • SageMaker

1

ML •• 0.14 USD/GB/

•• 0.016 USD/GB

https://aws.amazon.com/jp/sagemaker/pricing/

Page 64: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

3

SageMaker Example Notebooks• https://github.com/awslabs/amazon-sagemaker-examples

SageMaker SDK• https://github.com/aws/sagemaker-python-sdk

(Doc : https://readthedocs.org/projects/sagemaker/)

SageMaker• https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/whatis.html

Page 65: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

)�$�#� �2��������%�$*.�.����&�������3��(+��"!%� 20-�',�/1https://github.com/awslabs/amazon-sagemaker-examples/tree/master/introduction_to_amazon_algorithmshttps://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/algos.html

••••••

••• ) 2 (• 2• 2

New!New!

Page 66: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

Tensorflow• Tensorflow

• https://github.com/awslabs/amazon-sagemaker-examples/blob/master/sagemaker-python-sdk/tensorflow_abalone_age_predictor_using_keras/tensorflow_abalone_age_predictor_using_keras.ipynb

• Tensorflow Tensorboard• https://github.com/awslabs/amazon-sagemaker-examples/tree/master/sagemaker-python-

sdk/tensorflow_resnet_cifar10_with_tensorboard

• Tensorflow• https://github.com/awslabs/amazon-sagemaker-examples/blob/master/sagemaker-python-

sdk/tensorflow_distributed_mnist/tensorflow_distributed_mnist.ipynb

• Keras + Tensorflow• https://github.com/awslabs/amazon-sagemaker-examples/tree/master/sagemaker-python-

sdk/tensorflow_abalone_age_predictor_using_keras

• MXNet• https://github.com/awslabs/amazon-sagemaker-examples/tree/master/sagemaker-python-sdk

Page 67: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

• scikit-learn SageMaker�SageMaker ����������

• https://github.com/awslabs/amazon-sagemaker-examples/blob/master/advanced_functionality/scikit_bring_your_own/scikit_bring_your_own.ipynb

• SageMaker R • https://github.com/awslabs/amazon-sagemaker-

examples/blob/master/advanced_functionality/install_r_kernel/example_r_notebook.ipynb

• SageMaker• https://github.com/awslabs/amazon-sagemaker-

examples/blob/master/advanced_functionality/handling_kms_encrypted_data/handling_kms_encrypted_data.ipynb

• XGBoost SageMaker• https://github.com/awslabs/amazon-sagemaker-

examples/blob/master/advanced_functionality/xgboost_bring_your_own_model/xgboost_bring_your_own_model.ipynb

• Tensorflow Sagemaker• https://github.com/awslabs/amazon-sagemaker-

examples/blob/master/advanced_functionality/tensorflow_iris_byom/tensorflow_BYOM_iris.ipynb

• Redshift MXNet R • https://github.com/awslabs/amazon-sagemaker-examples/tree/master/advanced_functionality

Page 68: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

AWS• http://aws.amazon.com/jp/aws-jp-introduction/

• Q&A• http://aws.typepad.com/sajp/

Page 69: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

@awscloud_jp

http://on.fb.me/1vR8yWm

Twitter/FacebookAWS

Page 70: 20180308 AWS Black Belt Online Seminar Amazon SageMaker

AWSAWS

https://aws.amazon.com/jp/contact-us/aws-sales/

AWS

Page 71: 20180308 AWS Black Belt Online Seminar Amazon SageMaker