SlideShare a Scribd company logo
1 of 44
1
인공지능 추천 시스템 

AiRS 개발기

: 모델링과 시스템
최재호

AiRS
2
CONTENTS
1. 추천 모델링이란?

2. 추천 모델 종류와 특징

3. 추천 품질 평가 방법

4. 대규모 추천 시스템 구축의 실제

5. 맺음말
1.추천 모델링이란?

2. 추천 모델 종류와 특징

3. 추천 품질 평가 방법

4. 대규모 추천 시스템 구축의 실제

5. 맺음말
1.1 추천 모델링 정의
유저 정보
추천 모델링
로그 데이터 아이템 정보
특정 시점에 유저가 좋아할 만한 아이템의 리스트를 찾는 것
5
1.2 추천 모델링 고려사항
Key Factors
1. 유저수

2. 아이템수

3. 업데이트 양/주기

4. 모델 복잡도

5. 시스템 성능
vs.
*우도할계(牛刀割鷄)

소 잡는 칼로 닭을 잡는다는 뜻
6
1.3 추천 모델링 난제
아이템수
유저수
서비스 중흥기
서비스 초창기
Sparsity Problem
유저와 아이템 개수가 급증할수록

유저가 실제 소비한 아이템의 

비율은 점점 줄어듦



즉, 추천 피드백 정보가 희박해짐

머신러닝/딥러닝 기술로 극복
7
1.4 추천 모델링 프로세스
로그 분석
모델 선정
품질 평가모델 학습
AB테스트
서비스 적용1
2
3
5
6
44
1. 추천 모델링이란?

2.추천 모델 종류와 특징

3. 추천 품질 평가 방법

4. 대규모 추천 시스템 구축의 실제

5. 맺음말
9
2. 추천 모델의 종류
Question. 유저가 좋아할 만한 아이템의 정의가 뭐지?

Answer. 추천 모델마다 정의가 달라요
Statistics

based
Collaborative

Filtering
Deep

Learning
추천이란? 특정 시점에 유저가 좋아할 만한 아이템의 리스트를 찾는 것
10
2.1 Statistics-based
좋아할 만한 = 통계적으로 유의미한 아이템
세대별 뮤직추천
 Chi-Squared
Cross-Entropy

(KL-divergence)
예상보다 많이 본
분포가 많이 다른
Categorical
Continuous
11
2.1 Statistics-based
Chi-Squared 개념과 활용
예측치
관측치
유저가 소비한 아이템의 예측치와

실제로 소비한 관측치의 차이를 이용
예상보다 많이 본
절대값보다는 상대적인 변화량에 주목
것이므로,
Categorical Variable
12
2.1 Statistics-based
Cross-Entropy 개념과 활용
KL-Divergence 란?
관측치
Continuous Variable
보통 ML에서 loss function으로 사용

(c.f., 관측 엔트로피를 추가하면 KLD를 쓰는 것과 동일)예측치
분포가 많이 다른

유의미한 추천 아이템으로 활용가
능
경우
관측 엔트로피
13
2.2 Collaborative Filtering
좋아할 만한 = 나와 비슷한 유저가 좋아한 아이템
User-based Item-based
U1
U2
U3
D1
D2
D3
Neighborhood models
유저-유저, 아이템-아이템간의 

Similarity (유사도) 구하는 문제
{U2:1}
{U3:2, U1:1}
{U2:2}
{D3:2}
{D2:2, D1:1}
{D2:1, D3:1}함께 본 문서수
함께 본 유저수
U1
D2U2
U3
D1
D3
14
2.2 Collaborative Filtering
Co-occurrence 동시에 발생하는 이벤트에 주목하라
PMI (Pointwise Mutual Information)
함께 발생한 빈도와 함께 각 이벤트가 발생할

확률을 함께 고려한 정보량 (부록1 참고)
Cosine similarity Jaccard index
교집합벡터의 내적
기존 방법
15
2.2 Collaborative Filtering
V W
H
X
≈
D1 D2 D3 D4 D5 D1 D2 D3 D4 D5
U1
U2
U3
U4
U5
U6
U1
U2
U3
U4
U5
U6
Latent factor

유저와 아이템간의 상호작용 데이
터기반으로 은닉인자를 추정
Matrix factorization models
16
2.2 Collaborative Filtering
Matrix factorization models
Loss function
Prediction
오차=(관측치-예측치)
L2 

regularization
- 계산량이 많고 학습 속도가 느림

- missing data를 negative 샘플로 사용
wALS
ALS: Alternating Least Squares
속도, 정확도
ALS + Weighting scheme
Limitations
2.3 Deep Learning
좋아할 만한 = 나의 컨텍스트 벡터와 가까운 아이템
Non-linear models
U1={0.5, -2.0, 3.1, 0.42, …} D1={-1.2, 0.1, 0.9, -0.2, …}
Neural
Networks
인공신경망을 통한 유저-아이템 관계 추론
2.3 Deep Learning
RNN for News Recommendation
유저가 본 문서 시퀀스
1. 신규 뉴스의 경우 유저 로그가 없는 상태임

2. RNN을 통해 학습된 유저 임베딩 정보를 활용

3. 유저-문서간 벡터연산을 통해 뉴스를 추천

Document

Sequence
Doc2Vec
LSTM

Layer
RecVec 유저가 볼 문서를 예측
유저의 문서 소비 패턴을 보고 추천
19
CIKM 2017 Nov. in Singapore
여기서 잠깐!
2.3 Deep Learning
Word Embeddings d1
d2
d3
인공지능
추천
시스템
AiRS
개발기
모델링
시스템
최재호
DEVIEW2017
Convolutional Layer Max

pooling
FC layer 

(dropout + softmax)
unanimity
check
유저가 본 문서
어떤 토픽인지 판별
문서내 단어들의 배열을 보고 주제를 추론CNN for Deep Topic Tagger
(부록2 참고)
2.3 Deep Learning
Doc.

Text
Doc.

Image
User-Doc

Sequence
sequence gende age body image author time location
…
ReLU
ReLU
user
RNN CNN
softmax
training
Deep CF models
item
다양한 NNs을 조합한 CF 모델
22
2.4 추천 모델 특징 비교
Statistics

based
Collaborative

Filtering
Deep

Learning
Similarity
Missing data
Categorica
Continuou
Non-linearity
Neural Nets + CF
Chi-squared
KL-Divergence
Neighborhood
Matrix Factorization
RNN/CNN
Deep CF
통계-확률 선형-비선형
1. 추천 모델링이란?

2. 추천 모델 종류와 특징

3.추천 품질 평가 방법

4. 대규모 추천 시스템 구축의 실제

5. 맺음말
24
3.1 추천 품질 평가 요소
Accuracy : 유저가 실제 소비한 아이템이 상위에 추천되는지

Diversity : 다양한 주제/유형의 아이템이 잘 추천되는지

