본문 바로가기

임영윤

Language Models as Recommender Systems:Evaluations and Limitations

https://openreview.net/forum?id=hFx3fY7-m9b 2021.9.23

 

Language Models as Recommender Systems: Evaluations and Limitations

We use prompts to reformulate the session-based recommendation task to a multi-token cloze task and evaluate the proposed method on a movie recommendation dataset in zero-shot and fine-tuned...

openreview.net

논문에서는 BERT 및 GPT와 같은 PLM(Pre-trained language model)을 추천 시스템으로 사용하여 다양한 다운스트림 작업에 적응할 수 있는 능력을 활용하도록 제안합니다.

제안하는 LMRecSys모델은 세션 기반 추천 작업을 Prompt를 사용하여 Multi-token cloze으로 변환하고 영화 추천 데이터 세트에서 zero-shotfine-tuned 설정으로 평가합니다.

결과는 PLM이 zero-shot에서 무작위 추천보다 큰 차이로 성능이 우수하지만 strong linguistic bias(강한 언어적 편향)을 나타냄을 보여줍니다.

fine-tuned에서는 이러한 편향이 감소하지만 PLM은 여전히 GRU4Rec과 같은 기존 추천 시스템보다 성능이 낮습니다.

논문에서는 PLM을 추천 시스템으로 사용하는 데 있어 잠재적인 기회와 과제를 모두 강조합니다.


Prompt

PLMs를 사용하여 추천 시스템을 구현할 때 사용되는 입력 문장입니다. Prompt는 사용자가 입력하는 쿼리나 추천 요청에 대한 문장으로, 이를 PLMs에서 처리하면서 해당하는 영화 추천을 return합니다.

 

Multi-token cloze

자연어 이해 분야(NLU)에서 널리 사용되는 문제 유형 중 하나입니다. 이 문제 유형은 빈칸에 들어갈 맞는 단어나 문장을 예측하는 것으로, 여러 개의 토큰(token)을 예측해야 하는 경우를 말합니다. 이와 같은 문제 유형을 활용하여 PLMs를 추천 시스템으로 활용할 수 있습니다.

"나는 어제 [BLANK] 영화를 봤는데, [BLANK] 작품이었다" 라는 문장이 있다면,
첫 번째 빈칸에는 추천할 영화의 이름이, 두 번째 빈칸에는 해당 작품의 감독이 들어갈 수 있습니다.
이를 PLMs로 해결하면 해당 사용자에게 맞는 추천을 할 수 있습니다.

언어 편향(linguistic biases)은 언어 모델이 특정 단어, 구절, 문장 등에 대해 더 자주 예측하거나 덜 예측하는 경향을 가지는 것을 의미합니다. 이러한 언어 편향은 언어 모델이 학습할 때 사용된 학습 데이터에 의해 형성될 수 있으며, 이는 언어 모델의 성능과 효과성을 저하시킬 수 있습니다.

GRU4Rec (SESSION-BASED RECOMMENDATIONS WITH RECURRENT NEURAL NETWORKS)

GRU 4 Rec은 Session이라는 sqeuence 데이터를 GRU 레이어에 입력하여 바로 다음에 올 확률이 가장 높은 아이템을 추천하는 모델이다.


 

 

최근 대규모 사전 학습 언어 모델 (PLM)의 개발로 인해 자연어 처리(NLP) 분야에서 중요한 패러다임 변화가 일어나고 있다는 것을 다룹니다. BERT나 GPT와 같은 대규모 사전 학습 언어 모델은 모델 크기와 사전 학습 데이터 양이 증가함에 따라, 몇 가지 예시만으로도 자연어 처리 과제를 이해하고 수행하는 놀라운 능력을 보입니다. 이러한 PLM은 기초 모델(foundation model)라 합니다.

 

논문에서 제안한 LMRecSys모델은 pre-trained language models (PLMs)를 추천 시스템에 활용하기 위해, 추천 시나리오를 언어 모델링 문제로 재정의하고, 사용자의 상호작용 정보(user’s interaction sequence)를 text inquiry로 변환하여 PLMs를 이용해 추천 합니다.

 

추천 시나리오 : 다음으로 시청할 영화를 예측하는 것

사용자의 상호작용 정보 : 사용자가 이전에 시청한 영화 목록을 의미

 

One Flew Over the Cuckoo’s Nest, James and the Giant Peach,My Fair Lady. 

Now the user wants to watch _ _ _.,  where _ is a special mask token

