본문 바로가기

Machine Learning/SageMaker

Amazon SageMaker 샘플 비교

Amazon SageMaker는 ML을 위한 AWS의 PaaS. (Forecast의 경우는 SaaS)


DB 지식이 있어야 RDS를 사용할 수 있듯, 적어도 SageMaker를 사용하기 위해서는 기본적으로 ML 지식이 있어야 하며, Tensorflow나 MXNet 등 프레임워크를 숙지하고 있어야 한다. 


즉 SageMaker는 ML 서비스를 위한 일련의 작업을 도와주는 도구로 손쉽게 Notebook을 구성하고, Model을 만들고 관리할 수 있으며, API Endpoint까지 사용할 수 있도록 도와주는 서비스다.


위 내용에 대한 자료는 구글링만해도 넘치기 때문에 해당 블로그나 영상을 참고하기 바란다. 


이번 글은 Tensorflow on VM vs SageMaker (학습, 모델, 배포) 비교 글이다. 나 역시 ML의 뉴비이므로 틀린 내용이 있을 수 있다.

ML의 Hello World 격인 Iris DNN 예제를 통해 Local에서 구현하는 것과 SageMaker를 통해 구현하는 것에 차이를 알아보자.


ML의 프로세스(Azure에서 발췌)


SageMaker는 데이터 전처리 후의 모든 워크로드에서 사용할 수 있음.

TensorFlow부터 다양한 ML 프레임워크를 지원함.

Hyperparameter 튜닝을 자동화할 수 있음.


먼저 SageMaker를 사용하기 위해서는 아래와 같이 래핑된 상위 API를 사용해야 한다. 

(SageMaker Method: https://sagemaker.readthedocs.io/en/latest/estimators.html)

(Iris 예제: https://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/tf-example1.html)




1. Training




2. Deploy, Predict





본인은 ML의 초글링 수준으로 틀린 부분이 있을 수도 있다. 🙏



어디선가 주어들은 ML 데이터셋 정보들

데이터는 보통 10,000(최소) ~ 100,000(적당 수치)

10,000 이하의 경우 Trainset, DevSet, TestSet은 60, 20, 20 권장

10,0000 이상의 데이터의 경우 90, 5, 5 등 데이터 수치에 따라 Train, Dev, Test 비율을 조정하는게 트렌드라고 함.

#Parameter

learning_rate = 0.001(보통)

trainig_epochs = 1000~2000(테스트), 5000(학습 후), 10,000~15,000(실무)

batch_size = 100

display_step = 1


#Network Parameters

n_hidden_1 = 266

n_hidden_2 = 256

n_input = 784

n_classes = 10

'Machine Learning > SageMaker' 카테고리의 다른 글

Amazon SageMaker & ML(sklearn)  (0) 2019.09.26