IT

[eks, fargate, sagemaker] 3. Machine Learning 파트 개요 및 설계 - Microservices구축시 EKS 와 Serverless 비교 및 Machine Learning Service 확장 프로젝트 본문

프로젝트/eks, fargate, sagemaker

[eks, fargate, sagemaker] 3. Machine Learning 파트 개요 및 설계 - Microservices구축시 EKS 와 Serverless 비교 및 Machine Learning Service 확장 프로젝트

abcee 2019. 4. 23. 01:42

3. Machine Learning 확장

3.1 시스템 개요

 

확장될 서비스는 설문조사 내용을 바탕으로 Machine Learning(이하 ML)을 통해 사용자가 선호 할 만한 레스토랑을 추천하는 시스템이 필요하다.

3.2 시스템 설계

 

서비스 명세

서비스 명

서비스 내용

Recommend Service

- 저장된 설문조사 데이터를 ML을 이용하여 사용자에게 레스토랑을 추천

 

API 명세

ML 예측 API가 존재한다. API의 명세와 절명은 [부록]에서 확인할 수 있다.

 

시스템 구성도

확장될 ML 서비스의 전체적인 구성도는 [그림 3.2.1]과 같이 데이터 전처리기, ML 예측기, ML 학습기, storage로 구성되며 기계학습 모델을 만드는 부분([그림3.2.2])과 고객에게 적합한 레스토 랑을 예측하는 부분([그림3.2.3])으로 구분된다.

 

 

기계학습 모델을 만드는 부분은 데이터 전처리기, ML 학습기, storage로 구성된다. 데이터 전처리기는 설문조사 데이터를 ML에서 사용할 수 있게 전처리하는 역할, storage에 전처리 데이터를 저장하는 역할을 한다. ML 학습기는 전처리된 데이터를 학습하고 생성된 ML 모델을 storage에 저장하는 역할을 한다.

[그림 3.2-2]

 

레스토랑을 예측하는 부분은 ML 예측기, storage로 구성된다. ML 예측기는 storage에 저장된 ML 모델을 불러와 예측 시스템을 가동하고 외부 endpoint를 통해 예측 서비스를 제공하는 역할을 한다.

[그림 3.2-3]

 

기계 학습 흐름도

기계 학습은 [그림 3.2-4]와 같이 총 6단계로 진행된다.

1. 설문 데이터를 요청한다.

2. 데이터 전처리기를 통해 필요한 데이터만 추려내어 storage에 저장한다.

3. ML 학습기가 storage에 저장된 학습 데이터를 요청한다.

4. ML 학습기를 통해 데이터를 분석하고 최적의 알고리즘을 선택한다.

5. 선택된 알고리즘으로 학습된 ML 모델을 storage에 저장한다.

6. 저장된 ML 모델을 ML 예측기에 배포한다.

[그림 3.2-4]

 

서비스 흐름도

레스토랑 추천 서비스는 [그림 3.2-5]와 같이 총 3단계로 진행된다.

1. 고객이 WEB을 통해 설문을 작성한다.

2. WEB 서버는 ML 예측기가 제공하는 endpoint를 통해 레스토랑 평점 예측 API를 요청한다.

3. WEB 서버는 모든 레스토랑에 대해 예상 평점을 확인하고 가장 평점이 높은 레스토랑 5개를 고객의 WEB Page에 전달한다.

[그림 3.2-5]

 

3.3 인프라 설계

 

확장될 ML 서비스의 AWS구성도는 [그림 1]DynamoDB, Amazon SageMaker, S3로 구성된 다. DynamoDB에는 설문조사 데이터가 저장되며, Amazon SageMaker를 통해 데이터 전처리, ML 학습, ML 배포의 모든 기계학습 부분을 처리한다. Amazon SageMaker에서 생성된 전처리 데이터 와 ML 학습 모델은 S3에 저장된다.

 

[그림 3.3-1]

 

 

Comments