Novelty : 새로 나온 최신의 아이템이 잘 추천되는지
추천의 만족도
Accuracy Diversity Novelty
추천모델의 성능
Starvation 문제 해결
25
3.2 추천 모델 평가 방법
오프라인과 온라인 테스트를 병행하여 장기적인 관점에서 평가
오프라인 정량평가 온라인 A/B 테스트
비용이 적게 든다 (low cost) 비용이 많이 든다 (high cost)
특정 모델간 비교 평가 (specific)
유저 관심사 고정 (static) 유저 관심사 변화 (dynamic)
전체 모델간 비교 평가 (general)
실서비스 적용 여부 결정온라인 테스트 모델 선정
26
3.3 추천 모델 평가 지표
추천모델의 기대효과에 따라 지표를 선정하고 시간별 추이를 관찰
추천모델 정확도 평가지표 실서비스 만족도 평가지표
Precision/Recall@N 유저별 클릭수/CTR
신규 아이템 회전율
F-score/AUROC 유저별 총 체류시간
nDCG/MRR
추천 후보를 

잘 찾는가?
상단에 잘

랭킹하는가?
유저가 얼마나

소비하는가?
아이템이 골고
루

nDCG : normalized Discounted Cumulative Gain
AUROC : Area Under the Receiver Operating Characteristic curve
MRR : Mean Reciprocal Rank
CTR : Click-Though Rate
0.055
0.222
0.266
0.310
+ +
27
3.4 추천 모델 평가 결과
Statistics

based
Neighborhood

Model
Computing Cost
Recall@10k
Matrix
Factorization
Deep

Learning
1. 추천 모델링이란?

2. 추천 모델 종류와 특징

3. 추천 품질 평가 방법

4.대규모 추천 시스템 구축의 실제

5. 맺음말
4.1 추천 시스템 구축 요구사항
얼마나 많은 데이터를 얼마나 빠르게 업데이트 할 것인가
Throughput
추천 시스템
ScalabilityLatency
1. 네이버 메인 트래픽 10,000 TPS 이상

2. 네이버 액티브 유저 수천만명 개인화 서빙

3. 다양한 추천 서비스에 지속적인 확대 적용
4.2 추천 시스템 아키텍쳐
Data
Warehouse

Cuve

kafka /
Processing Cluster(C3, Brew-K)
H

B

A

S

E
slider
A

M

B

A

R

I
Airflow
HDFS
HIVE
spark
H

B

A

S

E
C

A

N

A
C

A

N

A
S

T

O

R

M

DDK
D

O

T
Z

E

P

P

E

L

I

N
slider
A

M

B

A

R

I
HDFS
H

B

A

S

E
C

A

N

A
Yarn
D

O

T
O

P

E

N

T

S

D

B
G

R

A

F

A

N

A
Serving Cluster(Brew-C)
Yarn
대규모 데이터를 실시간 처리 가능한 클러스터들의 조합
Cluster View
4.2 추천 시스템 아키텍쳐
오픈소스와 네이버 솔루션의 오케스트레이션
log
feedbac
Cuve
HBase
Kafka
CANA
DDK
nBase-ARC
...
storm
HBase
batch
stream
Airflow
hive
spark
tez M/R spark
Scheduling
Realtime 

update
Batch

update
All containers, All instances
C3 / C3 DL Monitor
grafana
OpenTSDB
TCollector
HBase
coll
DOT
RAS
Data Flow
G
G

A

T

E

W

A

Y
https://deview.kr/2016/schedule/135
검색엔진 Dot의 내부
https://deview.kr/2017/schedule/193
멀티테넌트 하둡 클러스터 운영 경험기
https://deview.kr/2017/schedule/188
HBase 기반 검색 데이터 저장소
https://www.slideshare.net/deview/244-52781290
분산 환경에서 스트림과 배치 처리 통합 모델
*Cuve
*C3
*DOT
*DDK
32
4.3 추천 시스템 구축 노하우
Keywords
ContainerizationResearch+DevOps
유저 데이터를 분석하고 

추천모델을 선정 및 학습하는 과정과 

실서비스 개발 및 운영하는 과정을 통합
정제 및 서빙에 필요한

서버들을 컨테이너화 함으로써

확장성과 장애대처에 용이하도록 설계
Productivity Scalability
33
4.3.1 Agile Development
Language & Tool 통합
데이터 분석 및 추천 모델링에 사용하는 언어와 도구를 실서비스 투입이 가능하도록 통합
Airflow (scheduler), Hive (data warehouse), Spark (big data processing engine)

Hadoop YARN (distributed cluster resource manager)

Slider (an application to deploy existing distributed applications on Yarn cluster)

OpenTSDB/Grafana (a scalable, distributed monitoring system)

DOT (distributed incremental search engine)

DDK/Cana (event-driven near-realtime severless compute solution)

C3 (PaaS, Hadoop cluster), Cuve (PaaS, HBase, Kafka), nBase-ARC (PaaS, Redis Cluster)

Airflow Hive Spark
Hadoop YARN
Slider
OpenTSDB/Grafana
DOT
DDK/Cana
C3 Cuve nBase-ARC
34
4.3.2 Seamless Interface
Cuve-Hive-DOT (c.f., HBase-Hive-Redis)
모델링 코드가 그대로 서빙 시스템에 이식될 수 있도록 시스템간 인터페이스 추상화 구현
35
4.3.3 Data Catalog & Reusability
Hive (Meta store) 카탈로그 기반 데이터 뷰
column type desc value
id string encrypted id 1234
bcookie string browser cookie CG7GYVQMI4TFQ
gdid string document id 98155edc_7b4148fe13c83f2
url string document url blog.naver.com/bbbananas/
referrer string
 referrer url search.naver.com
demo string demographic group M40_44
query string search query
 a3 2016
time int access time 1486996936
duration int duration time 3230
TABLE gdid_histogram.lcs_point 

