Search

Recommendation as Language Processing(RLP): A Unified Pretrain, Personalized Prompt & Predict Paradigm(P5)

카테고리
LLM4REC 논문리뷰
Index
ML/DL
RecSys
P5
LLM
날짜
2023/07/30
발제자 : 이해현

1. Introduction

기존에는 서로 다른 recommendation task를 처리할 때, 각 task 마다 개별적인 아키텍쳐와 training을 진행하여 문제 해결을 했음
[문제 의식]
서로 다른 구조로 인해서 task간 representaion 및 knowledge transfer가 어렵고, generalization이 제한됨
[Solution]
본 연구에서는 P5(Unified Pretrain, Personalized Prompt, and Predict Paradigm)을 제시

P5(Unified Pretrain, Personalized Prompt, and Predict Paradigm)의 주요 목표

1.
5개의 서로 다른 추천 task에 대한 personalized prompt collection을 구현하고 이를 하나의 통합된 language generation framework으로 처리하고자 한다.
→ P5는 Personalized prompt를 통해서 서로 다른 추천 Task를 prompt-based NLP task로 전환
→ 매번 task 마다 개별적인 아키텍쳐를 만드는 것이 아니라 하나의 공통된 Transformer Architecture(T5)를 사용해서 해결
2.
Personalized Prompt는 instruction 기반의 prompt이기 때문에, 이를 기반으로 한 multi-task prompt based tuning 을 진행하여 새로운 아이템에 대해서도 zero-shot generalization을 원활히 수행하고자 한다.
T5(Text-to-Text Transfer Transformer) 모든 NLP 작업을 입력 및 출력이 항상 텍스트 문자열인 unified Text-to-Text 형식으로 구성하는 모델 → Text-to-text framework는 기계 번역, 문서 요약, 질문 응답 및 분류 작업을 포함한 모든 NLP task에 대해 동일한 model, hyperparameters, loss function 등을 사용

2. Related Work

Prompt Learning

GPT-3의 등장으로 인해 NLP task에서 prompt learning을 많이 사용하게 됨
→ P5 또한 FLAN, T0에서 사용되는 Instruction Tuning 을 활용
→ Recommendation task에 대한 명령/지침이 포함된 prompt를 사용해서 fine-tunining을 진행
P5는 recommendation task 종류에 따라서 personalized prompt collection을 구성하여 multi-task prompt-base tuning 진행

Unified Frameworks

기존의 T5, GPT3로 인해서 Text-to-Text encoder, decoder framework와 autoregressive language modeling을 사용해서 NLP downstream task를 통합하여 다룰 수 있게 됨
→ 공통의 retrained 된 모델을 사용해서 서로 다른 task를 다룰 수 있게 되고, 효율적인 knowledge sharing이 가능했음
→ P5는 여기에 Personalization을 도입하고자 함
Personalized prompt를 공통의 text-to-text encoder-decoder architecture와 동일한 language model를 사용하여 학습을 진행

NLP for Recommendation

P5에서 sequential recommedation, 추천에 대한 explanation generation과 같이 NLP 기법을 활용한 Recommendation task를 주요 task로 다룸
instruction based prompt를 사용한 Instruction tuning을 통해 conversational recommendation 수행

Zero-shot and Cold Start Recommendation

P5을 target domain과 사용자는 겹치지만 아이템은 겹치지 않는 auxiliary domain에 대해 pretrain 한뒤 target domain에 대한 task들을 해결하는 방식으로 zero-shot recommendation 을 진행
→ cold-start의 경우에 대해서만 recommendation 하는 것이 아니라 새로운 도메인 전체에 대해서 빠르게 adaptation을 진행 할 수 있도록 함

3. Personalized Prompt Collection

5가지의 서로 다른 task(rating, sequential recommendation, explanation, reivew, direct recommendation)를 수행하는 personalized prompt template을 생성
Personalized Prompt란? 서로 다른 사용자와 아이템들에 대한 정보에 해당하는 field를 포함하는 Prompt → 예를 들어, 사용자 프로필 정보(이름, 성별, 나이 등)나, 사용자 아이디와 같은 사용자에 대한 personalized field를 통해 사용자 선호도 파악에 이용 가능
Personalized Prompt template에 맞춰 raw data로 Input- target pair 생성 ⓵ rating/review/explanation prompt raw data : 아이템에 대한 rating 및 review 정보 ⓶ Sequential Recommendation raw data : 사용자 구매 이력 포함 ⓷ Direct Recommendation raw data
task family 마다 각각의 P5 personalized prompt를 구현
prompt를 사용해서 pretraining/zero-shot testing을 위한 input-target pair를 생성함
→ P5의 robustness, zero-shot generalization 향상을 위해 raw data 마다 소량의 sample만 사용해서 각 task family의 personalized prompt를 구성
→ Pretraining 단계에서 서로 다른 task의 input-target pair를 혼합한 training dataset를 구성
Personalized Prompt Collection 구성의 의의
1.
다양한 범위의 recommendation task를 커버할 수 있는 pretraining data를 생성 할 수 있음
2.
pretraining data를 통일된 format의 input-target token sequence로 표현

