Large Language Model Can Interpret Latent Space of Sequential Recommender(2023.10) - 논문리뷰

구자협·2024년 9월 1일

오늘은 시퀀셜 추천시스템에서 LLM을 활용해 SeqRec 모델의 latent space를 더 자세히 이해할 수 있도록하는 RecInterpreter를 제안한 논문을 리뷰하고자 한다.

논문 링크 : https://arxiv.org/abs/2310.20487

그럼 abstract부터 하나씩 살펴보자.

0. Abstract

문제정의
전통적 시퀀스 추천 시스템, 항목의 시퀀스를 모델링해서 사용자의 선호 예측 But, 이 시스템의 숨겨진 표현을 해석하는 능력은 아직 완전하지 않다. 따라서 이 논문에서는 LLM이 ID-based Sequential Rec sys의 숨겨진 표현을 이해할 수 있을까라는 의문과 함께 RecInterpreter 프레임 워크 제안
해결방안
크게 총 3가지 정도의 solution이 제안됩니다. 하나씩 살펴보면,
1. Multimodal Adaptation : RecInterpreter, 상호작용 시퀀스의 표현과 텍스트 설명을 사용하여, 표현을 LLM의 토큰 임베딩 공간으로 매핑하는 lightweight adapter 활용
2. Sequence Recovery : sequence-recovery prompt를 사용하여 LLM이 시퀀스 내 항목에 대한 텍스트 설명 생성 유도
3. Sequence Residual Analysis : 시퀀스 residual prompt를 활용해서 LLM이 새로운 항목이 추가된 후 시퀀스이 변화를 비교하여 추가된 항목을 식별하도록 함

1. Introduction

시퀀스 추천 시스템 개요

  • 이전에 상호작용한 항목(검색, 시청, 구매, 리뷰 기록 내역 등) 기반으로 다음 관심을 가질 가능성(클릭 혹은 구매까지 이어지는 경우)이 있는 항목을 예측하는 추천시스템
  • 이때 Discrete ID (이산 ID)로 모델링을 하게 된다. 즉, 사용자가 행의 순차적 패턴을 반영하는 숨겨진 표현을 학습하는 것이다.

    위 이미지에서 (a), (b), (c) 파트를 각각 자세히 살펴보자.

1. (a) SeqRec 과정

1. 항목 ID 처리
	- Discrete ID로 변환
	- Titanic, Twilight, Star Wars → ID1 ID2 ID3
2. 시퀀스 모델링
	- input → user가 상호작용한 항목(ID) sequence
	- 이를 학습해서 사용자의 행동 패턴 캡처
3. 숨겨진 표현 생성
	- Hidden Representation → SeqH 토큰 생성
	- SeqH 토큰은 사용자가 시청한 영화 목록(ID 시퀀스)을 SeqRec 인코더와 같은 추천 시스템을 통해 숨겨진 상태 SeqH로 변환한다.
    - 이 SeqH 토큰은 사용자의 시청 패턴을 요약하는 벡터 표현
4. Next Item predict
	- 이 SeqH 토큰을 기반으로 다음 item 예측 !!

2. (b) LLM4Rec 과정

1. text prompt 생성
	- 사용자 상호작용 item 기반으로 text prompt 생성
2. LLM 입력
3. 다음 항목 예측
	- “The Gotfather” ← 다음 항목으로 예측

3. (c) RecInterpreter

1. 항목 ID 처리 + hidden representation 생성  SeqRec 초입부분 똑같음
2. representation space mapping 
	- lightWeight 어뎁터 (linear layer)를 통과하여 숨겨진 표현을 LLM으 토큰 임베딩 공간으로 매핑
    - lightweight adapter이란?
    	- 대형 언어 모델(LLM)과 같은 복잡한 모델에 적은 계산 자원을 사용하여 새로운 기능을 학습하거나 기존 기능을 확장
       	- SeqRec과 동일하게 입력을 주어진 항목 ID 처리, 이를 통해 hidden representation 생성
        - 이 adapter는 주로 단순한 linear layer로 구성
-> SeqH 토큰을 LLM이 이해할 수 있는 토큰 임베딩으로 변환한다.
3. text prompt 생성
-> 이 때 SeqH 생성
4. 다음 항목 예측 및 설명

