Onik Lab.

AWS에서 제공하는 머신러닝 서비스

October 25, 2019 | 10 Minute Read • 0 Comments

지난번에는 AWS의 Amazon Sagemaker에 대한 소개와 예제 코드 작성을 다룬 바 있었습니다. 하지만 AWS에서는 Sagemaker 외에도 다양한 서비스를 제공하고 있는데요. 어떤 서비스가 있는지를 한번 간단히 소개해보는 글을 써보도록 하겠습니다.

이 글에 관련된 이미지 등 모든 자료 출처: https://aws.amazon.com

현재(2019년 10월), AWS에서 제공하는 머신러닝 서비스는 다음과 같습니다.

AWS ML Services

일단 이들 서비스가 각각 어떤 것인지, 간단히 소개하도록 하겠습니다.

1. Amazon Sagemaker

Sagemaker는 이미 한 번 언급한 바 있었습니다만, 다시 한번 소개하자면 머신러닝(Machine Learning) 서비스에 대한 모델을 구축하고 이와 관련된 교육 및 API를 제공하는 서비스로 볼 수 있습니다.

Amazon Sagemaker

우리가 머신러닝이라는 것을 처음 접하거나 교육할때 주로 무엇을 해보려고 하죠?

1) 어떤 알고리즘이 있고 어떻게 구현되는지를 알고자 한다.
2) 학습(Training) 데이터와 검증(Validation) 데이터로 모델(Model)을 생성한 후, 테스트(Test) 데이터로 추론 및 예측을 해 본다.
3) 우리가 구현한 알고리즘의 유효성을 확인한다.
4) 유효성을 확인하여 모델을 학습시킨 후, 최적의 모델로 만든다.

이것이 머신러닝을 배울 때 기본적으로 다루는 내용입니다. 이러한 부분을 Python이나 R 언어로 구현했을 떄 어떤 형태로 나타날 것인가. 이런 종합적인 것을 Jupyter Notebook 기반으로 구현하는 서비스로 볼 수 있습니다.

Amazon Sagemaker 서비스는 AWS에서 현재 서비스 중인 거의 모든 리전(중동 제외)에서 이용 가능한 서비스이며, 당연히 서울 리전(ap-northeast-2)에서도 사용 가능합니다.

2. Amazon Comprehend

Amazon Comprehend는 텍스트 안의 관계를 찾아내는 자연어 처리(NLP, Natural Language Processing)를 제공하는 서비스입니다.

Amazon Comprehend

Comprehend가 Sagemaker와 다른 점은 다음과 같습니다. Sagemaker의 경우에는 고객이 원하는 머신러닝 모델을 직접 만들고 모델을 구축하고 직접 학습하는 서비스라면, Comprehend는 별도의 모델이나 학습 등의 절차가 필요없이, 그저 텍스트를 입력하면 거기에서 관계를 찾아내서 직접 자연어 처리를 하여 제공하는 서비스로 볼 수 있습니다. 이어서 나오는 AWS의 다른 머신러닝 서비스도 전부 다 Comprehend와 마찬가지의 개념으로 보시면 됩니다.

AWS에서 제공하는 Sagemaker를 제외한 모든 머신러닝 서비스는 여러 가지 형태로 이미 완성된 서비스를 고객이 이용할 수 있는 형태로 제공하는 서비스로 볼 수 있으며, 그 안에서 좀 더 세부적인(Detail) 부분만 고객이 직접 조정하거나 하는 형태입니다. 하지만 그런 부분이 없다면 고객 입장에서는 데이터만 제공하고 결과만 받아낸다로 볼 수 있겠죠. 그렇기 때문에 Sagemaker와는 달리, 이들 서비스는 모든 리전에서 서비스를 제공하지는 않고 특정 리전에서만 서비스를 제공하므로 이 점도 참고하시면 도움이 될 것입니다.

Comprehend를 사용할 수 있는 리전은 다음과 같습니다.

EU (런던), EU (아일랜드),아시아 태평양 (싱가포르), 아시아 태평양 (시드니), EU (프랑크푸르트), 미국 동부 (버지니아 북부), 미국 동부 (오하이오), 캐나다 (중부), 미국 서부 (오레곤)

