Top Banner
Google Cloud Platform 1 빅빅빅빅빅 빅빅빅 빅빅빅 , 빅빅 빅빅빅빅 빅빅빅빅 [email protected]
62

빅데이타의 대중화(1시간)

Jan 07, 2017

Download

Technology

Terry Cho
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 빅데이타의 대중화(1시간)

Google Cloud Platform 1

빅데이타의 대중화조대협 , 구글 클라우드 엔지니어[email protected]

Page 2: 빅데이타의 대중화(1시간)

Google Cloud Platform 2

발표자 소개 조 대 협 본명 : 조병욱

회원 13 만명 온라인 개발자 커뮤니티 자바스터디 (www.javastudy.co.kr) 운영자 .. 한국 자바 개발자 협회 부회장 , 서버사이드 아키텍트 그룹 운영자 벤쳐 개발자

BEA 웹로직 기술 지원 엔지니어 장애 진단 , 성능 튜닝

NHN 잠깐 오라클 컨설턴트 (SOA,EAI,ALM,Enterprise 2.0, 대용량 분산 시스템 )

MS APAC 클라우드 수석 아키텍트 프리렌서 ( 잘나가는 사장님 ) 삼성전자 무선 사업부 B2B 팀 Chief Architect

피키캐스트 CTO

구글 클라우드 엔지니어

Page 3: 빅데이타의 대중화(1시간)

Google Cloud Platform 3Google Cloud Platform 3

비지니스 생태계의 변화

Page 4: 빅데이타의 대중화(1시간)

Google Cloud Platform 4

현대의 비지니스

경쟁제품 개선

민첩성 ( 스피드 )

고객 니즈 파악

Page 5: 빅데이타의 대중화(1시간)

Google Cloud Platform 5

고객의 니즈 파악

DAU,MAU

FUNNEL 분석A/B 테스팅

추천:

빅데이타 기술의 활용

Page 6: 빅데이타의 대중화(1시간)

Google Cloud Platform 6

알고리즘 대규모 인프라

어려운것“ ”기술

빅데이타 분석을 위해 필요한 것

Page 7: 빅데이타의 대중화(1시간)

Google Cloud Platform 7

오픈 소스를 통한 대중화

Page 8: 빅데이타의 대중화(1시간)

Google Cloud Platform 8Drew Conway's Data Scientist Venn Diagram: http://drewconway.com/zia/2013/3/26/the-data-science-venn-diagram

그러나 여전히 ...

어려운것“ ”

Page 9: 빅데이타의 대중화(1시간)

Google Cloud Platform 9

빅데이타란 과연 어렵기만 한것인가 ?

Page 10: 빅데이타의 대중화(1시간)

Google Cloud Platform 10

빅데이타 + 클라우드 컴퓨팅 = ?

Page 11: 빅데이타의 대중화(1시간)

Google Cloud Platform 11

빅데이타 분석의 종류● 기술 통계학 (Descriptive statistics)

“ 주어진 자료에서 합계나 평균과 같이 필요한 정보를 계산하는 등 , 자료를 수집 정리 요약하는 학문 "- 빅데이타를 분석을 통해서 , 통계를 내는 부분- 하둡 , OLAP,Spark 등을 이용한 데이타 통계

● 추론 통계학 (Inferential statistics)“ 표본에서 얻은 정보를 이용하여 모집단에 대한 정보를 예측하고 불확실한 사실에 대한 결론을 이끌어 내는 데 필요한 이론과 방법을 제시하는 학문 "- 빅데이타를 기반으로한 머신러닝- Tensor flow, Spark ML 등을 이용한 예측

Page 12: 빅데이타의 대중화(1시간)

Google Cloud Platform 12

빅데이타 분석

Page 13: 빅데이타의 대중화(1시간)

Google Cloud Platform 13Google for Mobile

모바일 데이타 분석의 기본 모델

● Acquisition ( 사용자 획득 ) - 사용자 유입 후 앱 설치 , 회원 가입 등 . 사용자 유치 단계 ● Retention ( 사용자 유지 ) - 유치 된 사용자가 떠나지 않고 머무르는 단계

( 앱 삭제 )