moive recommendation에 대한 prompt 예시 이미지

  • 여기서는 recommendation specific token을 갖기 위해 우리는 sequence recovery token을 제안한다.
  • empricial하게 LLaMA는 sequence hidden state를 이해할 수 있지만, 단점이 존재한다.
    - 정보가 compressive하기에 limitation이 존재한다.
    Sequence-Residual Prompt 예시
  • 기존 시청기록과 추가적으로 새롭게 들어온 항목을 반영한 각각의 representation을 반영함
  • 실험적으로 이 method 굉장히 효과적 + 대상 아이템의 text desciption까지 이해함
  • linear projection layer만이 tunable 하기에 여러 platform에서 adaptation하기에도 용이
  • gen recommender의 hidden state는 이산적으로 설명 어려움 그러나, RecInterpreter는 surrogate하게 설명 가능 !!!

    3.Inspire LLMs to understand sequential recommenders

RecInterpreter framework

3.1 Sequence-Recovery Prompting

  • 이전 멀티모달 LLM 연구에서 영감받음
  • LLM이 추천 hidden state를 바탕으로 item을 text로 reconstruct하는 접근 방식
    1) Seqeunce Encoding via Sequential Recommenders
    sequence encoding
  • EsE_s : 상호작용한 item 목록의 embedding을 concat
  • 사용자 상호작용 시퀀스 s1,s2,...,sms_1, s_2, ...,s_m을 SeqRec인 SASRec, DreamRec을 사용해 hidden state로 인코딩
    2) Representation Adaptation vis Lightweight Adapter
    linear layer 매핑
  • LLM의 token size (LLaMA → 4096)로 dimension 표현 매핑 layer`
  • 이 hidden state token은 textual content와 user interaction을 둘 다 보유3) Prompt Design for the Adapter Training
    Input과 Output에 대한 prompt design
  • 각 프롬프트 두 가지 component 포함
    1. input → projected된 hidden state SeqH 포함
    2. Output → Auto Regressive하게 hidden state에 대해 text description을 reconstruct함

3.2 Sequence-Residual Prompting제안된 아키텍처

  1. Tokenizer(토크나이저)
  • text data, LLaMA 모델이 이해할 수 있는 형식으로 변환
  • 세 개의 토크나이저가 각각 영화 목록(List1, List2)과 질문 텍스트를 토큰으로 변환하는 역할
  1. SeqRec Encoder (SeqRec 인코더)
  • user가 시청한 영화 목록을 ID sequence로 받고, 이를 latent state 상으로 변환
  • SeqRec 인코더는 두 개의 시퀀스(SeqH1과 SeqH2)를 생성합니다. SeqH1은 초기 시청 목록(List1)을 나타내고, SeqH2는 추가된 영화를 포함한 시청 목록(List2)을 나타냄
  1. linear layer (선형계층)
  • SeqH1과 SeqH2 두 가지 숨겨진 상태를 LLaMA의 입력 공간으로 매핑
  • 이 선형 계층은 튜닝 가능한 모듈로, 학습 과정에서 파라미터가 업데이트 이뤄짐
  1. LLaMA 부분
  • LLaMA는 두 시퀀스의 숨겨진 상태를 바탕으로 잔차 항목(새로 추가된 영화)을 텍스트로 식별하고 설명
  • 위 이미지에서는 "This user watched movie Twelve Monkeys in List2 but not in List1."이라는 텍스트 응답을 생성
  • Sequen일반적으로 recommendation , 매우 sparse 따라서 representation을 통해 모든 것 이해 → 어려운 문제
  • Flamingo는 두 비슷한 이미지 제시하고, 차이를 제공해서 LLM의 visual modalities 강화한 논문
  • 여기서도 비슷하게 LLaMA가sequence의 residual item, 더 잘 식별하도록 프롬프트 제안 → 두 hidden state를 project한 뒤, figure 참고하기
  • LLaMA가 이전 hidden satet와 다음 hidden state를 비교 → 추가적으로 어떤 item을 interaction했는지 이해할 수 있음 !!

3.3 Instantiate Oracle Items

위의 training step으로 generative recommender가 어떻게 작용되는지 설명
1) DreamRec

  • DreamRec으로 gen된 item → hidden vector, 따라서 nearest item을 추출해야 함 → 이는 candidate로밖에 제한되버린다.

  • 이 논문에서는 DreamRec으로 oracle item의 description을 생성할 수 있기에 explicit한 추천(result) 얻을 수 있다.
    - Drawing inspiration from the proposed sequence-residual prompting, we could let LLaMA provide the description of the oracle item generated by DreamRec, thus directly acquiring the recommendation results.
    2) Construct Sequence-Residual task with oracle item

  • Sequence residual prompting의 input으로 기존 sequence와 DreamRec으로 생성한 아이템이 포함된 seqeuence 동시 입력
    DreamRec의 sequential encoder와 linear projection adapter에 적용시킴
    3) Training and Inference

  • Training 시, 기존과 동일한 sequence residual prompting framework 사용

  • Inference 시, 앞서 설명한 방법으로 oracle item의 text description 획득 (→ DreamRec은 불가능한 부분이었음)

    4. Experiment

1) Experimental Settings

  • LLM의 tuning → 매우 time-consuming 따라서 ML100K와 STEAM dataset을 활용
  • Rec backbone → GRU4Rec, Caser, SASRec, DreamRec 사용

2) Sequence - Recovery Result

  • Pop 알고리즘 가장 인기 있는 10개 영화 게임 추천

  • 복원된 아이템의 수 의미

  • 결과
    - 추천 성능 → DreamRec이 MovieLens와 Steam 데이터셋에서 다른 알고리즘 대비 4개 이상의 아이템 복원한 비율 매우 우수
    - Caser(컨볼루션AI 시퀀셜 임베딩 추천) 와 SASRec도 꽤 많은 아이템 복원 가능
    - LLaMa, MovieLens가 Steam에 비해 더 나은 복원력 보이는 데 → Steam dataset의 게임 description이 더 복잡하고 noisy하기 때문

    Sequence-Residual Result

  • LLaMa → DreamRec과 가장 좋은 interaction 보인다 !!

  • MovieLens가 Steam보다 더 나은 성능 보임, + 다른 모델 대비 DreamRec 사용 시 Steam에서도 준수한 성능 보임
    Instantiate Oracle items

  • DreamRec을 통해 inference를 통해 추천 결과를 instantiate할 수 있다 !!

  • 다만 DreamRec 의 에시와 비슷하게, candidate를 벗어나는 instance가 실험으로 다수 발견

  • 즉, 우리가 알고있던 평가 metric Hitrate, NDCG가 아닌 gpt를 통해 evaluation 진행

  • 위 프롬프트를 통해 ChatGPT가 추천된 항목 중에서 사용자가 선호할 가능성이 높은 영화를 선택하도록 평가.

  • RecInterpreter의 역할로써 DreamRec의 오라클 아이템을 텍스트로 구체화하여 추천의 이해와 해석을 돕고, 사용자가 명확하게 이해할 수 있는 추천 결과를 제공

    5.Conclusion and Limitation

Conclusion

  • RecInterpreter 제안
    • 대규모 언어 모델(LLM)이 기존의 시퀀스 추천 시스템의 숨겨진 표현을 이해할 수 있도록 돕는 프레임워크
    • 멀티모달 언어 모델에서 motivation,
      • 이미지, 오디오 인코더와 같은 모달리티별 인코더의 숨겨진 표현을 LLM이 간단한 projeciton을 통해 인식 가능
    • 생성적 추천 완성
      • 생성적 추천 시스템에서 RecInterpreter는 생성된 항목을 텍스트로 구체화하여 명확하게 해석하고 설명할 수 있는 새로운 방법
  • 미래 연구 가능성
    • RecInterpreter를 이용해서 sequence recovery, sequence residual prompt 외에 새로운 프롬프트 framework 설계함으로써 latent space를 더 잘 이해할 수 있게끔 가능
    • 협업 필터링 모델, 대화형 추천시스템 (CRS)와 같은 다른 추천시스템 이해하는 데 LLM 활용하는 것 유망할 수 있다.

Limitation

  1. 단순한 projection - linear layer 사용
    1. 더 복잡한 adapter 필요한 경우 한계점
  2. dataset 크기
    1. 더 큰 dataset과 충분한 computing 자원을 통해 RecInterpreter 성능 높일 수 있음

이렇게 LLM을 활용해서 sequence recsys의 latent space상에서 어떻게 해석될 수 있는지에 대해서 살펴보았다. 추천시스템을 적용시키고 유저에게 제공해주기 위해서는 이에 알맞는 설명력을 갖추는 것이 필연적인데, LLM을 활용해서 이런 설명력들을 보완하는 여러 연구들이 현재 다양하게 진행되고 있다. 따라서 이와 관련된 내용들이 궁금한 사람들은 추가적으로 LLM + Rec에 대해서 더 찾아봐도 좋을 것 같다.

profile
Time Series Analysis, Artifical Intelligence

0개의 댓글