
본 논문은 대형 언어 모델(LLMs, Large Language Models)이 추천 시스템의 제로샷 랭킹(zero-shot ranking) 모델로 얼마나 효과적인지 탐구합니다. 전통적인 추천 시스템과 달리, LLM은 별도의 데이터 학습 없이도 사용자 상호작용 이력을 기반으로 후보 아이템을 순위화할 수 있는 가능성을 보여줍니다.
zero-shot : 해당 도메인이나 아이템에 대해 학습 데이터가 전혀 없는 상태
최근 대규모 언어 모델(LLMs, 예: GPT-4)은 추천 작업을 포함하여 다양한 범용 작업을 해결할 수 있는 뛰어난 잠재력을 보여주고 있습니다. 본 연구는 추천 시스템의 랭킹 모델로서 대규모 언어 모델의 역량을 조사하는 것을 목표로 합니다.
이를 위해, 순차적 상호작용 이력을 조건으로 하고, 후보 생성 모델에 의해 검색된 아이템을 후보로 간주하여 추천 문제를 조건부 랭킹 작업으로 공식화하였습니다. 이후, 순차적 상호작용 이력, 후보 아이템, 랭킹 명령어를 포함하는 프롬프트 템플릿을 신중히 설계하여, LLM을 활용한 랭킹 과제를 해결하는 특정 프롬프트 접근 방식을 제안합니다.
실험 결과, LLM은 기존 추천 모델과 동등하거나 더 나은 제로샷 랭킹 능력을 보유하고 있음을 입증했습니다. 또한, LLM이 과거 상호작용의 순서를 인식하는 데 어려움을 겪고, 위치 편향과 같은 문제에 영향을 받을 수 있지만, 이를 완화하기 위해 특별히 설계된 프롬프트와 부트스트랩 전략이 효과적임을 확인했습니다.
prompt template : LLM에 입력되는 자연어 형태의 질문, 설명, 명령 등을 구조화된 형식으로 설계한 틀
bootstrap strategy : 모델 학습이나 평가의 편향을 줄이고 안정성을 높이기 위해 사용하는 전략
대부분의 기존 모델은 특정 도메인 또는 작업 시나리오의 사용자 행동 데이터로 학습되며, 두 가지 주요 문제를 가지고 있습니다.
이에 따라, 추천 성능과 상호작용을 개선하기 위해 사전 학습된 언어 모델을 사용하려는 노력이 증가하고 있습니다. 이러한 모델은 자연어로부터 사용자의 선호도를 명시적으로 포착하거나 텍스트 코퍼스로부터 풍부한 배경지식을 이용하여 새로운 도메인이나 상황에서도 유용한 추천을 생성하게 합니다.
본 논문에서는 보다 상세한 실증 연구를 통해 추천 모델 역할을 하는 LLM의 역량을 살펴보고자 합니다.
전반적으로, 우리는 다음과 같은 핵심 질문에 답하려고 시도합니다:
- LLM의 제로샷 랭킹 성능에 영향을 미치는 요인은 무엇인가?
- LLM이 추천 작업에서 의존하는 데이터나 지식은 무엇인가?
결과적으로, 추천 시스템의 강력한 랭킹 모델로서 LLM을 개발하는 방법에 대해 몇 가지 중요한 발견을 제시합니다.
- LLM은 주어진 순차적 상호작용 이력의 순서를 인식하는 데 어려움을 겪습니다.
- 하지만, 특정하게 설계된 프롬프트를 사용하면 LLM이 순서를 인식하도록 유도할 수 있으며, 이는 랭킹 성능을 향상시킵니다.- LLM은 랭킹 시 위치 편향(position bias)과 인기 편향(popularity bias)을 겪습니다.
- 그러나 부트스트래핑 또는 특별히 설계된 프롬프트 전략을 통해 이러한 편향을 완화할 수 있습니다.
LLM의 추천 능력을 조사하기 위해 먼저 추천 프로세스를 조건부 랭킹 작업으로 공식화합니다. 다음으로 추천 작업을 해결하기 위해 LLM을 적용하는 일반적인 프레임워크를 설명합니다.
한 사용자의 과거 상호작용 (상호작용 시간 순서대로)가 "조건"으로 주어졌을 때, 관심 있는 상품이 더 높은 순위에 오를 수 있도록 후보 상품 의 순위를 매기는 것이 과제입니다.
실제로, 후보 상품은 일반적으로 전체 상품 집합 () 에서 후보 생성 모델에 의해 검색됩니다. 또한, 각 상품 는 설명 텍스트 와 연관되어 있다고 가정합니다.
먼저 각 사용자에 대해 순차적인 상호작용 이력 (조건)과 검색된 후보 상품 (후보)를 각각 포함하는 두 개의 자연어 패턴을 구성합니다.
그런 다음, 이러한 패턴을 최종 명령어로 자연어 템플릿 에 채웁니다. 이러한 방식으로 LLM은 명령어를 이해하고 명령어가 제시하는 대로 순위 결과를 출력합니다. 다음은 접근 방식의 세부적인 명령어 설계에 대해 설명합니다.