예시) 사용자가 본 영화 시퀀스를 문장으로 변환하여 마스크 토큰을 삽입하고, PLMs를 이용해 추천하는 방식입니다.

 


이전에 NLP와 추천 시스템을 결합한 두 가지 유형의 선행 연구 설명과 이 연구와의 차이점입니다.

 

첫 번째 유형의 연구는 텍스트 정보를 사용하여 item representations을 보강하여 추천 성능을 향상시킵니다.

 

item representations은 아이템을 나타내는 정보를 숫자, 벡터, 행렬 등의 형태로 표현한 것을 말합니다. 예를 들어, 아이템의 제목, 설명, 카테고리, 출판사 등을 수치화하여 벡터 형태로 표현하는 것이 item representations의 한 예시입니다.

 

두 번째 유형의 연구는 사용자 상호 작용 시퀀스의 항목을 Natural-language 토큰으로 취급하고, 마스크 된 항목을 예측하는 등의 NLP 기술을 사용하여 사용자 표현을 학습합니다.

 

그러나 이러한 방법들은 모두 추천 데이터셋에서 모델을 처음부터 학습해야합니다. 이에 반해,  LMRecSys에서는 기존의 아이템 기반 추천 방식을 텍스트 기반의 Cloze task로 변환하여, PLMs를 사용하여 추천의 두 가지 어려운 문제를 해결하려고 합니다.

 

Cloze task는 일반적으로 텍스트에 빠진 단어를 예측하는 자연어 처리 작업입니다. 이것은 기계가 문맥을 이해하고 언어를 생성할 수 있도록 하는 데 중요합니다. 예를 들어, "나는 지금 _____에 있습니다"와 같은 빈 칸을 채우는 문장을 보여주고, 모델은 빈 칸에 올바른 단어를 예측해야합니다. 이 작업은 기계 번역, 질문 응답 시스템, 자연어 이해 및 생성 등의 다양한 자연어 처리 태스크에서 활용됩니다.


논문에서 zero-shot recommendation사용자가 기존에 선호했던 항목 목록이나 평가 데이터 없이 사용자가 본 처음 5개의 영화 제목만 주어 사용자가 다음에 볼 영화를 예측하는 작업을 말합니다. 저자는 사전 훈련된 언어 모델을 활용하여 제로 샷 추천을 수행하고 추천 작업을 다중 토큰 클로즈 작업으로 변환합니다. 여기서 모델은 이전에 본 항목이 주어진 다음 항목의 토큰화된 단어 설명의 확률 분포를 추론하여 다음 항목을 예측합니다. 

논문에서 Data Efficiency란, 가능한 적은 양의 학습 데이터로 모델을 학습하여 추천 성능을 향상시키는 것을 의미합니다. 기존의 추천 모델들은 많은 양의 사용자가 아이템을 구매, 시청, 검색 등의 행동을 할 때 생성되는 데이터를 필요로 하지만, 이 논문에서는 prompt-based learning 방법을 사용하여 적은 양의 사용자가 이전에 시청한 영화 목록만으로도 추천 모델을 학습하고 성능을 높일 수 있음을 보입니다.

논문에서 zero-shotfine-tuned 설정 모두에서 영화 추천 작업 평가 결과는

 zero-shot는 무작위 추천보다 큰 차이로 성능이 우수하지만 strong linguistic bias(강한 언어적 편향)을 나타냄을 보여줍니다.

fine-tuned에서는 이러한 편향이 감소하지만 PLM은 여전히 GRU4Rec과 같은 기존 추천 시스템보다 성능이 낮습니다.

 

논문은 시도와 관찰을 통해 PLM을 추천 시스템으로 사용하는 데 있어 잠재적인 기회(성능이 올라갈 수 있다?)와 해당 문제에 대한 통찰력을 제공합니다.


Method

수식에서 d(xi)는 아이템 xi의 단어들을 토큰화(tokenization)한 결과물입니다.

이 토큰화된 결과물은 [wi1, wi2, ..., wiL]와 같이 표현됩니다.

이렇게 변환된 각 아이템을 모아서 context sequence c를 만듭니다. c는 prompt 함수 f(●)를 사용해 얻어집니다. prompt 함수는 각 아이템에 대응하는 단어 시퀀스를 하나로 이어붙인 결과물입니다.

 

예를 들어, 사용자가 이전에 본 영화들이 [The Shawshank Redemption, The Godfather, The Dark Knight] 였다면, prompt 함수를 적용하여 "A user watched The Shawshank Redemption, The Godfather, The Dark Knight. Now the user wants to watch ___." 라는 문장을 생성합니다.

 

