김민성, Solutions Architect
인공지능 서비스활용 방안
본 강연에서 다룰 내용
• 인공 지능 이란?
• AWS 기반의 다양한 인공지능 서비스 활용 방안• Amazon ML
• 효과 적인 Deep Learning을 위한 구성 요소
• Amazon AI 서비스
Artificial Intelligence (AI)
커머스와 AI
실시간 제품추천
실시간 인센티브
자연어 이해
이미지 검색
제고 관리
챗봇
머천다이징
사이즈 및스타일
다 채널 마케팅
온/오프 매장분석
위치 기반마케팅
“2016년 기준 40개 이상의 Startup에 $4.9B 투자”
출처 : Beyond Chatbots: 40+ Commerce Startups Using AI To Style Shoppers, Adjust Pricing, Track Behavior, And More (CBINSIGHTS)
Artificial Intelligence (AI)
“인간과 인간이 서로상호작용 하는 것과 같은
자연스러운 방법으로컴퓨터가 주어진 업무를
처리하는 것"
Artificial Intelligence (AI)
43,252,003,274,489,856,000
“사천삼백만경”
Artificial Intelligence (AI)
F2 U' R' L F2 R L' U'
Learning function
Artificial Intelligence (AI)
F2 U' R' L F2 R L' U'
Learning function
1%accuracy
R U r U R U2 r U2%accuracy
Artificial Intelligence (AI)
Learning function
20%accuracy
40%accuracy
60%accuracy
80%accuracy
95%accuracy
2%accuracy
R U r U R U2 r U
Artificial Intelligence (AI)
Learning function
95%accuracy
?
F2 R F R′ B′ D F D′ B D F
Artificial Intelligence (AI)
0.9초 만에 큐브 맞추기 성공
학습이 필요합니다.
제품의 구매…
인식 조사 구매
“현실에는 투자한 만큼 결과를 얻는 일이 많습니다.”
“y=ax + b”
아마존 머신 러닝
쉽게 접근 및 사용할 수 있는 Console로 직접 ML 모델링• 데이터 소스 지정 및 생성
• ML 모델 생성, 모델 품질 측정, 튜닝
• 배포 및 관리
다양한 부가 기능• 간단한 데이터 타입 변환, 스키마 생성
• 원본 데이터와 모델에 대한 품질 평가
S3에 저장된 데이터를 직접 접근하여 활용하며, Amazon Redshift에 저장된 데이터를 편리하게 가져와 모델링 가능
학습 평가 및 최적화 예측
1 2 3
아마존 머신 러닝 활용
학습
평가 및 최적화
배치(Batch)방식 예측
비동기적으로 대량의 예측 결과 필요 시 사용
Console, API를 통해 요청 가능
많은 양의 데이터를 한 번에 처리하여 결과를 S3에 저장
>>> import boto
>>> ml = boto.connect_machinelearning()
>>> model = ml.create_batch_prediction(
batch_prediction_id = 'my_batch_prediction’
batch_prediction_data_source_id = ’my_datasource’
ml_model_id = ’my_model',
output_uri = 's3://examplebucket/output/’)
실시간(Real-time) 예측
동기적으로 빠르게 예측 결과를 바로 사용 가능
API, SDK를 통해 요청
각각의 데이터를 실시간으로 서비스에서 요청하여 사용
>>> import boto
>>> ml = boto.connect_machinelearning()
>>> ml.predict(
ml_model_id=’my_model',
predict_endpoint=’example_endpoint’,
record={’key1':’value1’, ’key2':’value2’})
{
'Prediction': {
'predictedValue': 13.284348,
'details': {
'Algorithm': 'SGD',
'PredictiveModelType': 'REGRESSION’
}
}
}
하지만 모든 문제가…
신경망
•체세포soma (CPU)하나 이상의 신호(signal)를 조합
•수상돌기dendrite (input bus)다른 뉴런으로부터 입력을 조합
•시냅스synapse (interface)뉴런 간의 파라미터를 저장하는 인터페이스역할
•축색돌기axon (cable)엑티베이션(activation)신호를 다른 뉴런에 전달
인공 신경망의 구현
주요 프레임웍
딥러닝의 어려움
기술의 구축 및스케일 관리의
어려움
모델의 생성 및 운영에시간이 매우 많이
소요되고 비용 소모가심함
GPU EC2 인스턴스 – P2
• NVIDIA K80 GPUs, 인스턴스당 최대 16 GPU
• GPUDirect 지원
• Intel Broadwell processors ( ~64 vCPUs , ~768GiB RAM)
• ~25Gbps 네트워크 지원 (ENA – Elastic Network Adapter)
• 다양한 오픈소스 프레임워크 및 ISV 소프트웨어 지원
인스턴스이름
GPU수량
vCPU 수량
Memory병렬프로세싱코어수량
GPU Memory
Network 성능
p2.xlarge 1 4 61 GiB 2,496 12 GiB High
p2.8xlarge 8 32 488 GiB 19,968 96 GiB 10 Gigabit
p2.16xlarge 16 64 732 GiB 39,936 192 GiB 25 Gigabit
GPU 타입 인스턴스의 학습 시간
• 인스턴스 타입별 epoch 1000번의 학습 시간
Instance p2.xlarge g3.4xlarge m4.xlarge
Epoch 1000 490.41 469.99 7451.94
0 2000 4000 6000 8000
Time (sec)
p2.xlarge g3.4xlarge m4.xlarge
출처 : 원티드랩 TensorFlow 성능 실험 결과
Intel® MKL 2017 최적화
• Intel® Xeon® CPU를 이용하는 EC2 인스턴스에 최적화되어 있음
• 일반적인 딥러닝 연산에 최적화되어 있음
• GEMM(1) (RNN 및 Fully Connected 레이어에 유용함)
• 컨볼루션
• 풀링
• ReLu
• Batch normalization
(1) GEMM: general matrix-matrix multiplication
C4 인스턴스를 이용한 딥러닝 예측
6.1 2.4 1.2 0.8
679.4
262.5
79.7 73.90
200
400
600
800
AlexNet GoogLeNet v1 ResNet-50 Inception v3
Ima
ge
s/S
ec
c4.8xlarge MXNet Inference
No MKL MKL
No MKL MKL
C4 Instances
c4.8xlarge On-Demand:
• $1.675/hr
GoogleNet inference:
• batch size 32
• 262 ims/sec = 3.8 ms/im
• 1 백만 이미지 비용 $1.77
OS: Linux version 3.13.0-86-generic (buildd@lgw01-51) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #131-Ubuntu SMP Thu May 12 23:33:13 UTC 2016. MXNet Tip of tree: commit de41c736422d730e7cfad72dd6afc229ce08cf90, Tue Nov 1 11:43:04 2016 +0800. MKL 2017 Gold update 1
다양한 EC2 인스턴스 타입
간단한 VPS FPGA
P2M4 D2 X1 G2/3T2 R4 I3 C4/5Lightsail F1
Elastic GPUs On EC2
범용 GPU고밀도
저장소
대용량
메모리
그래픽집약메모리
집약
높은 I/O
연산집약버스팅
범용
딥러닝을 위한 EC2 인스턴스
간단한 VPS FPGA
P2M4 D2 X1 G2/3T2 R4 I3 C4/5Lightsail F1
Elastic GPUs On EC2
범용 GPU고밀도
저장소
대용량
메모리
그래픽집약메모리
집약
높은 I/O
연산집약버스팅
범용
다양한 가격 옵션 기반의 비용 최적화
온디멘드 예약 스팟
처리는 빨라졌지만…
구축은? 스케일 관리는?
AWS Deep Learning AMI
• Used Ubuntu 16.04 (ami-cd0f5cb6) as the base AMI with CUDA 8 support• Framework upgrades for Caffe1 (compiled with NCCL 2.0 support), PyTorch, Keras 2.0.• 8 Deep Learning Frameworks - contains the most popular Deep Learning Frameworks(MXNet, Caffe, Caffe2,
Tensorflow, Theano, Torch, PyTorch and CNTK)
• Framework upgrades for Caffe1 (compiled with NCCL 2.0 support), PyTorch, Keras 2.0.• Used Amazon Linux 2017.09 (ami-8c1be5f6) as the base AMI with CUDA 8 support• 8 Deep Learning Frameworks - contains the most popular Deep Learning Frameworks: MXNet, Caffe, Caffe2,
TensorFlow, Theano, PyTorch, Torch and CNTK
Alexa Voice Service 음성 분석
16 years = 140,160 hour
140,016 hours of speech
분산 딥러닝
80대 이상의 Amazon EC2 g2.2xlarge GPU 가상 서버를 통해
모델 훈련
Amazon S3 스토리지에 수천시간의 음성 훈련 데이터 보관
분산 딥러닝
• CloudFormation 템플릿으로 제공
• 5 AWS Region 지원(us-east-1, us-east-2, us-west2, eu-west-1, ap-southeast-2)
• 공유 스토리지를 위한 EFS
• GPU 및 CPU Type 지원
분산 딥러닝 환경 구축
다양한 EC2 인스턴스 선택 가능(CPU, GPU, FPGS)
클러스터의 Worker 노드 수량
분산 딥러닝 환경 구축
../../tools/launch.py-n $DEEPLEARNING_WORKERS_COUNT -H $DEEPLEARNING_WORKERS_PATHpython train_cifar10.py
--gpus $(seq -s , 0 1 $(($DEEPLEARNING_WORKER_GPU_COUNT - 1))) --network resnet--num-layers 50 --kv-store dist_device_sync--num-epoch 2
학습을 수행할Worker 노드수
각 Worker에서사용할 GPU 개수
분산 딥러닝 기반의 학습 성능
개선 그리고 개선
데이터/피드백을 기반으로
모델의 학습학습된 모델을
기반으로 예측
데이터
피드백
모델
S3와의 유연한 연동 (MXNet)
MXNet학습데이터
모델체크포인트
data_iter = mx.io.ImageRecordIter( path_imgrec="s3://bucket-name/training-data/caltech_train.rec", data_shape=(3, 227, 227), batch_size=4, resize=256)
딥러닝의 어려움
기술의 구축 및스케일 관리의
어려움
모델의 생성 및 운영에시간이 매우 많이
소요되고 비용 소모가심함
딥러닝의 어려움
기술의 구축 및스케일 관리의
어려움
모델의 생성 및 운영에시간이 매우 많이
소요되고 비용 소모가심함
AI/ML 전문가부족
Amazon AI 서비스
Amazon Rekognition딥러닝 기반 이미지인식 및 분석 서비스
Amazon Polly딥러닝 기반
음성 합성 서비스
Amazon Lex딥러닝 기반 자동 음성인식 및 자연어 처리
Amazon Rekognition
• Deep Learning 기반의 이미지 인식 서비스• 수만개의 이미지를 인식하고, 검색하고, 관리할 수 있음
이미지 모더레이션• 응용 프로그램의 요구사항이 맞게 명시/묵시적 내용 감지
(예: 선정성 감지 등)
안면 분석• 안면 위치를 식별하고 안면 속성(예: 미소 또는 개안 여부) 분석
(예: 사용자의 감성 추적 등)
안면 비교 • 이미지 상의 안면의 유사성 비교를 통한 동일인 여부 측정
안면 인식 • 대량의 이미지에서 유사한 안면 추출 및 인덱스 생성
객체 및 장면 탐지• 차량, 애완동물, 가구 등 수천 개의 객체 식별 및 신뢰도 점수 제공• 일몰 또는 해변과 같은 이미지내의 장면 인지• 이미지 라이브러리 검색, 필터링 및 큐레이팅
유명 인사 인식 • 이미지내의 유명 인사 인지
Amazon Polly
• 딥 러닝 기술을 사용하여 실제 사람 목소리처럼 음성을 합성
• 다양한 음성 및 언어 지원 (24개 언어 47개 목소리)
• 빠른 실시간 합성 속도로 라이브 서비스 가능 (Amazon Lex 지원)
• 개발자가 합성된 파일, 무제한 저장 및 재생 배포 가능
• 글자당 과금 및 저렴한 비용 (허클베리핀의 모험 영어본 2.5달러 수준)
• 맥락에 따른 자동 음성 합성
• SSML 지원 (음성 합성 어플리케이션에 대한 W3C 표준 XML markup)
Amazon Lex
음성인식 자연어이해
Alexa와같은 딥 러닝 기술기반 서비스
Amazon Lex – 설정 인터페이스
Amazon AI
플랫폼 Amazon ML ECSSpark & EMR Kinesis Batch
인프라스트럭처 GPU MobileCPU IoT
서비스 Lex (Language) Polly (Speech) Rekognition (Vision)
프래임웍 Apache MXNet
TorchCognitive
ToolkitKerasTheano
Caffe2 & Caffe
TensorFlow
AWS Deep Learning AMI
모든프레임웍을지원함과 동시에 고객이 업무에 가장적합한도구를가장적절한시점에사용할 수있게하는 것입니다.
아마존의 경험을 바탕으로…
아마존의 경험
로봇기반의풀필먼트센터
새로운카테고리의제품
아마존은시작과함께인공지능에대한지속적인노력을이어오고있습니다.
이를바탕으로한축척된지식과역량을고객과함께공유하고있습니다.
20171995
자연어처리(클라우드 기반의콜센터)
머신러닝기반의서플라이체인/제고 관리 아마존고추천엔진
그리고 AWS
PollyLex Rekognition
딥러닝프레임웍머신러닝플랫폼아마존 AI/ML 서비스
자유도 : customer-specific models
검증되고확장가능한AWS제품및서비스와연계
AWS Greengrass
AWSIoT
AWSLambda
Amazon EC2(P2 and G2 GPUs)
AmazonS3
AmazonDynamoDB
Amazon Redshift
Amazon EC2(CPUs)
Amazon EC2(ENA)
Amazon ML
Spark & EMR
Kinesis
Batch
ECS
본강연이 끝난 후..
AWS 인공지능 : https://aws.amazon.com/ko/amazon-ai/
AWS AI 블로그 : https://aws.amazon.com/blogs/ai/
분산딥러닝환경 : https://github.com/awslabs/deeplearning-cfn
Apache MXNet
https://aws.amazon.com/ko/mxnet/
https://mxnet.io
http://gluon.mxnet.io
https://github.com/sunilmallya/dl-twitch-series
Amazon Polly를이용한간단한 개인 TTS 개발
https://aws.amazon.com/ko/blogs/ai/build-your-own-text-to-speech-applications-with-amazon-polly/
Amazon Rekognition을 이용한 서버리스사진인식서비스
https://aws.amazon.com/ko/blogs/ai/use-amazon-rekognition-to-build-an-end-to-end-serverless-photo-recognition-system/
S3 Image 대량분석하기
https://aws.amazon.com/ko/blogs/ai/classify-a-large-number-of-images-with-amazon-rekognition-and-aws-batch/
감사합니다.
Top Related