3. AWS DeepLens

이름부터가 무슨 딥러닝을 위한 렌즈같은 서비스를 제공하냐고 생각할 수 있는데,

AWS DeepLens

넵. 맞습니다. 이름 그대로입니다.

Amazon에서 제공하는 DeepLens라는 비디오카메라를 활용하여 딥러닝 머신러닝 프로그래밍을 지원하는 서비스입니다.

DeepLens는 미국, 영국, 독일, 프랑스, 스페인, 이탈리아, 캐나다, 일본 등 8개 국가에서 구매할 수 있으며, DeepLens 서비스를 제공하는 리전은 아시아 태평양 (도쿄), EU (프랑크푸르트), 미국 동부 (버지니아 북부) 3개 리전만 지원합니다.

DeepLens Examples

Sagemaker로 머신러닝 서비스를 구축하는 것은 프로그래밍으로 보면 하드코딩에 해당하는 개념이겠죠. 그래서 여러 가지 다양한 기능을 커스터마이징해서 사용할 수도 있지만, 반대로 말하면 편리성을 제공하는 도구 없이 수동으로 프로그램을 개발해야 하는 부분도 고려해야 합니다. 하지만 DeepLens는 딥러닝용 비디오카메라를 이용하여 이와 연동된 프로그램을 쉽게 개발할 수 있는 장점이 있으며, 이를 기반으로 실무 등에도 활용이 가능할 것으로도 기대되는 서비스로 볼 수 있습니다.

4. Amazon Lex

Lex와 관련해서는 굳이 AWS가 아니더라도 다른 머신러닝 및 딥러닝 관련해서 이야기를 들어본 적은 있을 것입니다. 아마 들어본 적이 계셨다면, “챗봇”과 관련된 머신러닝 기술로 알고 계신 분들도 다수 계실 것입니다.

그렇습니다. Amazon Lex는 머신러닝 및 딥러닝 기술을 활용한 “챗봇” 서비스입니다.

Amazon Lex

Amazon Lex의 챗봇은 그저 단순히 자동 채팅만을 지원하는 것에 그치지 않습니다. 자동 음성 인식(ASR, Automatic Speech Recognition)과 자연어처리(NLP) 기능을 모두 지원하며, Amazon의 대표적인 AI 머신인 알렉사(Alexa)와 동일한 수준의 AI를 제공하는 서비스로 볼 수 있습니다. 즉 높은 수준의 챗봇이라고 보시면 되겠죠.

Amazon Lex를 제공하는 리전은 미국 동부 (버지니아 북부), EU (아일랜드), 미국 서부 (오레곤) 단 세 곳이니 참고 바랍니다.

5. Machine Learning

뭔가 이상하죠? 머신러닝 중에 머신러닝 서비스라니.

사실 AWS에서는 머신러닝과 관련된 서비스로 Machine Learning이라는 단일 서비스만 제공했었습니다. 하지만 Amazon의 인공지능 기술이 진화하면서 머신러닝과 관련해서 다양한 서비스를 제공하기 시작했고, 머신러닝을 직접 구축하기 위한 서비스는 Sagemaker에서 담당하기 때문에 이 서비스는 과거에 잠깐 제공했지만 현재는 더이상 이용하지 않는 서비스로 볼 수 있습니다. 요약하자면 Amazon Sagemaker의 전신으로 볼 수 있으며, 머지 않아 폐기되는 서비스입니다.

Machine Learning - Exhausted

실제로 들어가도 위와 같이 나오니 참고하시면 됩니다.

6. Amazon Polly

이건 좀 특이하지만 재미있는 서비스입니다.

텍스트를 음성으로 변환하는 음성 변환(TTS, Text to Speech) 서비스로, 여러 가지 다국어를 지원합니다. 다행히도 한국어도 지원합니다.

Amazon Polly

