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 |
---|