마지막으로, 이렇게 생성된 context sequence c와 이전에 본 아이템들을 모델의 입력으로 사용하여, 다음 아이템 xt의 확률 분포를 추론합니다.

다만, 이 경우 각 아이템은 여러 개의 토큰으로 구성될 수 있기 때문에, 이들을 모두 고려한 다음에 확률을 추론해야 합니다. 이를 multi-token inference라고 합니다.

따라서, 다음 아이템의 확률 분포는 p(d(xt)|c) = p(wt1, wt2, ..., wt,|c)로 표현됩니다.

 

제안하는 방법을 사용하여 추천을 위한 언어 모델을 사용하는 데 있어 가장 큰 어려움은 모델이 각 단계에서 단일 토큰을 예측하도록 설계되었지만 추천은 종종 항목에 해당하는 여러 토큰을 예측하는 것을 포함한다는 것입니다.

예를 들어 "Star Wars"는 여러 토큰("Star", "Wars")을 예측해야 하는 영화입니다. 이 과제는 자연어 처리에서 진행 중인 연구 분야입니다.

 

 

 

여기서 L은 각 item description의 token 수를 나타내고, N은 전체 item 수를 나타냅니다. 따라서 L forward pass는 각 item에 대해 token 수만큼의 forward pass를 수행하는 것이고, LN passes는 모든 item에 대해 각각 L forward pass를 수행하는 것을 의미합니다. 예를 들어, L=10이고 N=1000인 경우, O(LN) inference 방법은 10,000번의 forward pass가 필요하게 됩니다.

 

추천을 위해 PLM을 fine-tuned할 때 목표는 item과 사용자가 이전에 본 영화 컨텍스트를 고려하여 실측 항목의 확률을 최대화하여 추천 작업에서 모델의 성능을 개선하는 것입니다. 이는 item에 대한 예측 확률 분포와 실제 분포(one-hot vector representing the ground-truth item) 간의 차이를 측정하는 CEE을 사용합니다.

PLM이 학습되면 다양한 metric을 사용하여 추천 작업에서 평가할 수 있습니다. 이 논문에서 저자는 추천 시스템에 대한 두 가지 일반적인 평가 메트릭인 MRR@K(Mean Reciprocal Rank at K) 및 Recall@K를 사용합니다.

MRR@K는 top-K 추천 항목에서 실측 항목의 상호 순위 평균을 측정하고 Recall@K는 top-K 추천 항목에 나타나는 실측 항목의 비율을 측정합니다. 이러한 지표를 통해 작성자는 다양한 모델의 성능과 추천 방법을 비교할 수 있습니다.

 


Experiments

Q1. 제로샷 추천을 위해 사전 훈련된 언어 모델을 사용할 수 있습니까?

Q2. 추천을 개선하기 위해 선행 학습된 언어 모델을 미세 조정할 수 있습니까?

 

3.1 Zero-shot Recommendations

 zero-shot 설정에서 시작하여 모델의 성능을 비교하기 위해 MovieLens-1M 데이터셋을 사용합니다. 이를 위해 각 사용자마다 처음 5개의 시청 영화를 모델에 입력하고 그들이 6번째로 시청할 영화를 예측하도록 합니다. 모델은 각 영화의 제목을 사용하며, 모든 제목을 L=10 토큰으로 패딩 또는 자르도록 설정합니다.

예측에는 "A user watched A, B, C, D, E. Now the user may want to watch [F]."와 같은 프롬프트를 사용합니다.

이러한 방식으로 훈련된 모델을 zero-shot baseline으로 설정하고, Random, BERT-Base ItemKNN, POP, GRU4Rec와 비교합니다. 테이블 1은 zero-shot 모델의 성능을 나타내고, 테이블 2는 다른 추론 방법의 경우 연구 결과를 제시합니다.

Recall@20 (R@20) 은 추천 시스템에서 사용되는 성능 측정 지표입니다. 이 지표는 추천 시스템이 사용자에게 제안한 상위 20개의 아이템 중에서 실제로 사용자가 선호하는 아이템의 비율을 측정합니다.

예를 들어, Recall@20이 0.3이라면, 사용자가 선호하는 아이템 중 30%가 추천 시스템이 제안한 20개의 아이템 안에 있었다는 의미입니다.

그래서 Recall@20 값이 높을수록 추천 시스템이 사용자에게 적합한 아이템을 더 많이 추천한다는 것을 의미합니다.

 

3.1.1 Results & Analysis