음성 제공을 위해서는 제공하는 사람, 즉 성우가 있어야겠죠 Amazon Polly에서 제공하는 성우 목록은 위와 같이 나타나 있으니 참고하시면 됩니다. 총 12개 언어를 지원하는데, 한국어도 포함되어 있으며, 제공되는 리전은 홍콩, 중동 리전을 제외한 모든 리전에서 서비스를 이용할 수 있습니다.

우리나라 서울 리전(ap-northeast-2)에서도 이용 가능하니 다른 서비스에 비해서는 상대적으로 이용이 쉬울 것으로 전망합니다.

7. Rekognition

영어로 recognition 이라는 단어는 많이 봤을텐데, Rekognition?

뭔가 단어를 변형하여 제공하는 서비스라는 느낌이 많이 드실겁니다. 일단 recognition의 사전적 뜻이 인지, 인식 이런 뜻이기 때문에 아마 그런 종류의 서비스가 아닐까 싶네요.

Rekognition

그렇습니다. AWS에서 말하는 Rekognition은 바로 수백만개의 딥러닝 이미지를 가지고 인식하여 시각 분석 데이터를 만드는 서비스입니다.

앞서 다루었던 Amazon DeepLens 서비스와 유사하다고 볼 수가 있는데, DeepLens는 비디오카메라로 촬영을 해서 만든 이미지를 가지고 분석해서 딥러닝을 하는 서비스라면, Rekognition은 이미 보유 중인 이미지를 가지고 분석 자료를 만드는 서비스입니다. 특히 수백만개의 이미지를 처리하기 떄문에 이미지 기반 빅데이터 처리를 위한 서비스로 볼 수 있으며, Amazon에서 제공하는 딥러닝 서비스 중에서는 가장 강력한 기능을 제공하는 서비스로 보셔도 됩니다.

그렇다면 어떤 분석자료를 만드냐. 당연히 다양한 유형의 자료를 만들겠죠. 하지만 그래도 대표적으로 만드는 분석 자료는 두 가지 정도로 볼 수 있습니다.

1) 사람 얼굴 인식
2) 수많은 컨텐츠 중 부적절한 컨텐츠 검출

1번은 설명하지 않아도 바로 이해할 수 있을 것이고, 2번은 쉽게 말하자면 유아용 컨텐츠에 성인용 자료가 하나 껴 있을 경우, 이를 찾아내는 그런 서비스로 볼 수 있습니다. 그 외에도 Rekognition에서 제공하는 이미지 분석 기술은 다양하니 참고하시면 되겠습니다.

Rekognition에서는 딥러닝 서비스를 위한 SDK를 제공하고 있으며, 대부분의 리전에서 사용이 가능합니다. 현재(2019년 10월)는 총 12개 리전에서 Rekognition을 이용할 수 있으며, 서울 리전 역시 포함되어 있습니다.

8. Amazon Transcribe

Amazon Transcribe는 위에 소개했던 Amazon Polly와는 반대되는 서비스라고 볼 수 있습니다. Polly가 텍스트를 음성으로 변환하는 시스템이면, Transcribe는 음성을 텍스트로 변환하는 시스템으로 보면 됩니다.

음성을 텍스트로 변환하는 기술은 위의 Lex에서 지원하는 기술 중 하나인 음성 인식 기술(ASR, Automatic Speech Recognition)을 사용하며, 오디오 파일을 텍스트 파일로 변환하는 기술로 볼 수 있습니다.

Amazon Transcribe

Transcribe이 제공되는 언어는 영어(영국, 미국), 프랑스어(프랑스, 캐나다), 스페인어 등 3개 언어를 지원하므로 아쉽게도 한글 지원은 되지는 않지만, 서비스를 제공하는 리전은 일본 리전 등 몇몇을 제외한 대부분의 리전에서 제공하며, 서울 리전에서도 서비스가 제공되니 영어, 프랑스어, 스페인어에 대한 텍스트 변환이 필요한 곳에서는 서비스를 이용할 수 있을 것으로 기대합니다.

9. Amazon Translate

Amazon Translate는 단어 그대로, 다국어 번역을 지원하는 서비스입니다.

Amazon Translate

