LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...
2017 Ad-Tech on AWS 세미나ㅣ국내외 애드테크 고객 사례 및 Machine Learning 소개
1. 국내외 애드테크 고객 사례 및 ML 소개
AWS의 다양한 서비스를
활용한 활용사례 활용하기와 ML
김필중, 솔루션즈 아키텍트
2. • 경제성
• 비용 효율적
• 서버리스 컴퓨팅의 선구자
• 컴퓨팅 용량 마켓 – EC2 스팟 마켓
• 혁신의 속도
• 고객과 함께 하는 혁신
• 넓은 서비스 범위 (Redshfit Spectrum, Athena, EMR/Spark, RDS)
• 글로벌 접근
• 고속 네트워크 백본
• 유럽 국가 지역, 중국 및 인도 지역
Ad-Tech 고객들이 AWS를 선택하는 이유
3. 광고 고객 - 스타트업
모바일 Ad 익스체인지 DSPBidder-as-a-Service
DSP
90k+ 퍼블리셔
450+ DSP 파트너
100억 일일 노출
1700억 일일 입찰
600M+ 월 고유
사용자
800+ EC2 스팟
1M+ QPS
Kinesis, EMR,
Redshift
2M+ QPS
Kinesis, EMR
3000+ 인스턴스
2PB의 데이터
13개의 리전
6. Real-time Bidding (RTB)
퍼블리셔
애드
익스체인지
Beeswax
Bidder
Scale: O(M) QPS
Latency_99 : 20 ms
- Target campaigns
- Target user profiles
- Optimize for ROI
- Customize
< 200 ms
단계 1:
광고 요청 및 user id 전송
단계 2:
Bid 요청
브로드캐스팅
단계 3:
Bid 및 광고 마크업
제출
단계 4:
광고 유저에게 노출
경매
7. The Bidder-as-a-Service
샌드박스에서 각 고객을 위해
배포된 전체 스택 솔루션
Services
you control
사전 구축된
에코시스템과
공급 관계
Cookies,
Mobile ID’s, 3rd
Party
Data
Bidding
and Targeting
Engine
Campaign
Management UI/API
Reporting
UI/API
Custom
bidding
algos
Log-level
streaming
RESTful APIs
고객 호스팅
서비스에 대한
직접 연결
AWS 위에서 동작하는 완전 관리형 애드테크 플랫폼
8. Event
Stream
Bid Data
Producer
Impression &
Click Data
Producer
Streaming
Message Hub
Customer
Stream
S3 Bucket Amazon
Redshift
Customer HTTPS
Endpoint
BEESWAX
Customer API
Beeswax 시스템 아키텍처
protobuf
~300 샤드, 250 MB/초
QPS > 1M
latency < 10s
loss = 0
9. Event
Stream
Bid Data
Producer
Impression &
Click Data
Producer
Streaming
Message Hub
Customer
Stream
S3 Bucket Amazon
Redshift
Customer HTTPS
Endpoint
BEESWAX
Customer API
Beeswax 시스템 아키텍처
• 애드 익스체인지로부터 초당
수백만개의 쿼리를 받고 처리
• 매우 대용량의 요청을 처리해야 함
10. Event
Stream
Bid Data
Producer
Impression &
Click Data
Producer
Streaming
Message Hub
Customer
Stream
S3 Bucket Amazon
Redshift
Customer HTTPS
Endpoint
BEESWAX
Customer API
Beeswax 시스템 아키텍처
• 애드 익스체인지로부터 비딩에서
이겼을 때의 알림 혹은 브라우저에서
유저가 광고를 클릭했을 때 등의 낮은
QPS 소스로부터의 이벤트를 받음
• 데이터를 잃지 않아야 함
11. Event
Stream
Bid Data
Producer
Impression &
Click Data
Producer
Streaming
Message Hub
Customer
Stream
S3 Bucket Amazon
Redshift
Customer HTTPS
Endpoint
BEESWAX
Customer API
Beeswax 시스템 아키텍처
이벤트 스트림 선택
1. 요구사항
• 1M QPS 이상의 처리할 수 있어야 함
• 낮은 지연의 전달이 가능하여야 함
• 데이터 저장소의 안정성이 중요함
• 이벤트를 순서대로 받을 수 있어야 함
2. 옵션
• Amazon Kinesis
• Apache Kafka on EC2
3. Amazon Kinesis 선택 이유
• 완전 관리형; 작은 엔지니어링 팀에게 매우 중요한 요소
• RTB에 필요한 규모를 지원
• 비용 최적화 가능성이 있는 비용 정책을 가지고 있음
12. Event
Stream
Bid Data
Producer
Impression &
Click Data
Producer
Streaming
Message Hub
Customer
Stream
S3 Bucket Amazon
Redshift
Customer HTTPS
Endpoint
BEESWAX
Customer API
Beeswax 시스템 아키텍처
• 스트림의 이벤트를 처리
• 고객에게 API를 오픈하여 직접
스트리밍 메시지 앱을 프로그램할 수
있게 함으로써, 수집, 변환, 전달을
커스터마이징할 수 있게 함
13. Event
Stream
Bid Data
Producer
Impression &
Click Data
Producer
Streaming
Message Hub
Customer
Stream
S3 Bucket Amazon
Redshift
Customer HTTPS
Endpoint
BEESWAX
Customer API
Beeswax 시스템 아키텍처
Kinesis Record
BidAdapters
WinAdapters
S3Emitter
...
HTTPEmitterClickAdapters
KinesisEmitter
...
15. 데이터 회사 에이비일팔공
간편하고 정확한 앱마케팅 분석툴
간편한 성과 측정 중복과금 방지 실시간 통계 부담없는 이용요금
로우데이터 추출
S3로 실시간 로우데이터를 추출하여
원하는데로 내부 KPI를 설정&기획 가능
실시간 분산처리 시스템
클라우드 기반의 확장 가능한
실시간 분산처리 시스템을 통해
수천만건의 트랜잭션 동시에 처리
https://www.airbridge.io/
실시간 전수 데이터
표본 데이터가 아닌 전수 데이터로
더욱 정확한 성과 측정이 가능
중복과금 방지
마지막 간접 클릭 모델을 통해
중복과금을 방지
WE’RE HIRING!
20. Tracker Task Queue Task Sender Worker Queue Worker
DCO Image
Bidder
DCO Data
Commerce
History
Cache
Worker: 상품 구성
DCO 시스템 아키텍처
Worker: DCO 이미지
Sender: 커머스 상품 조회
Bidder: DCO 정보 조회 (딥링크, Image URL)
21. • 아이템 크기는 작게 유지
• 메타데이터는 DynamoDB에, 큰 blobs 은 S3에 저장
• 매우 높은 규모를 위해 해시키와 함께 테이블을 사용
• time series 데이터 저장을 위해 일, 주, 월 등의 단위로 테이블을
사용
• 중복제거를 위해 조건 업데이트를 사용
• 모델을 위해 hash-range 테이블과 (또는) GSI를 사용
• 1:N, M:N 관계
• Hot keys 와 Hot partitions 을 피해야함
DynamoDB 모범 (Best Practices)
23. DataXu
• 페타바이트 규모의 디지털 마케팅
플랫폼
• Inc. 5000에서 가장 빠르게 성장하는
기업 중 하나
• 세계에서 가장 가치있는 브랜드가
소비자를 이해하고 소통하도록 도움
• ROI 극대화
• 초당 2M+ 개의 입찰 요청
• 한달에 수십억건의 노출, 페타바이트
데이터
• Round-trip 응답 시간: ~10ms
• 하루 180+ TB 로그
• 2 PB 데이터 분석
• 3000+ 서버들이 플랫폼에 사용됨
• 13개의 리전, 24x7
24. 어트리뷰션은 활동/판매에서 고객이 구매/활동 전에 노출된 마케팅
터치포인트에 대한 기여도를 측정하는 것
어트리뷰션
온라인 구매
노출 클릭노출
고객의 여정
EI 이벤트노출 A 액티비티
25. 일반화된 이벤트 체인
AI E I A
시간
• 수십억개의 이벤트와 활동이 시퀀스로 구성됨
• 이벤트는 활동에 이르는 경로를 구성하기 위해 시간과 사용자에 따라 상호
연관됨
EI Event
E
Impression A Activity
I E
26. DataXu – 매일 180TB 로그 데이터 (old ver.)
CDN
Real Time
Bidding
Retargeting
Platform
Kinesis Attribution & ML S3
Reporting
Data Visualization
Data
Pipeline
ETL(Spark SQL)
Ecosystem of tools and services
Amazon Athena
Machine Learning
(Spark)
ETL
(Spark SQL)
Attribution
(MR)
29. • 95% 이상의 광고 고객들은 ML 을 하고 있음
• 경쟁 우위로 여겨지는 ML 과 AI
• Amazon 은 “non-differentiated heavy lifting” 을 제공
(차별화 되는 것에 집중해라)
• 데이터 준비와 새로운 기능 개발이 작업의 80%를 차지
광고에서 관찰되는 ML
30. • 95% 이상의 광고 고객들은 ML 을 하고 있음
• 경쟁 우위로 여겨지는 ML 과 AI
• Amazon 은 “non-differentiated heavy lifting” 을 제공 (차별화 되는
것에 집중)
• 데이터 준비와 새로운 기능 개발이 작업의 80%를 차지
광고에서 관찰되는 ML
31. 애드테크 머신러닝의 어려움
• 데이터는 매우 밀도가 낮으며, 특정 시키기 어려움 (0.01% 또는 그
이하의 CTR과 CVR)
• 학습에 활용되기 전 데이터는 사전 작업이 필요
• non-human 트래픽의 높은 비율 (25%+)
• 직접 데이터를 필터링하거나 Whiteops, DV, Integral Ad
Science 와 같은 서드파티를 사용
• 광고 요청에 대한 입찰 결정은 신속해야함
• 비더에 예측 로직을 넣고 비더 이외에 학습 로직을 넣음
32. 하이레벨 ML 프로세스
트래픽 변환
불법 필터링,
신원 확인 강화
입찰자
캠페인 및
입찰가 평가
ML
다중 캠페인
최적화, 짐작
ML
낮은 지연 ML
잠재 고객 세그먼트화
닮은꼴 모델링, 속성, 등
기능 개발
모델 개발
오프라인 테스팅
배치 ML
기능
데이터 캐시
빅데이터
오프라인 ML
33. • 기술
• Scikit-learn
• Apache Spark Mllib / Spark ML
• R (glmnet)
• 알고리즘
• Linear 알고리즘이 가장 일반적 (logistic regression)
• Binary trees
• Gradient boosting (xgboot)
• FFM (Field-aware Factorization Machines)
인기있는 ML 기술과 알고리즘
36. 데이터 과학자에게 AWS
• 유연한 데이터 저장과 컴퓨팅과의 분리
• 광범위한 데이터 변환 도구 및 기술 선택
• 최첨단 오픈 소스 ML 프레임워크 및 라이브러리
• 실험을 쉽게 확장
37. • 유연한 프로그래밍 모델
(imperative 및 symbolic 지원)
• 7개 이상 언어에 대한 바인딩
지원 (예, Python, C++, Scala
등)
• 다양한 CPU/GPU 서버 및 저
전력 모바일 디바이스에 포딩
이 가능함
• 클라우드 환경에서 고성능 및
확장성을 보여줌
MXNet - OpenSource Deep Learning Framework
38. EC2 P2 인스턴스 - GPU기반 병렬 컴퓨팅
딥러닝 컴퓨팅에 최적화
• CUDA 및 OpenCL을 사용하는 범용 GPU
컴퓨팅 애플리케이션을 위해 설계
• 기계 학습, 고성능 데이터베이스, 전산 유체
역학, 컴퓨팅 금융, 내진 해석, 분자 모델링,
유전체학, 렌더링, 대용령 병렬 부동 소수점
처리
다양한 딥러닝 프레임웍 지원
• MXnet 및 Tensorflow과 같은 인기 있는 딥
러닝 프레임워크와 함께 사전에 설치된
Deep Learning AMI를 사용 가능
• 이미 설치된 GPU 드라이버와 CUDA 도구
키트가 포함된 NVIDIA AMI를 사용 가능
39. Amazon ML – 데이터 개발자를 위한 서비스
Amazon Machine Learning은 모든 개발자가 머신 러닝
서비스를 간편하게 사용하도록 도와주는 서비스
40. Amazon ML 특징: 손쉬운 접근성
관리 콘솔에서 직접 ML 모델링
• 데이터 소스 지정 및 생성
• ML 모델 생성, 모델 품질 측정, 튜닝
• 배포 및 관리
API, SDK를 이용하여 쉽게 활용
• Java, Python, .NET, JavaScript, Ruby,
Javascript
• AWS Mobile SDK를 통해 Android, iOS
앱에서도 쉽게 사용 가능
41. Amazon ML 특징: 신뢰성 및 확장성
신뢰 높은 시스템 (Dog fooding)
• 아마존 내부 데이터사이언티스트 사용 시스템
• 신뢰성 높은 알고리즘 제공
알고리즘외의 편리한 기능
• 간단한 데이터 타입 변환, 스키마 생성
• 원본 데이터와 모델에 대한 품질 평가
확장성 높은 종량 과금 모델
• 100GB 데이터 모델링 가능
• 배치를 통한 예측 지원
• 실시간 예측 지원
42. AWS 기반 머신 러닝 활용 사례
컴퓨터 비전 API
온라인 부정 지불 감시
클라우드 소싱 기반
지도 서비스
자율 주행
컴퓨터 비전 분석
대용량 기계 학습 부동산 구매 예측 분석
동영상 추천 엔진 개발 고객 트래픽 분석
스포츠 플레이 예측 이미지 인식 기반 검색
Zestimate 서비스
(Apache Spark 활용)
보험 리스크 분석
43. • 최대 40k 의 CUDA 코어
• 미리 설정된 CUDA 드라이버
• CloudFormation 템플릿
• 컨테이너 이미지
AWS 딥러닝 AMI
원-클릭 GPU
딥러닝
45. • 오픈소스 ML 알고리즘은 대부분의 유즈케이스에 “충분”
하므로 특별히 수정하지 않음
• 알고리즘 자체가 아니라 데이터와 트레이닝 개선에
초점을 맞춤
• 10,000+ 모델을 동시에 실행하는 것은 어려운 작업임
• 스트리밍 데이터에 대한 머신러닝이 필요함
• 낮은 지연 환경의 데이터(고객 프로파일)를 예측
고객의 피드백 및 관찰 결과
46. 체크 포인트
• 95% 이상의 광고 고객들은 머신러닝을 이미 하고 있음
• 경쟁 우위로 여겨지는 머신러닝과 AI
47. 본 강연이 끝난 후…
• AWS for Digital Marketing:
• https://aws.amazon.com/digital-marketing/
• AWS Ad Tech Page:
• https://aws.amazon.com/dynamodb/adtech/
• AI on AWS:
• https://aws.amazon.com/amazon-ai/
• Open Data:
• https://aws.amazon.com/opendata/