(PARTITIONED BY (ds STRING, ts STRING)
36
4.3.4 효율적인 Task Scheduling
Airflow DAGs 기반 관리
여러 추천서비스에서 공유가능
Sensor 활용
37
4.3.5 Batch Job Latency Trade-off
Spark vs Hive (on MR)
약 10분 소요 약 1시간 50분 소요
Low latency batch job
Spark를 이용하자
1. shuffle job

2. resource 할당

3. disk I/O
단, 중간데이터 남음
4.3.6 컨테이너화를 통한 Ops 효율화
서버 장애 등의 상황에 자동 failover 및 급증하는 트래픽에 대한 scailability 확보
Airflow scheduler / web 서버는 Slider를 통해 실행
Yarn Airflow Scheduler

내년 오픈소스화 예정
1. 추천 모델링이란?

2. 추천 모델 종류와 특징

3. 추천 품질 평가 방법

4. 대규모 추천 시스템 구축의 실제

5.맺음말
정리하면...
내 서비스에 딱 맞는 추천을 만들기 위해선,
충분한 데이터 탐색을 통한 유저와 아이템 분석
다양한 추천 모델을 비교하고 제대로 평가하기 위해선,
확률통계 및 머신/딥러닝 기술 적용과 올바른 평가지표 활용
Throughput, Latency, Scalability 라는 3마리 토끼를 잡기 위해선,
대규모 정제/서빙 시스템에 대한 깊은 이해와 협업정신
Q & A
42
Thank you
43
Normalized PMI 최대값은 1
함께 관측이 전혀 안될 때
독립적으로 관측될 때
항상 함께 관측될 때 :
:
:
부록. 1
44
부록. 2
Depth-1 Depth-2 Depth-3
IT/Tech 인공지능 알파고
건강/운동 다이어트 뱃살운동
게임 모바일게임 모바일rpg
디자인 공간디자인 의자디자인
Done Accuracy
Doc2Vec + DNN D1 분류 (3 hidden layer) D1: 78%
+ Data up-sampling (minor class) D1: 88% (+8%)
+ Xavier initializer D1: 93% (+7%)
Doc2Vec + DNN D2 분류 D2: 72%
Word2Vec + CNN D2 분류 D2: 83% (+11%)
+ Data cleansing (multi->single label) D2: 91% (+8%)
Word2Vec + CNN D1 분류 D1: 96% (+3%)
Word2Vec + CNN D3 분류 D3: 78%
+ Data synthesis (유사 문서 추가) D3: 85% (+7%)
Performance MilestonesTraining Data
Labels:
Docs: Depth Class Train Docs Test Docs
1 16 495,378 1,440
2 145 2,826,103 1,450
3 386 2,559,014 3,860

More Related Content

What's hot

[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)Hyojun Jeon
 
로그 기깔나게 잘 디자인하는 법
로그 기깔나게 잘 디자인하는 법로그 기깔나게 잘 디자인하는 법
로그 기깔나게 잘 디자인하는 법Jeongsang Baek
 
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스NAVER D2
 
스타트업 데이터분석 - 퍼널분석과 코호트분석
스타트업 데이터분석 - 퍼널분석과 코호트분석스타트업 데이터분석 - 퍼널분석과 코호트분석
스타트업 데이터분석 - 퍼널분석과 코호트분석Seonggwan Lee
 
실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다
실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다
실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다승화 양
 
서비스 기획자의 데이터 분석
서비스 기획자의 데이터 분석서비스 기획자의 데이터 분석
서비스 기획자의 데이터 분석YOO SE KYUN
 
데이터 분석가는 어떤 SKILLSET을 가져야 하는가? - 데이터 분석가 되기
데이터 분석가는 어떤 SKILLSET을 가져야 하는가?  - 데이터 분석가 되기데이터 분석가는 어떤 SKILLSET을 가져야 하는가?  - 데이터 분석가 되기
데이터 분석가는 어떤 SKILLSET을 가져야 하는가? - 데이터 분석가 되기Hui Seo
 
데이터가 흐르는 조직 만들기 - 마이리얼트립
데이터가 흐르는 조직 만들기 - 마이리얼트립데이터가 흐르는 조직 만들기 - 마이리얼트립
데이터가 흐르는 조직 만들기 - 마이리얼트립승화 양
 
BigQuery의 모든 것(기획자, 마케터, 신입 데이터 분석가를 위한) 입문편
BigQuery의 모든 것(기획자, 마케터, 신입 데이터 분석가를 위한) 입문편BigQuery의 모든 것(기획자, 마케터, 신입 데이터 분석가를 위한) 입문편
BigQuery의 모든 것(기획자, 마케터, 신입 데이터 분석가를 위한) 입문편Seongyun Byeon
 
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴Terry Cho
 
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1 나무기술(주) 최유석 20170912
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1  나무기술(주) 최유석 20170912Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1  나무기술(주) 최유석 20170912
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1 나무기술(주) 최유석 20170912Yooseok Choi
 
[226]대용량 텍스트마이닝 기술 하정우
[226]대용량 텍스트마이닝 기술 하정우[226]대용량 텍스트마이닝 기술 하정우
[226]대용량 텍스트마이닝 기술 하정우NAVER D2
 
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기 [데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기 choi kyumin
 
그로스 해킹 & 데이터 프로덕트 (Growth Hacking & Data Product) - 고넥터 고영혁 (Gonnector Dylan Ko)
그로스 해킹 & 데이터 프로덕트 (Growth Hacking & Data Product) - 고넥터 고영혁 (Gonnector Dylan Ko)그로스 해킹 & 데이터 프로덕트 (Growth Hacking & Data Product) - 고넥터 고영혁 (Gonnector Dylan Ko)
그로스 해킹 & 데이터 프로덕트 (Growth Hacking & Data Product) - 고넥터 고영혁 (Gonnector Dylan Ko)Dylan Ko
 
파이썬을 활용한 챗봇 서비스 개발 3일차
파이썬을 활용한 챗봇 서비스 개발 3일차파이썬을 활용한 챗봇 서비스 개발 3일차
파이썬을 활용한 챗봇 서비스 개발 3일차Taekyung Han
 
webservice scaling for newbie
webservice scaling for newbiewebservice scaling for newbie
webservice scaling for newbieDaeMyung Kang
 
성장을 좋아하는 사람이, 성장하고 싶은 사람에게
성장을 좋아하는 사람이, 성장하고 싶은 사람에게성장을 좋아하는 사람이, 성장하고 싶은 사람에게
성장을 좋아하는 사람이, 성장하고 싶은 사람에게Seongyun Byeon
 
데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)
데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)
데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)Minwoo Kim
 
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...AWSKRUG - AWS한국사용자모임
 
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장Dylan Ko
 

What's hot (20)

[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
 
로그 기깔나게 잘 디자인하는 법
로그 기깔나게 잘 디자인하는 법로그 기깔나게 잘 디자인하는 법
로그 기깔나게 잘 디자인하는 법
 
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스
 
스타트업 데이터분석 - 퍼널분석과 코호트분석
스타트업 데이터분석 - 퍼널분석과 코호트분석스타트업 데이터분석 - 퍼널분석과 코호트분석
스타트업 데이터분석 - 퍼널분석과 코호트분석
 
실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다
실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다
실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다
 
서비스 기획자의 데이터 분석
서비스 기획자의 데이터 분석서비스 기획자의 데이터 분석
서비스 기획자의 데이터 분석
 
데이터 분석가는 어떤 SKILLSET을 가져야 하는가? - 데이터 분석가 되기
데이터 분석가는 어떤 SKILLSET을 가져야 하는가?  - 데이터 분석가 되기데이터 분석가는 어떤 SKILLSET을 가져야 하는가?  - 데이터 분석가 되기
데이터 분석가는 어떤 SKILLSET을 가져야 하는가? - 데이터 분석가 되기
 
데이터가 흐르는 조직 만들기 - 마이리얼트립
데이터가 흐르는 조직 만들기 - 마이리얼트립데이터가 흐르는 조직 만들기 - 마이리얼트립
데이터가 흐르는 조직 만들기 - 마이리얼트립
 
BigQuery의 모든 것(기획자, 마케터, 신입 데이터 분석가를 위한) 입문편
BigQuery의 모든 것(기획자, 마케터, 신입 데이터 분석가를 위한) 입문편BigQuery의 모든 것(기획자, 마케터, 신입 데이터 분석가를 위한) 입문편
BigQuery의 모든 것(기획자, 마케터, 신입 데이터 분석가를 위한) 입문편
 
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴
 
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1 나무기술(주) 최유석 20170912
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1  나무기술(주) 최유석 20170912Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1  나무기술(주) 최유석 20170912
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1 나무기술(주) 최유석 20170912
 
[226]대용량 텍스트마이닝 기술 하정우
[226]대용량 텍스트마이닝 기술 하정우[226]대용량 텍스트마이닝 기술 하정우
[226]대용량 텍스트마이닝 기술 하정우
 
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기 [데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기
 
그로스 해킹 & 데이터 프로덕트 (Growth Hacking & Data Product) - 고넥터 고영혁 (Gonnector Dylan Ko)
그로스 해킹 & 데이터 프로덕트 (Growth Hacking & Data Product) - 고넥터 고영혁 (Gonnector Dylan Ko)그로스 해킹 & 데이터 프로덕트 (Growth Hacking & Data Product) - 고넥터 고영혁 (Gonnector Dylan Ko)
그로스 해킹 & 데이터 프로덕트 (Growth Hacking & Data Product) - 고넥터 고영혁 (Gonnector Dylan Ko)
 
파이썬을 활용한 챗봇 서비스 개발 3일차
파이썬을 활용한 챗봇 서비스 개발 3일차파이썬을 활용한 챗봇 서비스 개발 3일차
파이썬을 활용한 챗봇 서비스 개발 3일차
 
webservice scaling for newbie
webservice scaling for newbiewebservice scaling for newbie
webservice scaling for newbie
 
성장을 좋아하는 사람이, 성장하고 싶은 사람에게
성장을 좋아하는 사람이, 성장하고 싶은 사람에게성장을 좋아하는 사람이, 성장하고 싶은 사람에게
성장을 좋아하는 사람이, 성장하고 싶은 사람에게
 
데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)
데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)
데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)
 
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
 
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장
 