사실 번역 서비스는 구글 번역기, 네이버 파파고 등을 포함하여 이미 다양한 번역 서비스가 있기 때문에 다른 머신러닝 서비스보다는 상대적으로 메리트가 떨어지는 서비스인 것은 맞습니다. 하지만 Amazon Trnaslate는 다른 번역기와는 다르게, 딥러닝 기반의 번역 서비스를 제공하여 번역 데이터를 학습하여 더욱 정확한 번역 기능을 제공한다는 것을 강조하는 서비스로 볼 수 있습니다.

Amazon Translate Example

Amazon Translate는 25개 언어에 대한 번역을 지원하며, 당연히 한국어 번역도 지원합니다. 한국어 번역을 지원한다는 점에서 대부분의 리전에서 서비스를 제공하며, 서울 리전도 서비스를 하고 있습니다.

10. Amazon Personalize

Personalize 하니까 뭔가 개인화 서비스라는 느낌을 받으신 분들이 계실 것입니다. 당연하게도 Amazon Personalize는 개인화된 서비스가 맞긴 한데, 여기서 개인화라는 것이 무엇인지 잠깐 짚어보겠습니다.

인터넷에서 홈쇼핑을 하게 되면 처음에 유아용품을 사고 검색을 하게 됩니다. 그리고 그것이 한번이 아니라 여러번 누적될 경우에는 저 고객이 유아용품쪽에 관심이 많구나라는 것을 알게 되고 관련된 상품 추천을 하게 되겠죠. 유튜브도 마찬가지입니다. 패션 뷰티와 관련된 동영상을 시청하는 고객에게는 패션쪽 동영상을 추천하고, 게임 관련 동영상을 시청하는 고객에게는 게임 동영상을 추천하겠죠.

개인화와 관련하여 가장 유명한 용어로는 ‘맥주와 기저귀’가 있습니다.

Beer and Diasper 사진출처: 사람과디지털연구소

사실 이 것에 대한 자세한 의미를 이 글에서 설명하지는 않겠지만, 기저귀를 많이 사는 사람이 맥주도 많이 산다라는 연관관계를 만들고 두 가지 상품을 모두 추천하는 경우도 종종 볼 수 있을 것입니다. 이처럼 Amazon Personalize는 개인에 대한 맞춤형 추천 서비스를 제공하는 것으로 볼 수 있습니다.

Amazon Personalize

Amazon Personalize를 제공하는 리전은 아쉽게도 현재는 6개 리전에 한정되어 있습니다.

EU (아일랜드), 아시아 태평양 (도쿄), 아시아 태평양 (싱가포르), 미국 동부 (버지니아 북부), 미국 동부 (오하이오), 미국 서부 (오레곤)

위와 같이 나타나고요. 서울 리전에서는 Personalize 서비스를 제공하지 않으니 참고하시면 되겠습니다.

11. Amazon Forecast

Amazon Forecast는 과거의 데이터를 바탕으로 해서 미래의 데이터를 예측하는 서비스입니다. 이러한 미래를 예측하는 기술은 주로 머신러닝에서 시계열 예측(Time Series) 기술을 사용하며, 과거의 데이터와 관련된 데이터를 입력하여 Forecast 서비스를 수행하면, 미래에는 어떠한 형태로 될 것이다라는 것을 예측해서 표시해주는 서비스입니다.

Amazon Forecast

Forecast 서비스는 제품 수요, 금융, 리소스 등 다방면의 예측에 활용되며, 예측 수행을 위해서는 원하는 형태의 데이터의 입력이 먼저 이루어져야 예측 데이터를 산출해낼 수 있습니다.

저 같은 경우는 Sagemaker 외에도 Forecast 서비스를 이용하여 예제 데이터를 가지고 예측 데이터를 뽑아내는 것을 시도한 바 있었습니다만, 아직까지는 사용이 어려운지라 제대로 된 결과를 얻어내지는 못했습니다만, 머신러닝 기술에 있어서 시계열 예측 기술이 중요한 만큼 향후에도 활용도는 꽤 높을 것으로 전망합니다.

Amazon Forecast를 서비스하는 리전은 역시 6개 리전만 제공됩니다.

