티스토리 뷰

1. Introduction

  • LLM의 발전에 따라 검색에도 LLM의 언어 능력을 활용하고자 시도
  • LLM에 query를 입력했을 때 직접적으로 document에 대한 유사도를 생성하도록 하는 접근 방법
  • RankGPT는 query가 주어졌을 때, document들의 유사도를 기반으로 id가 생성되도록 reranking 하는 모델
  • LLM 기반의 모델들은 corpus 내의 모든 document에 대해서는 수행 시간이 너무 오래 걸리기 때문에 reranking 정도만 가능
  • 본 논문에서는 LLM을 이용하여 임베딩을 만들고 이를 dual-encoder 구조에 활용하여 검색을 수행

 

2. Method

  • LLM에 주어진 query/document를 한 단어로 표현해달라는 prompt를 입력
  • 입력된 prompt를 바탕으로 생성된 마지막 토큰의 last hidden state를 dense representation으로 활용
  • last hidden state가 LM head를 통과하면 vocab 차원의 분포를 얻을 수 있고, 이를 활용하여 sparse representation으로 활용
  • 추가적인 학습은 진행하지 않음

 

3. Experiment

3.1 Zero-shot

 

  • Hybird는 dense와 sparse representation을 이용해 얻은 점수의 평균 사용
  • Supervised/Unsupervised training을 거친 다른 retriever에 비해서는 낮은 점수, 하지만 제안 모델은 학습이 아예 진행되지 않았음
  • hybrid setting에서는 성능이 향상

  • hybrid setting에서 bm25까지 섞어서 점수를 낸다면 오히려 추가적인 training이 있었던 모델보다 나은 성능

 

3.2 Sentitivity to different prompts

  • 모델에게 query/document를 한단어로 나타내 달라는 prompt를 다양하게 실험

  • prompt 마지막에 "The word is: " 가 빠진 프롬프트(4번)는 낮은 성능을 보였는데, 이는 모델이 the로 시작하는 단어를 생성하려는 경향을 보였기 때문
  • 1번 prompt는 2번 prompt에 "in a retrieval task"가 추가된 prompt
  • 1번 prompt를 사용해 검색을 수행했을 때, 더 좋은 성능을 보였다. 
  • 생성되는 임베딩의 품질이 prompt가 의도한 대로 따라갔다

3.3 Impact of different LLMs

  • Backbone LLM을 바꿔서 실험을 진행한 경우
  • Hybrid 방식은 거의 모든 LLM에서 BM25보다 나은 성능을 보임
  • Instruction Tuning으로 학습된 LLM이 더 나은 검색 성능을 보임

3.4 Supervised Results

  • dual encoder를 학습시키는 loss인 InfoNCE loss를 이용하여 학습
  • dense-only는 InfoNCE loss를 dense embedding에만 적용
  • dense/sparse/hybrid는 InfoNCE loss를 dense와 sparse representation에 모두 적용
  • 1k data는 MS MARCO dataset에서 랜덤으로 추출

  •  
  • 1k의 학습 데이터만으로도 검색 성능의 향상폭이 크다는 점에서 LLM이 embedding을 만들기 위한 intial 모델의 역할을 할 수 있음을 시사 
  • hybrid를 사용하여 학습하고, 추론 시에도 hybrid 방식으로 대표 embedding을 만드는 것이 가장 좋은 성능
댓글