4. The P5 Paradigm and Model

4.1 The P5 Architecture

P5는 basic encoder-decoder framework 기반의 모델 사용
→ 양방향 text encoder에 3가지 embedding을 합쳐서 입력해서 ouput t t를 얻음
3가지 input embedding
Decoder가 인코더 output tt와 input embedding token yy를 기반으로 다음 토큰의 확률 분포를 예측
→ P5는 input text 에 대한 token yy의 negative log-likelihood를 최소화하는 방식으로 model parameter 𝜃 를 학습
P5 의 목적함수는 모든 recommendation task에서 동일하게 사용되고, 하나의 모델, loss, data format으로 여러 recommendation task를 통합

4.2 Recommendation with Pretrained P5

Pretraining 작업 이후, P5는 personalized prompt를 활용해서 서로 다른 recommendation task 수행 가능
 rating, explanation, review task
: greedy decoding 를 사용해서 answer 얻음
Greedy Decoding : 해당 시점 t 에서 가장 확률이 높은 후보(단어)를 선택하는 것 (1등만 선택하는 것) → 문장 전체를 보고 판단하는 것이 아닌, 매 time step마다 가장 좋아보이는 단어 선택
  sequential, direct recommendation task
: target output으로 item list를 제공해야 함
sequential recommendation : beam search를 적용하여 다음 추천 아이템 리스트를 생성하고, 평가 진행(모든 아이템 세팅에 대해서)
direct recommendation : beam search를 사용해 가장 높은 score를 갖는 target item list 찾기
Beam Search : Greedy decoding과 Exhaustive search 방법을 적절하게 타협한 방식으로, decoder의 매 time step에서 k개의 경우의 수만 고려해서 현 시점의 단어를 선택하는 것

5. Experiments

5.1 Experimental Setup

[Research Questions]
RQ1: 5가지의 task family에 대해 task-specific한 방법을 사용했을 때와, P5의 unified framework를 사용했을 때의 성능차이
RQ2: P5가 새로운 personalized prompt에 대해서 zero-shot generalization 능력을 갖고 있는지
RQ3: model size, task 개수, prompt 개수와 같은 scaling factor가 P5 performance에 어떤 영향을 끼치는지
RQ4: Personaliazation을 위해 각 사용자와 아이템에 대해 whole-word embedding을 추가하는 것과 multiple sub-word unit으로 tokenize 하는 것 중 어떤 방법이 효과적인지
[Dataset]
[Implementation Detail]
[Baseline]
[Metric]

5.3 Performance Comparison on Different Task Families(RQ1)

→ 5가지의 task family에 대해 task-specific한 방법을 사용했을 때와, P5의 unified framework를 사용했을 때의 성능차이를 테스트하기 위한 실험 진행
Zero-shot evaluation을 위해서 Prompt 1-10, 2-13, 3-12, 4-4, 5-8은 제외하고 pretraining 진행 (unseen)
Rating Prediction
Prompt 1-6, Prompt 1-10을 사용해 Rating Prediction 평가 진행
Prompt 1-6 사용시, P5-B가 MF와 비교했을 때 MAE가 더 좋게 나옴
Prompt 1-10(unseen) 사용 시, Prompt 1-6 사용했을 때와 비슷한 결과 보임
P5-S가 P5-B보다 MAE 성적은 좋지만 RMSE는 다소 높게 나옴
Sequential Recommendation
Prompt 2-3, 2-13 사용해서 평가 진행
P5-B가 Prompt 2-3(seen), Prompt 2-13(unseen) 모두에서 가장 좋은 성적을 보임
→ beam search 방식 도입으로 인해 sequential recommendation 성능을 높일 수 있었음
Explanation Generation
Prompt 3-9, Prompt 3-12(unseen) 사용해서 평가 진행 Prompt 3-3은 hint word를 제시 하지 않은 direct explanation generation task 진행
Prompt 3-3에서 P5가 다른 베이스라인과 비교했을 때 가장 좋은 성능을 보임
unseen prompt 였던 3-12와, hint word를 제시하지 않은 3-3에서도 P5가 PETER+보다 좋은 성능을 보임
 PETER+ 에서도 explanation generation을 위해 hint feature word를 사용
Review Preference Prediction
Prompt 4-2, 4-4 사용해서 평가 진행
Review Summarization
Prompt 4-1 사용해서 평가 진행
Review Preference Prediction 에서는 P5-S가 Beauty, Toy dataset에서 가장 좋은 성능을 보임(Sports는 P5-B, P5-S 순으로 성능이 높음)
Review Summarization에서도 P5-S가 성능이 좋음
→ P5-S가 baseline 중에서 가장 모델 사이즈가 작지만 Review related task에서 제일 좋은 결과를 냄
Direct Recommendation
xPrompt 5-1, 5-4, 5-5, 5-8 사용해서 평가 진행 5-1, 5-4(binary question prompt) : 후보 아이템들을 rank 하기위해 softmax generation probability 사용 5-5, 5-8(Generative prompt):beam search를 사용해 top-k list 생성
P5-B, P5-S 모두 BPR-MF, BPR-MLP 보다 좋은 성능을 보임

