[논문리뷰] Real-time Attention Based Look-alike Model for Recommender System (Part 2)

본 글에서는 Real-time Attention Based Look-alike Model for Recommender System 논문의 후반부 심을 살펴보고자 한다. 특히 Online Processing, Online Serving 파트를 집중적으로 살펴보자.

Key Features

본 논문의 핵심은 3가지로 구분된다. 1. User representation을 학습하는 offline train model 2. Seeds representation 을 학습하는 비동기 online processing 3. user와 seed간의 similarity를 계산하고, 점수를 매겨 서빙하는 Online Serving

지난 Part 1에서 User representation과 offline train model을 살펴보았다면, 이번 글에서는 비동기 online processing 과 Online serving 부분에 대해 살펴보자.

1. Online Asynchronous Processing

비동기 온라인 프로세싱에서의 핵심은 앞서 데이터베이스에 가지고 있는 유저 pool의 표현 방식 seeds representation을 실시간으로 업데이트 하는 것이다. Seeds는 시스템이 지속되고, 그 pool이 늘어남에 따라 계속 축적될 것이다. 또한 가지고 있는 유저는 계속 그 행동과 히스토리 데이터를 남길 것이고 그 데이터에 따라 유저를 표현하는 방식도 최신화 되어야만한다. 따라서 이 representation 은 주기적인 업데이트가 필요하고, 수많은 seeds를 효율적으로 관리하고 비슷한 seeds를 구분 짓기 위해 군집화를 시행한다. 비동기 온라인 프로세싱은 다음 두 가지로 구성된다.

User feedback monitor

Seed의 클릭, 페이지 방문 등 프로파일 데이터를 모니터링 하며, 다음 클러스터링에 영향을 주게 되는 user profile 을 실시간으로 업데이트한다. 이 논문에서는 3백만의 click 데이터를 활용하여 seed들의 profile을 업데이트 했다.

Seeds Clustering

K-means 알고리즘을 이용해 seed 들을 k 개의 군집으로 clustering 하였다. 각 cluster의 중심점과 업데이트 되는 중심점은 저장해 놓고, 이를 seeds의 raw representation $R_{seeds}$ 개념으로 보았다.

$$
R_{seeds} = <!–swig0–>, E_{centroid_{2}}, E_{centroid_{3}} ,…, E_{centroid_{k}}}}
$$

2. Online Serving

이 온라인 서빙 부분은 실제 구현하는 각 회사나 개인의 환경에 따라 본 논문의 형태와는 다를 수 있겠다. 하지만 나 역시 이 부분의 이해를 토대로 회사의 환경에 맞게 응용하여 적용하였으므로 차분히 살펴보자.

이 모델이 서빙이 될 때, 그 input 부터 살펴보면 다음과 같다.

  1. Current user → Fetch look-alike embedding
  2. Fetch the centroid embeddings
  3. Predict global embedding (global attention unit)
  4. Predict local embedding (local attention unit)
  5. Calculate global similarity & local similarity

위 단계별로 걸쳐진 global similarity와 local similarity는 다음의 식으로 통합된다.

$$
score_{u, s} = \alpha cosine(E_{u}, E_{global_{s}})+ \beta cosine(E_{u}, E_{local_{s}})
$$

  • $E_{global_{s}}$ : seeds의 global embedding
  • $E_{local_{s}}$ : seeds의 local embedding
  • $\alpha , \beta$ : global similarity와 local similarity의 각 가중치 (본 논문에서는 $\alpha=0.3$, $\beta =0.7$로 적용했다.)

이렇게 앞서 만든 모델들의 각 유닛에 input 과 cluster embedding 간의 유사도 계산을 통해 최종 계산된 본 유사도를 활용하여 user extension 의 그룹을 정할 수 있다.

3. 본 논문 리뷰를 마치며

회사의 업무로써 이 논문을 처음 읽었을 때는 그리 크게 감탄하지 못했다. 하지만 본격적으로 구현해보면서, 본 논문의 주장하는 바와 그 주장이 논리적으로 다가와 내게 “Aha”포인트를 주어, 이 논문을 정리하고 공유해보고 싶었다. 이 논문의 인상 깊은 점은 attention unit 을 통한 global , local 유저간의 유사도를 얻는 아이디어 였다. attention unit을 제외하고 이 모델을 살펴 보면, linear regression을 이용한 user extension 과 크게 다르지 않다는 것을 알 수 있다.

다른 분야(NLP)의 전유물이라고만 느껴왔던 attention unit 을 적용하는 아이디어에 대해 다시 한번 감탄하며 나 역시 분야를 가리지 않는 스터디를 통해 창의적인 시도를 계속 해봐야겠다는 다짐을 한다.

[논문리뷰] Real-time Attention Based Look-alike Model for Recommender System (Part 2)

https://emjayahn.github.io/2023/03/12/20230312-paper-RALM-2/

Author

Emjay Ahn

Posted on

2023-03-12

Updated on

2023-03-12

Licensed under

Comments