Viewers also liked

[221]똑똑한 인공지능 dj 비서 clova music
[221]똑똑한 인공지능 dj 비서 clova music[221]똑똑한 인공지능 dj 비서 clova music
[221]똑똑한 인공지능 dj 비서 clova musicNAVER D2
 
[224]nsml 상상하는 모든 것이 이루어지는 클라우드 머신러닝 플랫폼
[224]nsml 상상하는 모든 것이 이루어지는 클라우드 머신러닝 플랫폼[224]nsml 상상하는 모든 것이 이루어지는 클라우드 머신러닝 플랫폼
[224]nsml 상상하는 모든 것이 이루어지는 클라우드 머신러닝 플랫폼NAVER D2
 
[222]neural machine translation (nmt) 동작의 시각화 및 분석 방법
[222]neural machine translation (nmt) 동작의 시각화 및 분석 방법[222]neural machine translation (nmt) 동작의 시각화 및 분석 방법
[222]neural machine translation (nmt) 동작의 시각화 및 분석 방법NAVER D2
 
[225]빅데이터를 위한 분산 딥러닝 플랫폼 만들기
[225]빅데이터를 위한 분산 딥러닝 플랫폼 만들기[225]빅데이터를 위한 분산 딥러닝 플랫폼 만들기
[225]빅데이터를 위한 분산 딥러닝 플랫폼 만들기NAVER D2
 
[216]네이버 검색 사용자를 만족시켜라! 의도파악과 의미검색
[216]네이버 검색 사용자를 만족시켜라!   의도파악과 의미검색[216]네이버 검색 사용자를 만족시켜라!   의도파악과 의미검색
[216]네이버 검색 사용자를 만족시켜라! 의도파악과 의미검색NAVER D2
 
[234]멀티테넌트 하둡 클러스터 운영 경험기
[234]멀티테넌트 하둡 클러스터 운영 경험기[234]멀티테넌트 하둡 클러스터 운영 경험기
[234]멀티테넌트 하둡 클러스터 운영 경험기NAVER D2
 
[212]big models without big data using domain specific deep networks in data-...
[212]big models without big data using domain specific deep networks in data-...[212]big models without big data using domain specific deep networks in data-...
[212]big models without big data using domain specific deep networks in data-...NAVER D2
 
[215]streetwise machine learning for painless parking
[215]streetwise machine learning for painless parking[215]streetwise machine learning for painless parking
[215]streetwise machine learning for painless parkingNAVER D2
 
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화NAVER D2
 
[242]open stack neutron dataplane 구현
[242]open stack neutron   dataplane 구현[242]open stack neutron   dataplane 구현
[242]open stack neutron dataplane 구현NAVER D2
 
[213]building ai to recreate our visual world
[213]building ai to recreate our visual world[213]building ai to recreate our visual world
[213]building ai to recreate our visual worldNAVER D2
 
[246]reasoning, attention and memory toward differentiable reasoning machines
[246]reasoning, attention and memory   toward differentiable reasoning machines[246]reasoning, attention and memory   toward differentiable reasoning machines
[246]reasoning, attention and memory toward differentiable reasoning machinesNAVER D2
 
[241]large scale search with polysemous codes
[241]large scale search with polysemous codes[241]large scale search with polysemous codes
[241]large scale search with polysemous codesNAVER D2
 
[223]rye, 샤딩을 지원하는 오픈소스 관계형 dbms
[223]rye, 샤딩을 지원하는 오픈소스 관계형 dbms[223]rye, 샤딩을 지원하는 오픈소스 관계형 dbms
[223]rye, 샤딩을 지원하는 오픈소스 관계형 dbmsNAVER D2
 