LLM이 과거 사용자 행동에서 사용자 선호도를 파악할 수 있는지 알아보기 위해, 순차적 과거 상호작용 를 LLM의 입력으로 명령에 포함시킵니다.
LLM이 과거 상호작용의 순차적 특성을 인식할 수 있도록 하기 위해 세 가지 방법으로 명령을 구성할 것을 제안합니다:
순차적 프롬프트 (Sequential Prompting)
"나는 과거에 다음과 같은 영화를 순서대로 시청했습니다: '0. 멀티플리시티', '1. 쥬라기 공원', ..."최근 중심 프롬프트 (Recency-focused Prompting)
"나는 과거에 다음과 같은 영화를 순서대로 시청했습니다: '0. 멀티플리시티', '1. 쥬라기 공원', ... 가장 최근에 본 영화는 죽은 대통령입니다."상황 내 학습 (In-Context Learning, ICL)
"내가 과거에 다음 영화를 순서대로 본 적이 있다면: '0. 멀티플리시티', '1. 쥬라기 공원', ... 순으로 본 적이 있다면, 죽은 대통령을 추천해야 하고, 이제 내가 죽은 대통령을 봤으니 ..."일반적으로 순위를 매길 후보 상품은 여러 후보 생성 모델에 의해 먼저 검색됩니다.
LLM으로 이러한 후보 상품의 순위를 매기기 위해 후보 상품 를 순차적으로 정렬하기도 합니다.
"이제 다음에 볼 수 있는 후보 영화는 20개입니다: '0. 시스터 액트', '1. 선셋 블러바드', ..."기존 연구에 따르면, LLM은 자연어 명령어를 따라 제로 샷 환경에서 다양한 작업을 해결할 수 있습니다.
LLM을 랭킹 모델로 사용하기 위해 최종적으로 위에서 언급한 패턴을 명령 템플릿 에 통합합니다.
"[순차적인 과거 상호작용을 포함하는 패턴 H] [검색된 후보 상품을 포함하는 패턴 C] 나의 시청 이력에 따라 이 영화들의 순위를 매겨주세요."LLM이 자연어로 생성한 텍스트를 후보 아이템과 비교하여 정확하고 구조화된 추천 결과를 생성합니다.
효율적인 문자열 매칭 알고리즘(KMP)을 활용해 빠르고 정확하게 후보를 매칭합니다.
후보 리스트 외 아이템을 처리하여 결과의 신뢰성과 정확성을 높입니다.