미국 동부 (버지니아 북부), 미국 동부 (오하이오), 미국 서부 (오레곤), 아시아 태평양 (싱가포르), 아시아 태평양 (도쿄), EU (아일랜드)

서울 리전에서는 서비스를 이용할 수 없으니 참고 바랍니다.

12. Amazon Textract

Textract는 스캔한 문서에 대해서 자동으로 텍스트와 데이터를 추출하는 서비스입니다. 기존의 광학 인식 문자(OCR, Optical Character Recognition) 기술을 넘는 기술로, 역시 머신러닝 기술을 이용하여 학습하고 더욱 정확하게 텍스트와 데이터를 추출하는 서비스로 볼 수 있습니다.

Amazon Textract

아래는 Textract로 텍스트를 추출하는 샘플로, 왼쪽의 문서에서 오른쪽의 텍스트를 검출해내는 예제로, JPG, PNG, PDF 파일 형태의 문서에서 문자를 검출해냅니다.

Amazon Textract Example

Textract는 현재 미국 동부 (버지니아 북부), 미국 동부 (오하이오), EU (런던), EU (아일랜드), 미국 서부 (오레곤) 5개 리전에서만 서비스를 제공하고 있으며, 아쉽게도 한글에 대한 지원은 이루어지지 않으니 영문 문서에 대한 검출만 가능하다는 점 참고하시면 되겠습니다.

13. AWS DeepRacer

AWS DeepRacer는 미국 동부(버지니아 북부) 1개의 리전에서만 제공되는 서비스로, 자율주행 자동차에 대한 머신러닝 속도를 경주하는 하나의 리그(League)로 볼 수 있습니다.

Amazon DeepRacer

아마존에서도 자율주행차에 대한 연구를 현재 진행하고 있는데, 위와 같이 1/18 비율의 완전주행 경주용 자동차를 가지고 자율주행을 어떤 식으로 할 것인지 연구하고 있습니다. 앞서 소개한 Sagemaker에서 머신러닝을 위한 모델을 구축하고, 모델을 경주용 자동차에 적용하여 자율주행을 어떤 식으로 할 것인지를 설정하여 실제로 자동차를 운행합니다.

만약에 다수의 참가자가 각각 자율주행차에 대한 머신러닝 모델을 만들고 적용한다면, 참가자 별로 구축한 모델을 당연히 다를 것이고, 그 중에서 가장 모델을 잘 구축한 사람이 자율주행차를 더욱 잘 가동시킬 수 있겠죠? 그렇게 해서 자율주행차에 대한 레이싱 대회를 열고, 그 중에서 가장 완벽하게 운행한 사람에게는 상금이 주어지는지 여부까지는 사실 확인하지는 못했습니다.

Amazon DeepRacer Spec

하지만 DeepRacer 리그에 참가하여 자신만의 기술이 다른 참가자보다 더욱 앞선 기술을 가지고 있다면, 이러한 기술 하나하나가 포트폴리오가 될 수 있을 것이고, 자율주행차를 연구하는 수많은 기업으로부터 자신만의 기술을 어필할 수 있는 좋은 기회가 될 수 있을 것입니다.

현재 AWS에서 제공하는 머신러닝 서비스는 폐기된 서비스를 제외하고 12개의 서비스를 제공하고 있습니다. 앞서 언급했듯이 머신러닝 코드를 실제로 작성하는 Sagemaker 서비스를 비롯하여, 이미 머신러닝 및 딥러닝, 그리고 이와 관련된 다양한 기술을 접목한 11개의 서비스를 AWS에서는 제공하고 있으며, 각 서비스 별로 사용한 만큼 요금이 청구된다는 점에서 필요할 때 이를 사용하는 것이 필요하겠죠.

과연 AWS 머신러닝 기술의 발전은 어디까지 계속될까요. 이를 지켜보고 하나하나씩 사용하면서 머신러닝이 이러한 데에 활용되고 있구나라는 사실을 안다면 더욱 도움이 될 것입니다.

이상으로 AWS에서 제공하는 머신러닝 서비스에 대한 소개를 마치겠습니다.