Multi-token inference methods significantly influence the results.

 그들은 추론 방법의 선택이 결과에 상당한 영향을 미친다는 것을 발견했습니다. O(1) inference의 경우 모든 영화 제목을 10개 토큰의 고정 길이로 채우거나 자르고 10개 마스크를 남기고 언어 모델을 사용하여 한 번에 모든 마스크를 채웠습니다.

그러나 일부 영화 이름이 10개 토큰보다 길고 10개 마스크 뒤에 마침표를 추가하면 텍스트가 비문법적이어서 언어 모델이 올바르게 채울 수 없기 때문에 이 방법이 무작위 추천보다 성능이 더 낮았음을 발견했습니다.

이 문제를 해결하기 위해 그들은 1-L 마스크만 남겨두고 L 시간 동안 모델에 공급하고 길이에 따라 각 영화의 출력을 선택하는 간단한 솔루션을 사용했습니다.

그들은 이 방법을 O(L) inference이라고 명명했으며, 이는 O(1) inference보다 2배 더 많은 R@20을, 무작위보다 1배 더 많은 R@20을 달성했습니다. 저자는 정확한 이름 뒤에 마침표만 추가했기 때문에 입력이 O(L)/O(LN) 추론에 대해 문법적으로 정확함을 보장했습니다. GPT2 O(LN)은 다른 추론 방법 중 가장 좋은 성능을 보였지만 계산 비용(아마도 시간?)이 훨씬 높았다.

O(1) inference는 어떤 시스템에서 입력 크기와 관계없이 일정한 시간 복잡도를 가지는 추론 방법입니다. 이 논문에서는 이 방법으로 item sequence의 모든 마스크를 한 번에 채우는 것을 의미합니다. 따라서 O(1) inference를 사용하여 각 아이템을 나타내는 시퀀스에서 모든 마스크를 동시에 채우고 각 토큰의 확률 분포를 독립적으로 추정합니다.

 

Model size and prompt have small influences on the results.

논문에서 영화 추천 작업을 위해 제안한 LMRecSys 방법의 성능에 대한 모델 크기와 프롬프트의 영향을 연구했습니다.

그들은 다른 많은 NLP 작업과 달리 추천 작업에 대한 모델 크기 및 프롬프트의 영향이 상대적으로 작다는 것을 발견했습니다.

구체적으로, 모델 크기를 GPT2-Small(117M 매개변수)에서 GPT-XL(1542M 매개변수)로 늘리면 Recall@20 메트릭이 0.72%만 향상된다는 것을 관찰했습니다.

또한 약한(weaker) 프롬프트(A, B, C, D, E, [F].)강한(stronger) 프롬프트(A user watched movies A, B, C, D, E. Now the
user may want to watch the movie [F].)그리고 두 프롬프트 간의 성능 차이도 상대적으로 작다는 것을 발견했습니다.

 

3.1.2 Case Study

저자는 LMRecSys에 사용된 언어 모델이 무작위 예측보다 더 높은 성능을 달성했음에도 불구하고 추천에 대해 명확한 언어 편향(lingustic biases)을 보였다는 것을 발견했습니다. 모델링된 확률이 다르기 때문에 다른 편향이 다른 추론 방법과 연관되었습니다.

 

이 논문에서 O(1) 추론은 각 항목 설명을 일정한 길이(L)로 패딩하고 모든 마스크를 채우기 위해 언어 모델을 하나의 패스로 사용하는 방법입니다. 반면에, O(LN) 추론은 각 항목 설명의 마스크를 L개로 남겨두고 각각을 모델에 입력하여 N개의 항목에 대해 모델을 L번 호출하는 방법입니다. 즉, O(1) 추론은 상수 시간 복잡도를 가지며, O(LN) 추론은 선형 시간 복잡도를 가집니다.

 

논문에서 실험 결과를 보면, O(1) 추론 방법은 패딩에 의한 언어 모델 입력의 불일치와 문법 오류를 포함한 문제로 인해 성능이 낮다는 것을 알 수 있습니다. 반면에, O(LN) 추론 방법은 성능이 더 나아짐과 동시에 문법적으로 올바른 문장을 만드는 것이 가능해집니다. 그러나 O(LN) 추론은 더 높은 계산 비용을 요구합니다.

 

O(1) 추론 방법은 일반적이고 문법적인 시퀀스를 선호했고, O(LN) 추론 방법은 독특하게 길고 문법적인 시퀀스를 선호했으며, O(LN, sum) 추론 방법은 짧고 문법적인 시퀀스를 선호했습니다. 모든 추론 방법은 비문법적 시퀀스에 페널티를 부여했습니다. 이는 언어 모델이 "collaborate filtering"(사용자 선호도에 따라 유사한 항목 추천)보다 "language modeling"(유창하고 문법적으로 올바른 텍스트 예측)에 더 중점을 두었음을 시사합니다. 

 

