$30 off During Our Annual Pro Sale. View Details »

Sequential Recommendation System 카카오 서비스 적용기

kakao
December 08, 2022

Sequential Recommendation System 카카오 서비스 적용기

#RecommenderSystem #SequentialRecommendationSystem #ML

Sequential Recommendation System은 유저의 history의 순서와 시간을 보존하여 다음에 소비할 아이템을 예측하는 추천 시스템 입니다.
- 카카오 웹툰에 Sequential model을 적용해서 CTR, CVR, Diversity를 개선한 이야기를 해보려고 합니다.
- 카카오 웹툰 뿐만 아니라 카카오의 여러 서비스에 Sequential model을 적용해보면서 경험적으로 습득한 Sequential model이 잘 동작하는 구좌의 특성을 공유합니다.
- 또한, Sequential model의 성능을 더 끌어올리기 위해, timestamp를 적용하는 여러 실험에 대한 이야기를 추가로 해보려고 합니다.

발표자 : joel.j
카카오 추천팀에서 추천 시스템 연구/개발중인 Joel입니다.

kakao

December 08, 2022
Tweet

More Decks by kakao

Other Decks in Programming

Transcript

  1. 장원준 Joel.J


    카카오
    Copyright 2022. Kakao Corp. All rights reserved. Redistribution or public display is not permitted without written permission from Kakao.
    Sequential Recommendation System


    카카오 서비스 적용기
    if(kakao)2022

    View Slide

  2. 실험 영역


    Sequential Recommendation System 정의 및 모델 설계


    실험 과정 및 결과


    향후 발전 방향

    View Slide

  3. 실험 영역


    Sequential Recommendation System 정의 및 모델 설계


    실험 과정 및 결과


    향후 발전 방향

    View Slide

  4. View Slide

  5. 실험 영역


    Sequential Recommendation System 정의 및 모델 설계


    실험 과정 및 결과


    향후 발전 방향

    View Slide

  6. Sequential Recommendation System (SRS) 은 사용자가 관심 있어할 만한 아이템은 사용자의
    interaction sequence 에 sequential dependency를 가진다고 가정합니다1).


    Sequential Recommendation System 정의
    User


    Uu
    Item Ii
    Action: Click


    Timestamp: Tt
    Item Ii
    Action:Buy


    Timestamp: Tq
    Item Ij
    Action: Buy


    Timestamp: Tr
    1) Wang, Shoujin, et al.『Sequential Recommender Systems: Challenges, Progress and Prospects. 』IJCAI 2019. 6332–6338.

    View Slide

  7. 실험 목표
    - Sequential model이 기존 model 보다 더 좋은 성능을 보이는 상황은 어떤 것 인가?

    View Slide

  8. 실험 목표
    - Sequential model이 기존 model 보다 더 좋은 성능을 보이는 상황은 어떤 것 인가?


    - Deep learning은 추천 도메인에서 다른 학습 방법론 대비(MF, MAB, EASE 등등..) 어떤 상황에서 좋을까?


    - Side information을 넣기 쉬운 deep learning 기반 방법론들.


    - Side information 을 사용하면 정말 성능이 올라가는가?

    View Slide

  9. 모델 구조: BERT4Rec2)3)
    Transformer layer * K
    Softmax Slice last item
    Concat
    Softmax
    Time diff Item idx
    Metadata
    Embedding Embedding
    Position
    Embedding
    Mask language model task Next item prediction task
    View sequence
    2) Sun, Fei, et al,『BERT4Rec: Sequential recommendation with bidirectional encoder representations from transformer.』Proceedings of the 28th ACM international conference on information and knowledge
    management. 2019.


    3) Chen, Qiwei, et al. 『Behavior sequence transformer for e
    -
    commerce recommendation in alibaba.』Proceedings of the 1st International Workshop on Deep Learning Practice for High
    -
    Dimensional Sparse Data.
    2019.
    Feed Forward layer * N

    View Slide

  10. 실험 영역


    Sequential Recommendation System 정의 및 모델 설계


    실험 과정 및 결과


    향후 발전 방향

    View Slide

  11. User - Item


    Interaction data

    View Slide

  12. Interaction


    Timestamp4)
    User - Item


    Interaction data
    4) Steck, Harald, et al.『Deep learning for recommender systems: A Net
    fl
    ix case study.』AI Magazine 42.3 (2021): 7-18.

    View Slide

  13. Item metadata
    User - Item


    Interaction data
    Interaction


    Timestamp

    View Slide

  14. View Slide

  15. 브런치 Online AB Test 결과
    기존 추천 모델 대비 CTR
    BERT4Rec -22%
    BERT4Rec + Metadata -21%
    BERT4Rec + Timestamp -27%
    BERT4Rec + Timestamp + Metadata -22%
    CTR(Click
    -
    Through
    -
    Rate)은 클릭률을 의미하며
    (클릭 수 /노출 아이템 수) 으로 계산함.


    대조군: Matrix Factorization Model

    View Slide

  16. 왜 잘 안되었을까?
    - BERT4Rec 모델 자체 성능이 기존 추천 모델 대비 성능이 떨어짐.


    - 또한, Timestamp 추가 후 성능 떨어짐.


    - 시간 정보가 소비 성향을 파악하는 것에 도움을 주지 못함.


    - > 아이템 업데이트와 소비가 시간/요일에 고정적인 웹툰 도메인에서 새로운 실험을 시도해보자.

    View Slide

  17. View Slide

  18. 카카오 웹툰 실험 관련 용어 정리
    Pretraining (Masked Language Model): BERT의 Mask language model 방법론으로 모델을 학습하는
    과정


    NIP(Next Item Prediction): sequence 가 주어지고, 다음 item을 맞추는 과정


    TS(Timestamp): 학습에서 time context를 사용했는지 여부


    All Data: 해당 서비스에서 사용할 수 있는 모든 데이터로 모델을 확장

    View Slide

  19. 카카오 웹툰 Online AB Test 결과 Summary
    학습 방법 Transformer block Sequence length 대조군 대비 CVR 상승률 대조군 대비 CTR 상승률
    MLM 1 25 -26.26% 18.00%
    NIP 1 25 -20.45% 15.13%
    MLM + NIP 1 25 -17.59% 19.76%
    MLM + NIP 1 60 -16.15% 22.73%
    MLM + NIP 3 60 -12.73% 55.83%
    MLM + NIP + TS 3 60 -12.31% 56.83%
    All Data + MLM + NIP 3 60 36.97% 140.23%
    All Data + MLM + NIP + TS 3 60 37.70% 142.07%
    대조군: Multi Armed Bandit

    View Slide

  20. MLM, NIP 비교
    추천 도메인에서 main objective는 NIP 입니다.


    하지만 자연어 처리 도메인에서 제안되었던 MLM 기법
    으로 pretrain 된 모델을 사용할 경우 성능 향상이 있음
    을 확인 했습니다.
    학습 방법 대조군 대비 CVR 상승률 대조군 대비 CTR 상승률
    MLM -26.26% 18.00%
    NIP -20.45% 15.13%
    MLM + NIP -17.59% 19.76%
    MLM: BERT의 Mask language model 방법론으로 모델을 학습하는 과정


    NIP: sequence 가 주어지고, 다음 item을 맞추는 과정


    대조군: Multi Armed Bandit

    View Slide

  21. 데이터 양 증가
    사용자의 서비스 일부 영역의 데이터 뿐만 아니라, 서비스
    전체의 데이터를 사용 할 수 있도록 변경하였습니다.
    학습 방법 대조군 대비 CVR 상승률 대조군 대비 CTR 상승률
    MLM + NIP -12.73% 55.83%
    All Data + MLM
    + NIP
    36.97% 140.23%
    All Data: 해당 서비스에서 사용할 수 있는 모든 데이터로 모델을 확장


    대조군: Multi Armed Bandit

    View Slide

  22. 소비 Timestamp 데이터 사용
    사용자가 소비한 아이템의 Timestamp를 모델에 반영
    하는 실험 입니다.


    학습 단계: last item 소비 시간과 time diff


    서빙 단계: current time과 time diff를
    학습 방법 대조군 대비 CVR 상승률 대조군 대비 CTR 상승률
    All Data + MLM
    + NIP
    36.97% 140.23%
    All Data + MLM
    + NIP + TS
    37.70% 142.07%
    TS(Timestamp): 학습에서 time context를 사용했는지 여부


    대조군: Multi Armed Bandit

    View Slide

  23. Diversity Metric
    Sequential Model
    노출 지니 계수 (relative)

    (감소하면 Diversity 좋아짐)
    -20%
    열람 지니 계수 (relative)


    (감소하면 Diversity 좋아짐)
    -31%
    First read rate


    (증가하면 Diversity 좋아짐)
    -33%
    대조군: Multi Armed Bandit

    View Slide

  24. 누적 아이템 소비율
    0
    50
    100
    아이템 인기 순위 (숫자가 작을 수록 인기 아이템)
    0 101 201 304 409 519 655
    Diversity Metric
    Baseline
    Sequential Model

    View Slide

  25. 실험 목표 recap
    - Sequential model이 기존 model 보다 더 좋은 성능을 보이는 상황은 어떤 것 인가?


    - > non sequential model 과 비교: Multi
    -
    VAE5)


    - Deep learning은 추천 도메인에서 다른 학습 방법론 대비(MF, MAB 등등..) 어떤 상황에서 좋을까?


    - > matrix factorization model 과 비교: ALS6)
    5) Liang, Dawen, et al. 『Variational autoencoders for collaborative
    fi
    ltering.』 Proceedings of the 2018 world wide web conference. 2018.

    6) Hu, Yifan, Yehuda Koren, and Chris Volinsky. 『Collaborative
    fi
    ltering for implicit feedback datasets.』2008 Eighth IEEE international conference on data mining. Ieee, 2008.

    View Slide

  26. 카카오 웹툰 Online AB Test 결과
    Sequential Model ALS VAE
    CVR 18% -1% -7%
    First read rate -30% -4% 5%
    노출 지니 계수 -19% -14% -11%
    열람 지니 계수 -24% -13% -12%
    해당 실험은 추천팀 Bell.park(박치완 님)이 진행 해주셨습니다.


    대조군: Multi Armed Bandit

    View Slide

  27. 모델은 개선할 수 없을까?

    View Slide

  28. 12시간 15분
    BERT4Rec

    Model pretraining 시간
    BERT4Rec


    Model Finetuning 시간

    View Slide

  29. 너무 복잡하고 무겁다. 더 간단하게 해보자.

    View Slide

  30. 모델 구조: Sequence
    -
    Aware MLP(SMLP)7)
    Feed Forward
    Feed Forward
    Concat
    Emb. for last 20 items
    Emb. for last 5 items
    Emb. for last 2 items
    Emb. for last 1 items
    View sequence
    Embedding
    Item idx
    Matmul
    L2 normalization
    Softmax
    해당 모델은 추천팀 Iggy.ll, Tony.yoo, Andrew.y,
    Bell.park 과 함께 연구한 모델 입니다.
    7) Hyunsung Lee, Sungwook Yoo, Andrew Yang, Wonjun Jang and Chiwan Park,『Simple and Ef
    fi
    cient Recommendation Strategy for Warm/Cold Sessions for RecSys Challenge 2022』RecSysChallenge'22: Proceedings
    of the Recommender Systems Challenge 2022.

    View Slide

  31. 15분 10분
    BERT4Rec

    Model
    fi
    ne
    -
    tuning 시간
    SMLP


    Model 총 학습 시간

    View Slide

  32. 카카오 웹툰 Online AB Test 결과
    Ensemble SMLP SMLP
    Ensemble models


    (Soft voting)
    SMLP 14d

    SMLP 30d
    SMLP 30d
    CVR 7% 4%
    First read rate 7% 9%
    노출 지니 계수 1% 1%
    열람 지니 계수 6% 6%
    해당 실험은 추천팀 Iggy.ll(이현성 님)이 진행 해주셨습니다.


    대조군: BERT4Rec

    View Slide

  33. 실험 영역


    Sequential Recommendation System 정의 및 모델 설계


    실험 과정 및 결과


    향후 발전 방향

    View Slide

  34. Diversity
    Cold


    Start

    View Slide

  35. Diversity
    - Baseline 대비 크게 감소한 First read rate.


    - “이미 본 것을 다시 추천해주는 모델” 이라는 특성을
    가짐.


    - 추천 영역이 이미 본 것을 다시 추천해주었을 때 목표
    지표가 올라가는 영역인지 확인해야함.
    Sequential Model
    노출 지니 계수 (relative)

    (감소하면 Diversity 좋아짐)
    -20%
    열람 지니 계수 (relative)


    (감소하면 Diversity 좋아짐)
    -31%
    First read rate


    (증가하면 Diversity 좋아짐)
    -33%

    View Slide

  36. Cold start Item
    - 새로운 아이템은 sequence 학습시 등장하지 않으므로, 추천에서 제외될 확률이 높습니다.


    - MAB, 강화학습 모델은 새로운 아이템을 exploration 하는 기능이 있지만, supervised model인
    sequential model은 그러지 못합니다.


    - 이 문제는 뉴스 등 item pool이 실시간으로 변화하는 영역에서는 MAB, 강화학습 모델 대비 성능이 떨어지는
    모습을 보이게 되는 이유가 됩니다.

    View Slide

  37. 카카오뷰 Online AB Test 결과
    BERT4Rec
    CTR -14%
    MAB, 강화학습 대조군 대비 relative 하게 표현하였습니다.


    해당 실험은 추천팀 dante.l이 진행 해주셨습니다.

    View Slide

  38. 요약 및 정리
    - 추천 영역이 sequential dependency를 가지고 있다면, sequential recommendation system은 좋
    은 추천 모델이 될 수 있습니다.


    - 해당 추천 영역에서 사용할 수 있는 heterogeneous feature 들 중, sequential dependency를 파악하
    는데 도움이 될 수 있는 데이터를 활용할 수 있다면 모델의 성능을 끌어올릴 수 있습니다.


    카카오 추천팀 https:/
    /github.com/kakao/recoteam

    View Slide