● Engagement ( 사용자 활동 ) - 사용자가 서비스를 사용하는 단계 ( 댓글 , 구매 )

● Monetize ( 수익화 ) - 실제 수익 발생 ( 광고나 구매 )

Page 14: 빅데이타의 대중화(1시간)

Google Cloud Platform 14Google for Mobile

단계별 분석 지표● Acquisition 단계

○ Download다운로드 수 삭제 후 재 설치가 있기 때문에 , 실제 사용자 수 와 일치하지 않음

○ New user앱을 설치하고 첫번째로 사용하는 사용자 수 프로모션등으로 인하여 설치후 실행 안하고 바로 지우는 사람들이 있음

○ Demographic info사용자에 대한 기본 정보 ( 나이 , 성별 , 지리적 위치 , 단말 종류 , 통신사 )

○ Install tracking어느 경로를 통해서 유입 되었는가 ? ( 페이스북 ? 웹 광고 ? 피쳐드앱 등 )

< Demographic info sample>

Page 15: 빅데이타의 대중화(1시간)

Google Cloud Platform 15Google for Mobile

단계별 분석 지표● Retention 단계

○ 신규 사용자의 재 방문율을 이용하여 측정

<Google analytics 를 이용한 Retention 분석>

“ 앱 설치 후 , 1 일차에 68% 이탈 , 2 일차에 , 85% ”이탈

Page 16: 빅데이타의 대중화(1시간)

Google Cloud Platform 16Google for Mobile

단계별 분석 지표● Engagement

○ User Path사용자가 어느 경로로 앱을 사용하는지 경로별 비중 측정

○ Active User단위 시간동안 서비스를 사용한 사용자 수 DAU (Daily Active User/ 일별 사용자 )MAU (Monthly Active User/ 월별 사용자 )

○ Session시스템에 접속해서 사용하고 있는 사용자 수

○ Session Length한번 접속 했을때 , 사용하는 기간

<Google analytics 를 이용한 User Path 분석>

Page 17: 빅데이타의 대중화(1시간)

Google Cloud Platform 17Google for Mobile

단계별 분석 지표● Engagement

○ Viral페이스북등 SNS 나 기타 매체의 공유 링크를 통해서 들어오는 트래픽의 수

○ Bounce rate이탈율 (Uninstall 수 )

○ Loyalty충성도를 측정하는 지표로 , 하루에 또는 일주일에 몇번 앱을 재 사용 했는 가

< 구글 플레이 스토어에서 일일 Uninstall 사용자 추적 예 >

Page 18: 빅데이타의 대중화(1시간)

Google Cloud Platform 18Google for Mobile

분석 방법● Cohort analysis ( 코호트 분석 )

○ 특정 지표에 대한 그룹별 분석 ( 나이 / 성별 등 )

● Funnel analytics ( 퍼넬 분석 )○ 특정 목표 ( 구매 도달 , 광고 클릭 도달등 ) 를

달성할때 까지 사용자의 잔존 비율을 단계별로 분석

< Google analytics 의 Funnel 분석 예 >

Page 19: 빅데이타의 대중화(1시간)

Google Cloud Platform 19Google for Mobile

모바일 터치 히트맵

출처 : https://blog.crazyegg.com/2016/09/22/local-mobile-landing-pages-convert/ https://www.appsee.com/?cpnid=701b0000000W1Gz

Page 20: 빅데이타의 대중화(1시간)

Google Cloud Platform 20Google for Mobile

AB 테스팅● AB 테스팅의 정의

○ 사용자를 A/B/C/.../N 군으로 분리한후 각각 다른 기능을 제공하여 사용자에 반응에 따라 좋은 기능을 선택하는 기법

○ 페이스북이 airlock 이라는 오픈소스를 이용하여 사용자 반응을 기반으로 서비스를 개선함● AB 테스팅 활용

○ UI 변경○ 기능 테스트

● AB 테스팅 인프라를 구축하려면○ 리모트로 사용자군을 나눠서 기능을 적용○ 통계 결과를 모니터링○ 최종 배포

파이어베이스 REMOTE CONFIG 를 이용하면 구현 가능