언어 모델 추천 시스템의 맥락에서 "언어 편향"이라는 용어는 추천에서 특정 언어 패턴이나 구조를 선호하는 언어 모델의 경향을 나타냅니다. 예를 들어 모델은 사용자의 실제 선호도에 초점을 맞추기보다는 문법적으로 정확하거나 더 일반적인 단어가 포함된 영화 제목을 선호할 수 있습니다.

이 연구는 미세 조정 후 LMRecSys 모델이 합리적인 정확도로 item을 추천하는 방법을 배웠다는 것을 발견했습니다. 그러나 모델이 비문법적 이름, 특히 영어가 아닌 단어가 있는 영화에 벌점을 부과하는 하단 예측에 대한 언어적 편향이 여전히 존재했습니다.

이는 학습을 통해 모델이 여전히 "collaborate filtering""보다 "language modeling"에 가깝다는 것을 나타냅니다. 즉, 사용자 선호도에 따라 유사한 항목을 추천하는 것보다 유창하고 문법적으로 올바른 텍스트를 예측하는 데 더 중점을 두었습니다


이 연구는 다른 추론 방법이 다른 유형의 언어 편향을 생성하는 경향이 있음을 발견했습니다. 예를 들어, O(1) 추론은 일반적이고 문법적인 시퀀스를 선호하는 반면 O(LN) 추론은 길고 문법적인 시퀀스를 선호합니다. 모든 추론 방법은 비문법적 시퀀스에 페널티를 부여했습니다.

이러한 편향을 줄이기 위해 연구자들은 각 권장 사항의 원래 확률에서 "기본 확률"(null 컨텍스트에서 계산됨)을 빼는 간단한 보정 방법을 시도했습니다. 이 접근 방식은 언어 편향을 약간 완화했지만 편향이 완전히 제거되지는 않았습니다.

 

 

 

 

3.2 Fine-tuned Recommendations

LMRecSys는 권장 사항을 개선하도록 fine-tuned되었습니다. 서로 다른 다중 토큰 추론 방법을 사용하여 항목 확률 분포를 추정한 후 CEE(Cross entorpy loss)을 사용하여 실측 항목의 확률을 최대화합니다. 서로 다른 모델의 성능과 서로 다른 양의 학습 데이터를 비교합니다. 학습 데이터의 양을 조절하기 위해 세션 길이 K를 제어합니다.

 

3.2.1 Results & Analysis

결과는 fine-tuned 후에도 LMRecSys 모델이 GRU4Rec 기준선에 비해 성능이 떨어지는 것을 보여줍니다. 이는 다음 항목을 여러 토큰으로 예측하는 작업이 다음 항목을 단일 엔터티로 예측하는 것보다 본질적으로 더 어렵기 때문일 수 있습니다.

그러나 이 작업에서는 RoBERTa가 BERT보다 약간 더 나은 성능을 보이는 것으로 관찰됩니다. 이는 RoBERTa가 BERT보다 10배 더 많은 사전 훈련 데이터로 훈련되었기 때문일 수 있습니다. 더 큰 훈련 데이터는 RoBERTa가 데이터에서 더 복잡하고 다양한 패턴을 캡처하여 더 나은 성능으로 이끄는 데 도움이 되었을 수 있습니다.

 

또, DAPT(Domain-adaptive pre-training)는 도메인 특정 데이터에 대한 사전 교육을 계속하여 사전 교육된 언어 모델에 도메인 특정 지식을 주입하는 방법입니다. 이 연구에서 저자는 DAPT를 사용하여 웹에서 크롤링된 520K 영화 시놉시스에서 BERT를 사전 훈련했습니다. 각 시놉시스는 제목과 연결되었고 결과 텍스트는 임의의 단어의 30% 또는 전체 제목을 1:1 비율로 대체하여 마스킹되었습니다. 

사전 훈련된 모델은 추천을 위해 MovieLens-1M 데이터 세트에서 미세 조정되었습니다. 저자는 이 하이브리드 마스킹 전략이 제로 샷 및 미세 조정된 권장 사항 모두의 성능을 약간 향상시켰지만 일반적인 사전 훈련 데이터에 비해 도메인별 데이터의 작은 크기로 인해 개선이 제한적이라는 것을 발견했습니다.