5.4 Zero-shot Generalization to Unseen Prompts and Items in New Domain (RQ2)

Transfer to Items in New Domain

→ 3개의 도메인에 모두 포함된 741명의 user에 대해서 해당 user에 대한 다른 도메인에서의 선호도를 예측하는 실험을 진행
→ 예를 들면, Toys dataset에서 pretrain된 P5 모델을 사용해 Beauty domain의 아이템들에 대한 사용자의 선호도 예측
Rating prediction(Prompts Z-2 & Z-3), like/dislike prediction (Prompts Z-1 & Z- 4),
feature word를 사용한 explanation generation(Z-6)에서는 좋은 성과를 보임
하지만, feature word를 사용하지 않은 direct explanation generation(Prompts Z-5, Z-7)에서는 성능이 좋지 않았음
→ feature word를 사용한 explanation generation(Prompt Z-6)에서 P5-B가 생성한 explanation
P5가 이전 도메인에서 학습한 내용을 기반으로 서로 다른 사용자의 rating preference와 hint feature words를 파악해서 explanation을 생성함을 확인 할 수 있음

5.5~7 Ablation Study(RQ3)

Ablation study에서는 Model Size, task 개수, prompt 개수와 같은 scaling factor가 P5 performance에 어떤 영향을 끼치는지에 대한 실험을 진행
1.
Model Size
모델 크기가 다른 P5-S, P5-B을 사용
P5-S 의 parameter number는 60.75M, P5-B의 parameter number는 223.28M
Table 2~7 의 결과를 보면, P5-S가 P5-B의 1/4 정도 크기이지만 더 좋은 결과를 보여줌.
P5-B가 Sports dataset에서 진행한 sequential recommendation, Review Preference task에서 P5-S보다 좋은 성과를 냄
→ Sports dataset 자체가 훨씬 더 많은 user, item을 다루고, review 또한 sparsity가 낮음
→ 다른 personalized 요소들 사이의 잠재적인 상관관계를 파악하기 위해서는 상대적으로 크기가 큰 모델이 더 적합함
→ Training data 특성에 따라 상황에 맞는 모델 사이즈 선택
2.
Task Scaling
multi-task prompt pretraining과 task-specific prompt pretraining 성능 비교 실험 진행
→ Beauty Domain에서 P5-S를 개별 task에서 따로따로 실험을 진행(P5-S1, P5-S2, P5-S3, P5-S4, P5-S5)한 경우(PS-SN)와 multi-task prompt pretraining(PS-5) 비교
→ rating prediction, sequential recommendation, direct recommendation에서 P5-S가 더 좋은 결과를 보임
→ explanation generation과 같은 텍스트 생성 task에서는 P5-SN의 결과가 조금 더 나음.
3.
Prompt Scaling
Zero-shot generalization 능력을 평가하기 위해서 pretraining prompt의 갯수를 줄이는 실험 진행
→ 18개의 personalized prompt만 포함한 P5-PS 와 default set인 P5-S를 Beauty Dataset에서 비교
→ 일부 generation task를 제외하고 P5-S가 P5-PS보다 좋은 성적을 보임 (3-3, 3-9, 4-1)
→ zero-shot explanation generation task(3-12) : P5-S > P5-PS
→ high quality의 Personalized Prompt가 많을 수록 P5의 zero-shot recommendation 성능 향상에 도움이 됨

5.8 How to Implement Personalization (RQ4)

Personaliazation을 위해 각 사용자와 아이템에 대해 whole-word embedding을 추가하는 것multiple sub-word unit으로 tokenize 하는 것 중 어떤 방법이 효과적인지에 대한 실험 진행
P5-I : 각 user/item 마다 Whole-word embedding을 추가
Rating Prediction(1-6, 1-10, 4-2, 4-4)와 Review Summarization task(4-1)에서는 비슷한 결과
Explanation generation task(3-3, 3-9, 3-12) : P5-I > P5-S
Sequential, Direct Recommendation task: P5-S >> P5-I
→ Sequential, Direct Recommendation task 특성상 많은 양의 whole-word embedding을 추가해야하고, T5에서 training 했을 때 성능이 저하됨
기존의 sub-word unit으로 Tokenize 하는 것이 대체적으로 더 효율적임

6. Conclusion

P5는 instruction-based personalized prompt collection을 구현하여 training에 사용하는 모든 raw data를 동일한 format으로 구성 (input-target text pairs)
하나의 통합된 language generation framework와 language modeling을 사용해서 서로 다른 recommendation task들을 수행함에 있어서 좋은 성과를 보임
새로운 아이템, 도메인, personalized prompt에 대해서도 좋은 Zero-shot generation 성능을 보임