[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기
[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기
[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기NAVER D2
 
[232]mist 고성능 iot 스트림 처리 시스템
[232]mist 고성능 iot 스트림 처리 시스템[232]mist 고성능 iot 스트림 처리 시스템
[232]mist 고성능 iot 스트림 처리 시스템NAVER D2
 
[211] HBase 기반 검색 데이터 저장소 (공개용)
[211] HBase 기반 검색 데이터 저장소 (공개용)[211] HBase 기반 검색 데이터 저장소 (공개용)
[211] HBase 기반 검색 데이터 저장소 (공개용)NAVER D2
 
유연하고 확장성 있는 빅데이터 처리
유연하고 확장성 있는 빅데이터 처리유연하고 확장성 있는 빅데이터 처리
유연하고 확장성 있는 빅데이터 처리NAVER D2
 
[244]네트워크 모니터링 시스템(nms)을 지탱하는 기술
[244]네트워크 모니터링 시스템(nms)을 지탱하는 기술[244]네트워크 모니터링 시스템(nms)을 지탱하는 기술
[244]네트워크 모니터링 시스템(nms)을 지탱하는 기술NAVER D2
 
[141]네이버랩스의 로보틱스 연구 소개
[141]네이버랩스의 로보틱스 연구 소개[141]네이버랩스의 로보틱스 연구 소개
[141]네이버랩스의 로보틱스 연구 소개NAVER D2
 

Viewers also liked (20)

[221]똑똑한 인공지능 dj 비서 clova music
[221]똑똑한 인공지능 dj 비서 clova music[221]똑똑한 인공지능 dj 비서 clova music
[221]똑똑한 인공지능 dj 비서 clova music
 
[224]nsml 상상하는 모든 것이 이루어지는 클라우드 머신러닝 플랫폼
[224]nsml 상상하는 모든 것이 이루어지는 클라우드 머신러닝 플랫폼[224]nsml 상상하는 모든 것이 이루어지는 클라우드 머신러닝 플랫폼
[224]nsml 상상하는 모든 것이 이루어지는 클라우드 머신러닝 플랫폼
 
[222]neural machine translation (nmt) 동작의 시각화 및 분석 방법
[222]neural machine translation (nmt) 동작의 시각화 및 분석 방법[222]neural machine translation (nmt) 동작의 시각화 및 분석 방법
[222]neural machine translation (nmt) 동작의 시각화 및 분석 방법
 
[225]빅데이터를 위한 분산 딥러닝 플랫폼 만들기
[225]빅데이터를 위한 분산 딥러닝 플랫폼 만들기[225]빅데이터를 위한 분산 딥러닝 플랫폼 만들기
[225]빅데이터를 위한 분산 딥러닝 플랫폼 만들기
 
[216]네이버 검색 사용자를 만족시켜라! 의도파악과 의미검색
[216]네이버 검색 사용자를 만족시켜라!   의도파악과 의미검색[216]네이버 검색 사용자를 만족시켜라!   의도파악과 의미검색
[216]네이버 검색 사용자를 만족시켜라! 의도파악과 의미검색
 
[234]멀티테넌트 하둡 클러스터 운영 경험기
[234]멀티테넌트 하둡 클러스터 운영 경험기[234]멀티테넌트 하둡 클러스터 운영 경험기
[234]멀티테넌트 하둡 클러스터 운영 경험기
 
[212]big models without big data using domain specific deep networks in data-...
[212]big models without big data using domain specific deep networks in data-...[212]big models without big data using domain specific deep networks in data-...
[212]big models without big data using domain specific deep networks in data-...
 
[215]streetwise machine learning for painless parking
[215]streetwise machine learning for painless parking[215]streetwise machine learning for painless parking
[215]streetwise machine learning for painless parking
 
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
 
[242]open stack neutron dataplane 구현
[242]open stack neutron   dataplane 구현[242]open stack neutron   dataplane 구현
[242]open stack neutron dataplane 구현
 
[213]building ai to recreate our visual world
[213]building ai to recreate our visual world[213]building ai to recreate our visual world
[213]building ai to recreate our visual world
 
[246]reasoning, attention and memory toward differentiable reasoning machines
[246]reasoning, attention and memory   toward differentiable reasoning machines[246]reasoning, attention and memory   toward differentiable reasoning machines
[246]reasoning, attention and memory toward differentiable reasoning machines
 
[241]large scale search with polysemous codes
[241]large scale search with polysemous codes[241]large scale search with polysemous codes
[241]large scale search with polysemous codes
 
[223]rye, 샤딩을 지원하는 오픈소스 관계형 dbms
[223]rye, 샤딩을 지원하는 오픈소스 관계형 dbms[223]rye, 샤딩을 지원하는 오픈소스 관계형 dbms
[223]rye, 샤딩을 지원하는 오픈소스 관계형 dbms
 
[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기
[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기
[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기
 
[232]mist 고성능 iot 스트림 처리 시스템
[232]mist 고성능 iot 스트림 처리 시스템[232]mist 고성능 iot 스트림 처리 시스템
[232]mist 고성능 iot 스트림 처리 시스템
 
[211] HBase 기반 검색 데이터 저장소 (공개용)
[211] HBase 기반 검색 데이터 저장소 (공개용)[211] HBase 기반 검색 데이터 저장소 (공개용)
[211] HBase 기반 검색 데이터 저장소 (공개용)
 
유연하고 확장성 있는 빅데이터 처리
유연하고 확장성 있는 빅데이터 처리유연하고 확장성 있는 빅데이터 처리
유연하고 확장성 있는 빅데이터 처리
 
[244]네트워크 모니터링 시스템(nms)을 지탱하는 기술
[244]네트워크 모니터링 시스템(nms)을 지탱하는 기술[244]네트워크 모니터링 시스템(nms)을 지탱하는 기술
[244]네트워크 모니터링 시스템(nms)을 지탱하는 기술
 
[141]네이버랩스의 로보틱스 연구 소개
[141]네이버랩스의 로보틱스 연구 소개[141]네이버랩스의 로보틱스 연구 소개
[141]네이버랩스의 로보틱스 연구 소개
 

Similar to 인공지능추천시스템 airs개발기_모델링과시스템

Session 2. 스마트한 클라우드 관리 방법 - 베스핀글로벌 박대식 매니저
Session 2. 스마트한 클라우드 관리 방법 - 베스핀글로벌 박대식 매니저Session 2. 스마트한 클라우드 관리 방법 - 베스핀글로벌 박대식 매니저
Session 2. 스마트한 클라우드 관리 방법 - 베스핀글로벌 박대식 매니저BESPIN GLOBAL
 
클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기YoungSu Son
 
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장eungjin cho
 
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020 AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020 AWSKRUG - AWS한국사용자모임
 
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020Jinwoong Kim
 
Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos uEngine Solutions
 
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기YoungSu Son
 
GraphQL in Action - REST와 이별할 때 생각해야 하는 것들
GraphQL in Action - REST와 이별할 때 생각해야 하는 것들GraphQL in Action - REST와 이별할 때 생각해야 하는 것들
GraphQL in Action - REST와 이별할 때 생각해야 하는 것들Kivol
 
AWS 비용, 어떻게 사용하고 계신가요? - 최적화 된 AWS 비용 구조 만들기 – 곽내인 :: AWS Builders Online Series
AWS 비용, 어떻게 사용하고 계신가요? - 최적화 된 AWS 비용 구조 만들기 – 곽내인 :: AWS Builders Online SeriesAWS 비용, 어떻게 사용하고 계신가요? - 최적화 된 AWS 비용 구조 만들기 – 곽내인 :: AWS Builders Online Series
AWS 비용, 어떻게 사용하고 계신가요? - 최적화 된 AWS 비용 구조 만들기 – 곽내인 :: AWS Builders Online SeriesAmazon Web Services Korea
 
초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기
초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기
초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기ksdc2019
 
Realtime Big data Anaytics and Exampes of Daum (2013)
Realtime Big data Anaytics and Exampes of Daum (2013)Realtime Big data Anaytics and Exampes of Daum (2013)
Realtime Big data Anaytics and Exampes of Daum (2013)Channy Yun
 
Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014Gruter
 
[코세나, kosena] 금융권의 머신러닝 활용사례
[코세나, kosena] 금융권의 머신러닝 활용사례[코세나, kosena] 금융권의 머신러닝 활용사례
[코세나, kosena] 금융권의 머신러닝 활용사례kosena
 
[D2 COMMUNITY] Spark User Group - 스파크를 통한 딥러닝 이론과 실제
[D2 COMMUNITY] Spark User Group - 스파크를 통한 딥러닝 이론과 실제[D2 COMMUNITY] Spark User Group - 스파크를 통한 딥러닝 이론과 실제
[D2 COMMUNITY] Spark User Group - 스파크를 통한 딥러닝 이론과 실제NAVER D2
 
Ruby on Rails와 함께 하는 애자일 웹 개발
Ruby on Rails와 함께 하는 애자일 웹 개발Ruby on Rails와 함께 하는 애자일 웹 개발
Ruby on Rails와 함께 하는 애자일 웹 개발Sukjoon Kim
 
빅데이터 기술 현황과 시장 전망(2014)
빅데이터 기술 현황과 시장 전망(2014)빅데이터 기술 현황과 시장 전망(2014)
빅데이터 기술 현황과 시장 전망(2014)Channy Yun
 
DB관점에서 본 빅데이터 (2019년 8월)
DB관점에서 본 빅데이터 (2019년 8월)DB관점에서 본 빅데이터 (2019년 8월)
DB관점에서 본 빅데이터 (2019년 8월)Kee Hoon Lee
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)수보 김
 
Elastic Stack & Data pipeline
Elastic Stack & Data pipelineElastic Stack & Data pipeline
Elastic Stack & Data pipelineJongho Woo
 

Similar to 인공지능추천시스템 airs개발기_모델링과시스템 (20)

Session 2. 스마트한 클라우드 관리 방법 - 베스핀글로벌 박대식 매니저
Session 2. 스마트한 클라우드 관리 방법 - 베스핀글로벌 박대식 매니저Session 2. 스마트한 클라우드 관리 방법 - 베스핀글로벌 박대식 매니저
Session 2. 스마트한 클라우드 관리 방법 - 베스핀글로벌 박대식 매니저
 
클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기
 
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
 
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020 AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
 
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
 
Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos
 
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
 
GraphQL in Action - REST와 이별할 때 생각해야 하는 것들
GraphQL in Action - REST와 이별할 때 생각해야 하는 것들GraphQL in Action - REST와 이별할 때 생각해야 하는 것들
GraphQL in Action - REST와 이별할 때 생각해야 하는 것들
 
AWS 비용, 어떻게 사용하고 계신가요? - 최적화 된 AWS 비용 구조 만들기 – 곽내인 :: AWS Builders Online Series
AWS 비용, 어떻게 사용하고 계신가요? - 최적화 된 AWS 비용 구조 만들기 – 곽내인 :: AWS Builders Online SeriesAWS 비용, 어떻게 사용하고 계신가요? - 최적화 된 AWS 비용 구조 만들기 – 곽내인 :: AWS Builders Online Series
AWS 비용, 어떻게 사용하고 계신가요? - 최적화 된 AWS 비용 구조 만들기 – 곽내인 :: AWS Builders Online Series
 
초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기
초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기
초초초 (초고속 초저지연 초연결) 5G IoT 플랫폼 개발 이야기
 
Realtime Big data Anaytics and Exampes of Daum (2013)
Realtime Big data Anaytics and Exampes of Daum (2013)Realtime Big data Anaytics and Exampes of Daum (2013)
Realtime Big data Anaytics and Exampes of Daum (2013)
 
Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014
 
[코세나, kosena] 금융권의 머신러닝 활용사례
[코세나, kosena] 금융권의 머신러닝 활용사례[코세나, kosena] 금융권의 머신러닝 활용사례
[코세나, kosena] 금융권의 머신러닝 활용사례
 
[D2 COMMUNITY] Spark User Group - 스파크를 통한 딥러닝 이론과 실제
[D2 COMMUNITY] Spark User Group - 스파크를 통한 딥러닝 이론과 실제[D2 COMMUNITY] Spark User Group - 스파크를 통한 딥러닝 이론과 실제
[D2 COMMUNITY] Spark User Group - 스파크를 통한 딥러닝 이론과 실제
 
Ruby on Rails와 함께 하는 애자일 웹 개발
Ruby on Rails와 함께 하는 애자일 웹 개발Ruby on Rails와 함께 하는 애자일 웹 개발
Ruby on Rails와 함께 하는 애자일 웹 개발
 
빅데이터 기술 현황과 시장 전망(2014)
빅데이터 기술 현황과 시장 전망(2014)빅데이터 기술 현황과 시장 전망(2014)
빅데이터 기술 현황과 시장 전망(2014)
 
DB관점에서 본 빅데이터 (2019년 8월)
DB관점에서 본 빅데이터 (2019년 8월)DB관점에서 본 빅데이터 (2019년 8월)
DB관점에서 본 빅데이터 (2019년 8월)
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)
 
OMC
OMCOMC
OMC
 
Elastic Stack & Data pipeline
Elastic Stack & Data pipelineElastic Stack & Data pipeline
Elastic Stack & Data pipeline
 

More from NAVER D2

[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다NAVER D2
 
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...NAVER D2
 
[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기NAVER D2
 
[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발NAVER D2
 
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈NAVER D2
 
[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&ANAVER D2
 
[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기NAVER D2
 
[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep LearningNAVER D2
 
[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applicationsNAVER D2
 
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingOld version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingNAVER D2
 
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지NAVER D2
 
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기NAVER D2
 
[224]네이버 검색과 개인화
[224]네이버 검색과 개인화[224]네이버 검색과 개인화
[224]네이버 검색과 개인화NAVER D2
 
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)NAVER D2
 
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기NAVER D2
 
[213] Fashion Visual Search
[213] Fashion Visual Search[213] Fashion Visual Search
[213] Fashion Visual SearchNAVER D2
 
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화NAVER D2
 
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지NAVER D2
 
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터NAVER D2
 
[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?NAVER D2
 

More from NAVER D2 (20)

[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다
 
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
 
[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기
 
[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발
 
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
 
[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A
 
[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기
 
[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning
 
[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications
 
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingOld version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
 
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
 
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
 
[224]네이버 검색과 개인화
[224]네이버 검색과 개인화[224]네이버 검색과 개인화
[224]네이버 검색과 개인화
 
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
 
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
 
[213] Fashion Visual Search
[213] Fashion Visual Search[213] Fashion Visual Search
[213] Fashion Visual Search
 
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화
 
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
 
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
 
[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?
 

인공지능추천시스템 airs개발기_모델링과시스템

  • 1. 1 인공지능 추천 시스템 AiRS 개발기 : 모델링과 시스템 최재호 AiRS
  • 2. 2 CONTENTS 1. 추천 모델링이란? 2. 추천 모델 종류와 특징 3. 추천 품질 평가 방법 4. 대규모 추천 시스템 구축의 실제 5. 맺음말
  • 3. 1.추천 모델링이란? 2. 추천 모델 종류와 특징 3. 추천 품질 평가 방법 4. 대규모 추천 시스템 구축의 실제 5. 맺음말
  • 4. 1.1 추천 모델링 정의 유저 정보 추천 모델링 로그 데이터 아이템 정보 특정 시점에 유저가 좋아할 만한 아이템의 리스트를 찾는 것
  • 5. 5 1.2 추천 모델링 고려사항 Key Factors 1. 유저수 2. 아이템수 3. 업데이트 양/주기 4. 모델 복잡도 5. 시스템 성능 vs. *우도할계(牛刀割鷄) 소 잡는 칼로 닭을 잡는다는 뜻
  • 6. 6 1.3 추천 모델링 난제 아이템수 유저수 서비스 중흥기 서비스 초창기 Sparsity Problem 유저와 아이템 개수가 급증할수록 유저가 실제 소비한 아이템의 비율은 점점 줄어듦 즉, 추천 피드백 정보가 희박해짐 머신러닝/딥러닝 기술로 극복
  • 7. 7 1.4 추천 모델링 프로세스 로그 분석 모델 선정 품질 평가모델 학습 AB테스트 서비스 적용1 2 3 5 6 44
  • 8. 1. 추천 모델링이란? 2.추천 모델 종류와 특징 3. 추천 품질 평가 방법 4. 대규모 추천 시스템 구축의 실제 5. 맺음말
  • 9. 9 2. 추천 모델의 종류 Question. 유저가 좋아할 만한 아이템의 정의가 뭐지? Answer. 추천 모델마다 정의가 달라요 Statistics based Collaborative Filtering Deep Learning 추천이란? 특정 시점에 유저가 좋아할 만한 아이템의 리스트를 찾는 것
  • 10. 10 2.1 Statistics-based 좋아할 만한 = 통계적으로 유의미한 아이템 세대별 뮤직추천 Chi-Squared Cross-Entropy (KL-divergence) 예상보다 많이 본 분포가 많이 다른 Categorical Continuous
  • 11. 11 2.1 Statistics-based Chi-Squared 개념과 활용 예측치 관측치 유저가 소비한 아이템의 예측치와 실제로 소비한 관측치의 차이를 이용 예상보다 많이 본 절대값보다는 상대적인 변화량에 주목 것이므로, Categorical Variable
  • 12. 12 2.1 Statistics-based Cross-Entropy 개념과 활용 KL-Divergence 란? 관측치 Continuous Variable 보통 ML에서 loss function으로 사용 (c.f., 관측 엔트로피를 추가하면 KLD를 쓰는 것과 동일)예측치 분포가 많이 다른 유의미한 추천 아이템으로 활용가 능 경우 관측 엔트로피
  • 13. 13 2.2 Collaborative Filtering 좋아할 만한 = 나와 비슷한 유저가 좋아한 아이템 User-based Item-based U1 U2 U3 D1 D2 D3 Neighborhood models 유저-유저, 아이템-아이템간의 Similarity (유사도) 구하는 문제 {U2:1} {U3:2, U1:1} {U2:2} {D3:2} {D2:2, D1:1} {D2:1, D3:1}함께 본 문서수 함께 본 유저수 U1 D2U2 U3 D1 D3
  • 14. 14 2.2 Collaborative Filtering Co-occurrence 동시에 발생하는 이벤트에 주목하라 PMI (Pointwise Mutual Information) 함께 발생한 빈도와 함께 각 이벤트가 발생할 확률을 함께 고려한 정보량 (부록1 참고) Cosine similarity Jaccard index 교집합벡터의 내적 기존 방법
  • 15. 15 2.2 Collaborative Filtering V W H X ≈ D1 D2 D3 D4 D5 D1 D2 D3 D4 D5 U1 U2 U3 U4 U5 U6 U1 U2 U3 U4 U5 U6 Latent factor 유저와 아이템간의 상호작용 데이 터기반으로 은닉인자를 추정 Matrix factorization models
  • 16. 16 2.2 Collaborative Filtering Matrix factorization models Loss function Prediction 오차=(관측치-예측치) L2 
 regularization - 계산량이 많고 학습 속도가 느림 - missing data를 negative 샘플로 사용 wALS ALS: Alternating Least Squares 속도, 정확도 ALS + Weighting scheme Limitations
  • 17. 2.3 Deep Learning 좋아할 만한 = 나의 컨텍스트 벡터와 가까운 아이템 Non-linear models U1={0.5, -2.0, 3.1, 0.42, …} D1={-1.2, 0.1, 0.9, -0.2, …} Neural Networks 인공신경망을 통한 유저-아이템 관계 추론
  • 18. 2.3 Deep Learning RNN for News Recommendation 유저가 본 문서 시퀀스 1. 신규 뉴스의 경우 유저 로그가 없는 상태임 2. RNN을 통해 학습된 유저 임베딩 정보를 활용 3. 유저-문서간 벡터연산을 통해 뉴스를 추천 Document Sequence Doc2Vec LSTM Layer RecVec 유저가 볼 문서를 예측 유저의 문서 소비 패턴을 보고 추천
  • 19. 19 CIKM 2017 Nov. in Singapore 여기서 잠깐!
  • 20. 2.3 Deep Learning Word Embeddings d1 d2 d3 인공지능 추천 시스템 AiRS 개발기 모델링 시스템 최재호 DEVIEW2017 Convolutional Layer Max pooling FC layer (dropout + softmax) unanimity check 유저가 본 문서 어떤 토픽인지 판별 문서내 단어들의 배열을 보고 주제를 추론CNN for Deep Topic Tagger (부록2 참고)
  • 21. 2.3 Deep Learning Doc. Text Doc. Image User-Doc Sequence sequence gende age body image author time location … ReLU ReLU user RNN CNN softmax training Deep CF models item 다양한 NNs을 조합한 CF 모델
  • 22. 22 2.4 추천 모델 특징 비교 Statistics based Collaborative Filtering Deep Learning Similarity Missing data Categorica Continuou Non-linearity Neural Nets + CF Chi-squared KL-Divergence Neighborhood Matrix Factorization RNN/CNN Deep CF 통계-확률 선형-비선형
  • 23. 1. 추천 모델링이란? 2. 추천 모델 종류와 특징 3.추천 품질 평가 방법 4. 대규모 추천 시스템 구축의 실제 5. 맺음말
  • 24. 24 3.1 추천 품질 평가 요소 Accuracy : 유저가 실제 소비한 아이템이 상위에 추천되는지 Diversity : 다양한 주제/유형의 아이템이 잘 추천되는지 Novelty : 새로 나온 최신의 아이템이 잘 추천되는지 추천의 만족도 Accuracy Diversity Novelty 추천모델의 성능 Starvation 문제 해결
  • 25. 25 3.2 추천 모델 평가 방법 오프라인과 온라인 테스트를 병행하여 장기적인 관점에서 평가 오프라인 정량평가 온라인 A/B 테스트 비용이 적게 든다 (low cost) 비용이 많이 든다 (high cost) 특정 모델간 비교 평가 (specific) 유저 관심사 고정 (static) 유저 관심사 변화 (dynamic) 전체 모델간 비교 평가 (general) 실서비스 적용 여부 결정온라인 테스트 모델 선정
  • 26. 26 3.3 추천 모델 평가 지표 추천모델의 기대효과에 따라 지표를 선정하고 시간별 추이를 관찰 추천모델 정확도 평가지표 실서비스 만족도 평가지표 Precision/Recall@N 유저별 클릭수/CTR 신규 아이템 회전율 F-score/AUROC 유저별 총 체류시간 nDCG/MRR 추천 후보를 잘 찾는가? 상단에 잘 랭킹하는가? 유저가 얼마나 소비하는가? 아이템이 골고 루 nDCG : normalized Discounted Cumulative Gain AUROC : Area Under the Receiver Operating Characteristic curve MRR : Mean Reciprocal Rank CTR : Click-Though Rate
  • 27. 0.055 0.222 0.266 0.310 + + 27 3.4 추천 모델 평가 결과 Statistics based Neighborhood Model Computing Cost Recall@10k Matrix Factorization Deep Learning
  • 28. 1. 추천 모델링이란? 2. 추천 모델 종류와 특징 3. 추천 품질 평가 방법 4.대규모 추천 시스템 구축의 실제 5. 맺음말
  • 29. 4.1 추천 시스템 구축 요구사항 얼마나 많은 데이터를 얼마나 빠르게 업데이트 할 것인가 Throughput 추천 시스템 ScalabilityLatency 1. 네이버 메인 트래픽 10,000 TPS 이상 2. 네이버 액티브 유저 수천만명 개인화 서빙 3. 다양한 추천 서비스에 지속적인 확대 적용
  • 30. 4.2 추천 시스템 아키텍쳐 Data Warehouse Cuve
 kafka / Processing Cluster(C3, Brew-K) H B A S E slider A M B A R I Airflow HDFS HIVE spark H B A S E C A N A C A N A S T O R M DDK D O T Z E P P E L I N slider A M B A R I HDFS H B A S E C A N A Yarn D O T O P E N T S D B G R A F A N A Serving Cluster(Brew-C) Yarn 대규모 데이터를 실시간 처리 가능한 클러스터들의 조합 Cluster View
  • 31. 4.2 추천 시스템 아키텍쳐 오픈소스와 네이버 솔루션의 오케스트레이션 log feedbac Cuve HBase Kafka CANA DDK nBase-ARC ... storm HBase batch stream Airflow hive spark tez M/R spark Scheduling Realtime update Batch update All containers, All instances C3 / C3 DL Monitor grafana OpenTSDB TCollector HBase coll DOT RAS Data Flow G G A T E W A Y https://deview.kr/2016/schedule/135 검색엔진 Dot의 내부 https://deview.kr/2017/schedule/193 멀티테넌트 하둡 클러스터 운영 경험기 https://deview.kr/2017/schedule/188 HBase 기반 검색 데이터 저장소 https://www.slideshare.net/deview/244-52781290 분산 환경에서 스트림과 배치 처리 통합 모델 *Cuve *C3 *DOT *DDK
  • 32. 32 4.3 추천 시스템 구축 노하우 Keywords ContainerizationResearch+DevOps 유저 데이터를 분석하고 추천모델을 선정 및 학습하는 과정과 실서비스 개발 및 운영하는 과정을 통합 정제 및 서빙에 필요한 서버들을 컨테이너화 함으로써 확장성과 장애대처에 용이하도록 설계 Productivity Scalability
  • 33. 33 4.3.1 Agile Development Language & Tool 통합 데이터 분석 및 추천 모델링에 사용하는 언어와 도구를 실서비스 투입이 가능하도록 통합 Airflow (scheduler), Hive (data warehouse), Spark (big data processing engine) Hadoop YARN (distributed cluster resource manager) Slider (an application to deploy existing distributed applications on Yarn cluster) OpenTSDB/Grafana (a scalable, distributed monitoring system) DOT (distributed incremental search engine) DDK/Cana (event-driven near-realtime severless compute solution) C3 (PaaS, Hadoop cluster), Cuve (PaaS, HBase, Kafka), nBase-ARC (PaaS, Redis Cluster) Airflow Hive Spark Hadoop YARN Slider OpenTSDB/Grafana DOT DDK/Cana C3 Cuve nBase-ARC
  • 34. 34 4.3.2 Seamless Interface Cuve-Hive-DOT (c.f., HBase-Hive-Redis) 모델링 코드가 그대로 서빙 시스템에 이식될 수 있도록 시스템간 인터페이스 추상화 구현
  • 35. 35 4.3.3 Data Catalog & Reusability Hive (Meta store) 카탈로그 기반 데이터 뷰 column type desc value id string encrypted id 1234 bcookie string browser cookie CG7GYVQMI4TFQ gdid string document id 98155edc_7b4148fe13c83f2 url string document url blog.naver.com/bbbananas/ referrer string referrer url search.naver.com demo string demographic group M40_44 query string search query a3 2016 time int access time 1486996936 duration int duration time 3230 TABLE gdid_histogram.lcs_point (PARTITIONED BY (ds STRING, ts STRING)
  • 36. 36 4.3.4 효율적인 Task Scheduling Airflow DAGs 기반 관리 여러 추천서비스에서 공유가능 Sensor 활용
  • 37. 37 4.3.5 Batch Job Latency Trade-off Spark vs Hive (on MR) 약 10분 소요 약 1시간 50분 소요 Low latency batch job Spark를 이용하자 1. shuffle job 2. resource 할당 3. disk I/O 단, 중간데이터 남음
  • 38. 4.3.6 컨테이너화를 통한 Ops 효율화 서버 장애 등의 상황에 자동 failover 및 급증하는 트래픽에 대한 scailability 확보 Airflow scheduler / web 서버는 Slider를 통해 실행 Yarn Airflow Scheduler 내년 오픈소스화 예정
  • 39. 1. 추천 모델링이란? 2. 추천 모델 종류와 특징 3. 추천 품질 평가 방법 4. 대규모 추천 시스템 구축의 실제 5.맺음말
  • 40. 정리하면... 내 서비스에 딱 맞는 추천을 만들기 위해선, 충분한 데이터 탐색을 통한 유저와 아이템 분석 다양한 추천 모델을 비교하고 제대로 평가하기 위해선, 확률통계 및 머신/딥러닝 기술 적용과 올바른 평가지표 활용 Throughput, Latency, Scalability 라는 3마리 토끼를 잡기 위해선, 대규모 정제/서빙 시스템에 대한 깊은 이해와 협업정신
  • 41. Q & A
  • 43. 43 Normalized PMI 최대값은 1 함께 관측이 전혀 안될 때 독립적으로 관측될 때 항상 함께 관측될 때 : : : 부록. 1
  • 44. 44 부록. 2 Depth-1 Depth-2 Depth-3 IT/Tech 인공지능 알파고 건강/운동 다이어트 뱃살운동 게임 모바일게임 모바일rpg 디자인 공간디자인 의자디자인 Done Accuracy Doc2Vec + DNN D1 분류 (3 hidden layer) D1: 78% + Data up-sampling (minor class) D1: 88% (+8%) + Xavier initializer D1: 93% (+7%) Doc2Vec + DNN D2 분류 D2: 72% Word2Vec + CNN D2 분류 D2: 83% (+11%) + Data cleansing (multi->single label) D2: 91% (+8%) Word2Vec + CNN D1 분류 D1: 96% (+3%) Word2Vec + CNN D3 분류 D3: 78% + Data synthesis (유사 문서 추가) D3: 85% (+7%) Performance MilestonesTraining Data Labels: Docs: Depth Class Train Docs Test Docs 1 16 495,378 1,440 2 145 2,826,103 1,450 3 386 2,559,014 3,860