Page 21: 빅데이타의 대중화(1시간)

Google Cloud Platform 21Google for Mobile

게임 데이타 분석● Spatial analytics ( 지리 정보 분석 )

Chat log analytics(NLP API 를 이용하여 주요 채팅어를 지역별로 분석 )

Dead zone 분석 플레이어가 주로 죽는

부분의 플레이어와 NPC 레벨 분석

→ 난이도 조정

Page 22: 빅데이타의 대중화(1시간)

Google Cloud Platform 22Google for Mobile

추가적으로 유용한 지표● 앱 크래쉬 비율

○ 앱 크래쉬 비율 ( 사용자 Retention 에 영향이 큼 )

● 앱스토어 평가○ 앱스토어 평점 관리 ○ 잘 빼먹는 부분

< Google Firebase app crash report >

Page 23: 빅데이타의 대중화(1시간)

Google Cloud Platform 23Google for Mobile

구현 전략● 정보 모델 설계

○ 비지니스 의사 결정에 필요한 주요 지표를 선정 ( 많으면 오히려 혼선 )

○ 비지니스 성장 동력을 기준으로 한 관련 지표를 선택● 구현 방식 설계

○ 초기 : 무료 솔루션 위주 접근 (Google fire base, google analytics, Flurry,

Fabric etc)

○ 중기 : 무료 솔루션 + 자체 구축 솔루션 ● 공통 중요 사항

○ 데이타 분석을 시작하는 것이 중요○ 모든 데이타는 지금 분석하지 않더라도 모두 수집하여 저장

Page 24: 빅데이타의 대중화(1시간)

Google Cloud Platform 24Google for Mobile

