3. 세 가지 유형의 데이터-기반 개발
과거
(Retrospective)
분석 및 보고
현재 (Here-and-now)
실시간 처리
및 대시 보드
미래 예측
(Predictions)
스마트한
애플리케이션 구축
Amazon Kinesis
Amazon EC2
AWS Lambda
Amazon Redshift,
Amazon RDS
Amazon S3
Amazon EMR
4. AI 그리고 스마트 애플리케이션
AI는 기존 데이터에서 자동으로
패턴을 찾고, 이를 이용해서 새로운
데이터 포인트에 대한 예측을 하는
기술
데이터 + AI (ML/DL) = 스마트 애플리케이션
5. 스마트 애플리케이션 사례
뉴스 기사에 알고 있는
것을 바탕으로:
흥미로운 다른 기사는
무엇이 있는가?
주문에 관련해 알고
있는 내용을 기반으로:
이것은 부정한
주문입니까?
사용자에 대해서 알고 있는
내용을 기반한 것:
그 사용자가 당신의 제품을
사용할 것인가?
6. 또 다른 사례들…
부정 행위 탐지 부정 거래 감지, 스팸 이메일 필터링, 의심스러운 리뷰
신고, …
개인화 콘텐츠 추천, 사용자 경험 개선, 예측된 컨텐츠 로딩, …
타겟 마케팅 고객 및 상품 매칭, 마케팅 캠페인 선택, 끼워 팔기(cross-
selling) 및 연쇄판매(up-selling), …
콘텐츠 분류 문서 분류, 채용 관리자와 이력서 매칭, …
고객 이탈 예측 서비스 사용을 중단할 가능성이 있는 고객 찾기, 무료
티어 업그레이드 타켓팅, …
고객 지원 고객 이메일 예측 라우팅, 소셜 미디어 청취, …
7. 스마트 애플리케이션 구축 – 카운터 패턴
안녕하세요 홍길동님,
여기 아주 멋진 쿼드콥터(Quadcopter)가 있습니다.
당신을 위해 단지 $49.99에 판매합니다!
8. 스마트 애플리케이션 구축 – 카운터 패턴
SELECT c.ID
FROM customers c
LEFT JOIN orders o
ON c.ID = o.customer
LEFT JOIN products p
ON p.ID = o.product
GROUP BY c.ID
HAVING o.category = ‘toys’
AND ((p.description LIKE ‘%copter%’
AND o.date > GETDATE() - )
OR (COUNT(*) > 2
AND SUM(o.price) > 150
AND o.date > GETDATE() – 40)
)
데이터에서 비즈니스
규칙을 학습하도록
ML/DL을 사용하세요!
9. AI(ML/DL)의 순환 주기
프런트 엔드 팀
데이터 엔지니어링 팀
분석 및 데이터 과학자 팀
DevOps 팀
비즈니스 문제점
데이터
ML/DL 모델
ML/DL 애플리케이션
10. AI(ML/DL)의 순환 주기
프런트 엔드 팀
데이터 엔지니어링 팀
분석 및 데이터 과학자 팀
DevOps 팀
비즈니스 문제점
데이터
ML/DL 모델
ML/DL 애플리케이션
AWS에서 힘든 부분 담당
21. Amazon Machine Learning
Amazon Rekognition Amazon Polly Amazon Lex
Amazon AI 빌딩 블록
일반 개발자
데이터 개발자
P2 인스턴스 딥 러닝 AMI 및 템플릿 MXNet에 투자
연구 및 고급 개발자
22. Amazon AI - 고급 개발 및 연구자를 위한 솔루션
확장성있는 딥 러닝
프레임워크, MXNet
딥 러닝
프레임워크
딥 러닝 프레임워크가 설치된
AMI (Amazon Machine
Image)
딥 러닝 AMI
Amazon EC2 인스턴스 (G2,
P2, C4, F1)
GPU 인스턴스
23. EC2 P2 인스턴스 - GPU기반 병렬 컴퓨팅
딥러닝 컴퓨팅에 최적화
• CUDA 및 OpenCL을 사용하는 범용 GPU
컴퓨팅 애플리케이션을 위해 설계
• 기계 학습, 고성능 데이터베이스, 전산 유체
역학, 컴퓨팅 금융, 내진 해석, 분자 모델링,
유전체학, 렌더링, 대용량 병렬 부동 소수점
처리
다양한 딥러닝 프레임웍 지원
• Mxnet 및 Tensorflow과 같은 인기 있는 딥
러닝 프레임워크와 함께 사전에 설치된
Deep Learning AMI를 사용 가능
• 이미 설치된 GPU 드라이버와 CUDA 도구
키트가 포함된 NVIDIA AMI를 사용 가능
24. 딥 러닝 AMI
딥러닝 이미지 제공
• 손쉬운 딥러닝 플랫폼 구축 가능
• 6개의 딥러닝 플레임워크 들이 설
치되어 있음
• MXNet, Caffe, Tensorflow,
Theano, Torch, CNTK
• Intel Math Kernel Library(MKL)를
지원하는 MXNet
• NVIDIA 드라이버, CUDA, cuDNN
• Anaconda Science Platform for
Python2, Python3
http://bit.ly/deepami
25. • 유연한 프로그래밍 모델
(imperative 및 symbolic 지원)
• 7개 이상 언어에 대한 바인딩
지원 (예, Python, C++, Scala
등)
• 다양한 CPU/GPU 서버 및 저
전력 모바일 디바이스에 포팅
이 가능함
• 클라우드 환경에서 고성능 및
확장성을 보여줌
MXNet – 오픈 소스 딥 러닝 프레임워크
26. • Awesome MXNet - http://github.com/dmlc/mxnet/tree/master/example
• Language binding 예제
• Deep Learning 예제 (이미지 분석, 자연어 분석, 사진 변환 등)
• IPython Notebook
• 모바일 앱 예제
• 예측 웹 서비스
• 다양한 튜터리얼들
• MXNet과 함께 사용할 수 있는 툴들
• MXNet Model Zoo - http://mxnet.io/model_zoo/index.html
• 바로 사용할 수 있는 모델과 python 스크립트, 사전-학습에 사용된 가중치값
• 모델을 튜닝하는 방법
MXNet – 확장성 있는 딥 러닝 프레임워크
27. • Amazon CloudFormation은 심층
신경망 학습 같이 중요한 컴퓨팅 작
업을 위해 다수의 EC2 인스턴스를
쉽게 확장할 수 있는 템플릿 역할
• Deep Learning AMI를 사용하여 P2
또는 G2 인스턴스로 구성된 스케일
아웃 방식의 탄력적 클러스터를 스
핀업
분산 딥 러닝 환경 구성 CloudFormation
28. Amazon ML – 데이터 개발자를 위한 서비스
Amazon Machine Learning은 모든 개발자가 머신
러닝 서비스를 간편하게 사용하도록 도와주는
서비스
29. Amazon ML 특징: 손쉬운 접근성
관리 콘솔에서 직접 ML 모델링
• 데이터 소스 지정 및 생성
• ML 모델 생성, 모델 품질 측정, 튜닝
• 배포 및 관리
API, SDK를 이용하여 쉽게 활용
• Java, Python, .NET, JavaScript, Ruby,
Javascript
• AWS Mobile SDK를 통해 Android, iOS
앱에서도 쉽게 사용 가능
30. Amazon ML 특징: 신뢰성 및 확장성
신뢰 높은 시스템 (Dog fooding)
• 아마존 내부 데이터사이언티스트 사용 시스템
• 신뢰성 높은 알고리즘 제공
알고리즘외의 편리한 기능
• 간단한 데이터 타입 변환, 스키마 생성
• 원본 데이터와 모델에 대한 품질 평가
확장성 높은 종량 과금 모델
• 100GB 데이터 모델링 가능
• 배치를 통한 예측 지원
• 실시간 예측 지원
31. 모델 훈련 평가 및 최적화 예측 검색
1 2 3
- 데이터 소스로 부터
DataSource 생성
- 데이터 내용과
스키마 확인
- 모델링 진행
- 생성된 모델의
품질 확인
- 모델에 해석
상세 조절
- 배치를 통한
예측
- 실시간 예측
Amazon ML 활용 방법
32. Amazon ML 예제
다양한 프로그램 언어 코드 예제
• Java
• Python
• Scala
모바일 플랫폼을 위한 예측 예제
• iOS
• Android
k-fold 교차-검증 예제
https://github.com/awslabs/machine-learning-samples
33. Amazon AI – 일반 개발자를 위한 서비스
Amazon Rekognition
딥러닝 기반 이미지
인식 및 분석 서비스
Amazon Polly
딥러닝 기반
음성 합성 서비스
Amazon Lex
딥러닝 기반 자동 음성
인식 및 자연어 처리
34. 대용량 이미지를 이용해 딥러닝 트레이닝을 통한 이미지 인식, 검색 서비스
객체 및 장면
탐지
안면 분석
얼굴 유사성
비교 분석
안면 인식
및 검색
Amazon Rekognition
유명 인사
인식
이미지 조정
35. 대용량 이미지를 통한 딥러닝 트레이닝을 통한 이미지 인식, 검색 서비스
Amazon Rekognition – JavaScript SDK 예
• detectFaces(params = {}, callback(err, data))
• detectLabels(params = {}, callback(err, data))
• recognizeCelebrities(params = {}, callback(err, data))
• compareFaces(params = {}, callback(err, data))
• indexFaces(params = {}, callback(err, data))
• searchFacesByImage(params = {}, callback(err, data))
• detectModerationLabels(params = {}, callback(err, data))
• 안면 분석
• 이미지 조정
• 얼굴 유사성 비교 분석
• 안면 인식 및 검색
• 유명 인사 인식
• 객체 및 장면 탐지
45. 소스 – Lambda function (객체 및 장면 인식)
const util = require('util');;
const AWS = require('aws-sdk');;
const rekognition = new AWS.Rekognition();;
rekognition.detectLabels(params).promise().then(function (data) {
callback(null, data.Labels);;
}).catch(function (err) {
callback(err);;
});;
46. Amazon Polly
딥 러닝 기술을 사용하여 실제 사람 목소리처럼 음성을 합성
• 다양한 음성 및 언어 지원 (24개 언어 47개 목소리)
• 빠른 실시간 음성 합성 속도로 라이브 서비스 가능 (Amazon Lex 지원)
• SSML을 통한 시맨틱 음성 기능 지원
• 개발자가 합성된 파일, 무제한 저장 및 재생 배포 가능
• 글자당 과금 및 저렴한 비용 (허클베리핀의 모험 영어본 2.5달러 수준)
맥락에 따른 자동 음성 합성
Amazon Polly
“The temperature
in WA is 75°F”
“The temperature
in Washington is 75
degrees Fahrenheit”
We live for the
music, live from the
Madison Square
Garden.
We live(리브) for the
music, live(라이브) from
the Madison Square
Garden.
47. Polly – 지원 언어
Americas:
• Brazilian Portuguese
• Canadian French
• English (US)
• Spanish (US)
A-PAC:
• Australian English
• Indian English
• Japanese
EMEA:
• Danish
• Dutch
• British English
• French
• German
• Icelandic
• Italian
• Norwegian
• Polish
• Portuguese
• Romanian
• Russian
• Spanish
• Swedish
• Turkish
• Welsh
• Welsh English
48. Polly
자연스러운 음성 서비스
사람이 읽는 것과 거의 동일한 수준의 서비스 제공
정확한 텍스트 프로세싱
약어, 숫자, 동형이의어등에 대해 일반적인 음성으로 변환해서 발음
Today in Las Vegas, NV it's 90°F.
We live for the music, live from the Madison Square Garden.
높은 지적 능력
복잡한 문장에 대해 적절한 음성 서비스 제공
”Peter Piper picked a peck of pickled peppers.”
49. 간단한 예제 – 신규 블로그 읽어 주기
RSS Feed Amazon Polly
Amazon
CloudWatch Events
Amazon S3AWS Lambda
1. 트리거
2. 검사
3. 컨텐츠
4. 텍스트 5. 오디오
6. 오디오
https://github.com/awslabs/amazon-polly-sample
50. 소스 – Lambda function (python)
from boto3 import Session, resource
from contextlib import closing
polly = Session().client(”polly)
try:
logging.info(Next entry, size: %d % len(entry['content']))
logging.debug(Content: %s % entry['content'])
response = polly.synthesize_speech(
Text=entry['content'],
OutputFormat=mp3,
VoiceId=Joanna)
with closing(response[AudioStream]) as stream:
bucket.put_object(Key=filename, Body=stream.read())
except BotoCoreError as error:
logging.error(error)
51. Amazon Lex
음성 및 텍스트를 사용해 대화형 인터페이스 서비스
• Lex 콘솔을 통해 빠르고 쉽게 채팅 봇 개발 가능
• 알렉사 음성 인식과 자연어 처리 등 딥러닝 기술 활용
• 완전 관리 클라우드 서비스 및 종량 요금 체계
진료 예약 Amazon Lex 봇 개발 사례
페이스북
메신저모바일
52. Utterances
Intent를 호출하는 음성 또는
텍스트 문장
BookHotel
Intents
사용자의 자연어 입력에 대한
동작을 수행함
Slots
Intent 수행에 필요한 입력 값
Fulfillment
요청한 Intent에 대한 수행
메카니즘
Amazon Lex 구성 요소
54. Book Hotel
“Book a Hotel in
NYC”
Hotel Booking
New York City
Natural Language
Understanding
Intent/Slot
Model
UtterancesHotel Booking
City New York City
CheckIn Nov 30th
CheckOut Dec 2nd
“Your hotel is booked for
Nov 30th”
Polly
Confirmation: “Your hotel
is booked for Nov 30th”
“Can I go ahead
with the booking?
a
in NYC
Automatic Speech
Recognition
Amazon Lex를 이용한 호텔 예약 시나리오
Lambda
55. Amazon Lex – 기술
Amazon Lex
Automatic Speech
Recognition (ASR)
Natural Language
Understanding (NLU)
Alexa를 구동하는 동일한 기술
Cognito CloudTrail CloudWatch
AWS 서비스
동작
AWS Lambda
인증 및
가시성
음성
API
언어
API
Fulfillment
최종
사용자
개발자
관리 콘솔
SDK
Intents,
Slots,
Prompts,
Utterances
입력:
음성 또는
문자
다중 플랫폼
클라이언트:
모바일, IoT, 웹, 챗
API
응답:
음성 (Polly를 통한 TTS)
또는 문자
58. Amazon Lex 활용
Informational Bots
외국인 관광객을 위한 Chatbot
Application Bots
외국인 전용 모바일 앱을 위한 인터페이스
• 뉴스 업데이트
• 기상 정보
• 택시 통역 ….
• 티켓 발급
• 관광 정보 제공
• 은행 계좌 관리….
Enterprise Productivity Bots
기업 업무 효율 향상을 위한 인터페이스
• 비용 관리
• 마케팅 관리
• 재고 관리….
Internet of Things (IoT) Bots
IoT 디바이스에 대화형 인터페이스 제공
• 웨어러블
• 자율 주행
• 가로등 제어….