사용된 데이터셋:
데이터 전처리:
평가 방법:
랭킹 성능 평가:
구현 세부사항:
LLM 설정:
본 연구에서는 과거 사용자 행동을 프롬프트로 인코딩하여 추천을 위해 특별히 훈련되지 않은 대규모 언어 모델에 입력합니다.
LLM은 주어진 과거 사용자 행동의 순서를 이해할 수 있는가?
1. 실험 설정
2. 비교 대상
Ours:
Random Order:
Fake History:
3. 결과 분석
(a): 모델 간 성능 비교
(b): 행동 데이터 수와 성능 간의 관계
위의 관찰에 따르면, 기본적인 프롬프트 전략으로는 LLM이 상호작용 이력에서 순서를 인식하기 어려움을 발견했습니다.
이에 따라, 최근 상호작용된 아이템을 강조하고, LLM의 순서 인식 능력을 이끌어내기 위해 두 가지 대안적인 프롬프트 전략을 제안했습니다.
랜덤으로 검색된 후보군에서의 성능 비교
1. 열의 구성
Method:
Metric (NDCG@K):
Dataset:
2. 행의 구성
3. 결과 분석
Full 모델
Zero-Shot 모델
LLM 기반 방법 (Sequential, Recency-Focused, In-Context Learning):
BM25, UniSRec, VQ-Rec:
4. 해석
Full 모델 vs Zero-Shot 모델
LLM은 주어진 순차적 상호작용 이력에서 순서를 인식하는 데 어려움을 겪습니다.
특별히 설계된 프롬프트(Recency-Focused, In-Context Learning)를 사용함으로써, LLM이 과거 사용자 행동의 순서를 인식하도록 유도할 수 있으며, 이는 개선된 랭킹 성능으로 이어집니다.
이 섹션에서는 LLM 기반 추천 모델이 겪을 수 있는 두 가지 편향, 즉 위치 편향과 인기 편향에 대해 설명합니다. 또한 이러한 편향을 완화하는 방법에 대해서도 논의합니다.
LLM이 랭킹에서 편향을 겪는가?
Fig.3: Biases and debiasing methods in the ranking of LLMs.
실험 개요
Fig.3 (a): 위치 편향 (Position Bias)
Fig.3 (b): 부트스트래핑으로 위치 편향 완화
Fig.3 (c): 인기 편향 (Popularity Bias)
Fig.3 (d): 상호작용 이력을 활용하여 인기 편향 완화
Zero-shot ranking performance comparison (설명 생략)
LLM은 랭킹에서 위치 편향(Position Bias) 및 인기 편향(Popularity Bias)을 겪습니다.
이러한 편향은 부트스트래핑(Bootstrapping)과 특별히 설계된 프롬프트 전략과 같은 방법으로 완화 가능합니다.
이 섹션에서는 제로 샷 설정에서 LLM이 후보 상품의 순위를 얼마나 잘 매길 수 있는지 파악합니다.
먼저 벤치마킹 실험을 통해 기존 추천 모델, 기존 제로샷 추천 방법, 제안한 LLM 기반 방법 등 무작위 후보에 대한 다양한 방법 간의 순위 지정 성능을 비교합니다. 다음으로, 다양한 전략에 의해 검색된 하드 네거티브가 있는 후보에 대해 LLM 기반 방법을 평가하여 LLM의 순위가 무엇에 따라 달라지는지 자세히 살펴봅니다.
Fig.4: Ranking performance measured by NDCG@10 (%) on hard negatives.
Table 4: Performance comparison on candidates retrieved by multiple candidate
generation models.
실험 설정
결과
ML-1M 데이터세트
Games 데이터세트
하드 네거티브의 영향
결론
LLM은 다양한 후보 생성 모델에서 검색된 후보들에 대해 제로샷 랭킹 능력을 가지고 있으며, 특히 실제 환경에서 여러 전략을 조합한 설정에서도 강력한 성능을 발휘합니다.
본 연구는 추천 시스템의 제로샷 랭킹 모델로서 LLM의 역량을 조사하였습니다.
자연어 프롬프트를 구성하여 LLM이 과거 상호작용, 후보 아이템, 명령 템플릿을 활용하도록 설계하였고,
프롬프트 전략과 부트스트래핑을 사용해 LLM의 위치 편향(position bias)과 인기 편향(popularity bias) 문제를 완화 하였습니다.
주요 발견 :
향후 연구 방향 :
실험에서는 ChatGPT를 주요 LLM으로 사용
오픈소스 LLM(예: LLaMA 2, Mistral)과 비교 시 성능 격차 확인 가능
=> 이 격차로 인해 오픈소스 모델만으로는 LLM의 능력을 충분히 평가하기 어려움
특정 프롬프트와 데이터셋으로 인한 편향 가능성 존재
실시간 데이터와 내재된 지식의 융합
현재 논문에서는 사전 학습된 지식을 활용해 제로샷 환경에서 추천을 제공합니다. 그러나 실시간 데이터를 결합하면 더 나은 성능과 적응력을 확보할 수 있을 것입니다.
실시간 사용자 행동 데이터를 추가 반영하는 LLM 모델의 프롬프트 설계가 앞으로의 주요 연구주제가 될 것이라고 생각합니다. (오프라인 학습된 지식과 실시간 데이터를 동적으로 결합하는 방법론 개발)
LLM이 제로샷 환경에서 발생하는 편향(인기 편향, 위치 편향)을 완화하기 위해 부트스트래핑 이외의 추가적인 debiasing 방법이 존재할 것이라 생각합니다.
제로샷 랭킹 성능의 한계 탐구
본 논문에서는 LLM이 상호작용의 순서를 인식하지 못하는 문제를 해결하기 위해 프롬프트 양식을 조정한다거나, 편향을 줄이기 위해 부트스트래핑을 사용하는 등 여러 효율적인 방안들을 고안하였습니다.
하지만 개인적으로 제로샷 환경에서 성능을 향상시켰다는 점보다는 논문의 실험 결과와 같이 해당 도메인의 데이터로 학습된 모델이 성능이 우수하다는 점에서 "제로샷 환경에서의 추천 성능 향상이 유의미한 연구일까?" 하는 생각이 논문을 읽으며 지속되었습니다.
따라서 해당 연구가 어떤 의미를 갖는지를 더 자세히 찾아보았는데, 이전에 읽었던 Survey Paper에서와 같이 CRS는 양질의 학습 데이터 확보가 어려울 뿐만 아니라 대규모 데이터를 LLM에 학습시키는 것 또한 많은 비용이 든다는 점에서, 사전 학습된 LLM을 적절한 프롬프트 양식과 편향을 줄이는 방식을 통해 추가 학습 없이 추천 모델로 사용할 수 있다는 점에서 유의미 하다는 것을 깨달았습니다.
또한 다양한 도메인 지식을 내재하고 있기에, 폭넓은 추천 시스템으로서 활용될 수 있고, 사용자 데이터 수집 및 저장이 불가능한 환경에서 우수한 성능을 보일 수 있다는 점을 알게 되었습니다.
연구의 목적을 단순 성능 개선이 아니라 사전 학습된 지식의 활용 가능성 측면에서 바라본다면, 내재된 지식을 통해 문제를 해결할 수 있는 능력을 확장한다는 관점에서 유의미한 결과를 도출하였다고 생각합니다.