람다 아키텍쳐● 트위터 Nathan Marz 에 의해 소개 (http://lambda-architecture.net/)

● 기본 개념예전 데이타는 배치로 통계 결과를 내서 저장배치 돌기 전의 최신 데이타와 , 배치로 연산된 통계 데이타를 조인하여 , 현재 데이타를 포함한 분석 리포팅 제공

Page 25: 빅데이타의 대중화(1시간)

Google Cloud Platform 25Google for Mobile

람다 아키텍쳐● 람다 아키텍쳐 구조

○ 배치 레이어 : 데이타를 저장하고 , 일정 기간을 주기로 배치 연산을 수행하여 계산○ 서빙 레이어 : 배치레이어에서 계산된 결과를 저장○ 스피드 레이어

실시간으로 들어오는 데이타에 대해서 , 연산 및 통계 저장 배치로 연산된 이전 데이타는 유지하지 않음

Page 26: 빅데이타의 대중화(1시간)

Google Cloud Platform 26Google for Mobile

람다 아키텍쳐● 람다 아키텍쳐의 일반적인 데이타 처리 구조

○ 데이타 인사이트 분석데이타 저장소에서 데이타 과학자들이 데이타를 샘플링하여 , 분석하여 인사이트 ( 의미 ) 를 찾아냄

○ 데이타 분석 알고리즘 작성인사이트를 기반으로 빅데이타 엔지니어가 알고리즘 (MR 코드 ) 등을 작성하여 배포

Page 27: 빅데이타의 대중화(1시간)

Google Cloud Platform 27Google for Mobile

람다 아키텍쳐● 오픈 소스 기반 솔루션 맵핑

○ 배치 레이어 : OLAP, Hadoop/HDFS or Spark○ 서빙 레이어 : HBase, SQL○ 스피드 레이어

■ 실시간 처리 : Spark Streaming, Apache Flink , Storm■ 실시간 뷰 : SQL, Redis

Page 28: 빅데이타의 대중화(1시간)

Google Cloud Platform 28Google for Mobile

오픈 소스 기반의 솔루션 아키텍쳐

Spark streaming Hadoop MRKafka

IpythonnotebookHadoop HDFS

User applicationLinux

Zeppelin

Spark

Fluentd

Page 29: 빅데이타의 대중화(1시간)

Google Cloud Platform 29Google for Mobile

오픈 소스 기반의 솔루션 아키텍쳐Programmin

g

Resource provisioning

Performance tuning

Monitoring

ReliabilityDeployment & configuration

Handling Growing

Scale

Utilization improvemen

ts

데이타 분석 자체 보다 .데이타 분석 인프라를 설치 운영 하는데 많은 리소스가 소요됨

Page 30: 빅데이타의 대중화(1시간)

Google Cloud Platform 30Google for Mobile

클라우드 기반의 솔루션 아키텍쳐

Cloud Dataflow BigQueryCloud Pub/Sub

DatalabCloud Storage

DataStudioVM or AppEngine

Page 31: 빅데이타의 대중화(1시간)

Google Cloud Platform 31Google for Mobile

클라우드 기반의 빅데이타 분석

비용(4TB, 1000억개 레코드 분석에 20$)

스케일(30초 동안 8600 개의 CPU, 3600 개의 디스크 )

No-Ops( 별도의 운영이 필요없음 )

클라우드 스케일의 성능(1000억 레코드 4TB 분석에 30초 )

Optimize yourtime to answer

Programming

Page 32: 빅데이타의 대중화(1시간)

Google Cloud Platform 32Google for Mobile

모바일 로그 수집 / 분석

Page 33: 빅데이타의 대중화(1시간)

Google Cloud Platform 33Google Cloud Platform 33

머신러닝

Page 34: 빅데이타의 대중화(1시간)
Page 35: 빅데이타의 대중화(1시간)

35

Smart reply in Inbox by Gmail

10%of all responses sent on mobile

Page 36: 빅데이타의 대중화(1시간)

Google Cloud Platform 36

머신 러닝의 분류● 학습 데이타에 따른 분류

• Supervised Learning (labeled data) • Un supervised learning

● 문제의 종류• Regression problem (continuous value)• Classification problem

Page 37: 빅데이타의 대중화(1시간)

Google Cloud Platform 37

Supervised learning vs unsupervised learning

Page 38: 빅데이타의 대중화(1시간)

Google Cloud Platform 38

Regression vs Classification

Regression problem Classification problem

● Not in unsupervised learning

Page 39: 빅데이타의 대중화(1시간)

Google Cloud Platform 39

거리에 따른 택시 요금 문제“ 수집된 거리에 따른 택시 요금 데이타를이용하여 , 거리에 따른 택시 요금 예측 모델을구현 "

Page 40: 빅데이타의 대중화(1시간)

Google Cloud Platform 40

가설의 정의 (Hyphothsis)

● 가설• 택시요금 = W*거리 + b• Hypothesis : y = Wx + b

“ 수집된 데이타와 가장 유사한 형태의 그래프를 그리기 위한 W 와 b 의 값은 얼마 일까 ?”

Page 41: 빅데이타의 대중화(1시간)

Google Cloud Platform 41

비용 함수 (Cost function)

● 임의의값 W 와 b 에 대해서 , 수집된 값과 가장 차이가 작은 W 와 b 를 찾는다 .● 임의의값 W 와 b 에 대해서 , 수집된 값과의 차이 = 비용 함수 (코스트 함수 )

Page 42: 빅데이타의 대중화(1시간)

Google Cloud Platform 42

비용 함수 (Cost function)

● 임의의값 W 와 b 에 대해서 , 수집된 값과 가장 차이가 작은 W 와 b 를 찾는다 .● 임의의값 W 와 b 에 대해서 , 수집된 값과의 차이 = 비용 함수 (코스트 함수 )

(ABS(d1)+ABS(d2)+..+ABS(dn) )/n 의 최소값을 찾는다 .

절대평균을 사용하는 대신 평균 제곱 오차를 사용

Page 43: 빅데이타의 대중화(1시간)

Google Cloud Platform 43

학습 결과W b

Page 44: 빅데이타의 대중화(1시간)

Google Cloud Platform 44

DEMOGOOGLE VISION API

http://vision-explorer.reactive.ai/#/galaxy?_k=8sf2uy

Page 45: 빅데이타의 대중화(1시간)

Google Cloud Platform 45

VISION API var vision = require('google-vision-api-client');var requtil = vision.requtil; //Prepare your service account from trust preview certificated projectvar jsonfile = '/Users/terry/dev/ws/nodejs/GoogleVisionAPISample/My Project-eee0a2d4532a.json'; //Initialize the apivision.init(jsonfile); //Build the request payloadsvar d = requtil.createRequests().addRequest(requtil.createRequest('/Users/terry/images/dale2.jpg').withFeature('FACE_DETECTION', 3).withFeature('LABEL_DETECTION', 2).build()); //Do query to the api servervision.query(d, function(e, r, d){if(e) console.log('ERROR:', e); console.log(JSON.stringify(d));});

22 LINE OF SOURCE CODE(node.js face detection, label detection)

Page 46: 빅데이타의 대중화(1시간)

Google Cloud Platform 46

Vision API

LabelDetection

LandmarkDetectionOCRc

LogoDetection

FaceDetection

Explicit Content

Detection

Page 47: 빅데이타의 대중화(1시간)

Google Cloud Platform 47

DEMOGOOGLE SPEECH API

Page 48: 빅데이타의 대중화(1시간)

Pre-trained models. No ML skill required

REST API: receives audio and returns texts

Supports 80+ languages

Streaming or non-streaming

Public Beta - cloud.google.com/speech

Cloud Speech API

Page 49: 빅데이타의 대중화(1시간)

Google Cloud Platform 49

머신러닝 API 활용 사례 - 트위터 트랜드 분석

Zeppelin(Detail analytics)

Datastudio(Dashboard)

Process statics in every 30 sec (realtime)

Can you believe it?“ It takes about 5 hours for coding.And 1 hours for reporting”Easy !!

Page 50: 빅데이타의 대중화(1시간)

Confidential & ProprietaryGoogle Cloud Platform 50

머신러닝 API 활용 사례 - 트위터 트랜드 분석

Page 51: 빅데이타의 대중화(1시간)

Confidential & ProprietaryGoogle Cloud Platform 51

머신러닝 API 활용 사례 - 트위터 트랜드 분석

9-12 16:00(india, flight,use)

9-12 23:00(boy)

Page 52: 빅데이타의 대중화(1시간)

Confidential & ProprietaryGoogle Cloud Platform 52

머신러닝 API 활용 사례 - 트위터 트랜드 분석

“ 혼자서 4 시간걸렸습니다 .”

Page 53: 빅데이타의 대중화(1시간)

Confidential & ProprietaryGoogle Cloud Platform 53

머신 러닝 분석 방법

TensorFlow Cloud Machine Learning ML API

Easy-to-Use, for non-ML engineers

Customizable, for Data Scientists

Page 54: 빅데이타의 대중화(1시간)

Google's open source library for machine intelligence

tensorflow.org launched in Nov 2015Used by many production ML projects

What is TensorFlow?

Page 55: 빅데이타의 대중화(1시간)

Portable and ScalableTraining on:

Mac/Windows

GPU server

GPU cluster / Cloud

Prediction on:

Android and iOS

RasPi and TPU

Page 56: 빅데이타의 대중화(1시간)
Page 57: 빅데이타의 대중화(1시간)

TensorFlow powered Cucumber Sorter

From: http://workpiles.com/2016/02/tensorflow-cnn-cucumber/

Page 58: 빅데이타의 대중화(1시간)

TensorFlow powered Cucumber Sorter

Page 59: 빅데이타의 대중화(1시간)

TV 아이돌 얼굴 인식

From: http://memo.sugyan.com/entry/2016/10/12/084751

Page 60: 빅데이타의 대중화(1시간)

라즈베리파이 3 과텐서 플로우를 이용한 자동 주행

From: https://github.com/zxzhijia/GoPiGo-Driven-by-Tensorflow

Page 61: 빅데이타의 대중화(1시간)

Google Cloud Platform 61Google for Mobile

활용 방안상품 이미지에서 상품 설명 ( 문자 ) 을 추출하여 검색 키워드로 사용

사진을 찍어서 쇼핑몰내 상품 검색 비디오 영상에서 , 각 프레임 마다 나오는

물체 와 장소를 인식하여 메타 정보화 ( 비디오 검색에 활용 )

Page 62: 빅데이타의 대중화(1시간)

Google Cloud Platform 62

감사합니다 !