NL-197, Query2doc: Query Expansion with Large Language Models, EMNLP 2023

◼ Comment

  • 검색을 하기 위한 쿼리를 확장하는 연구이다.
    • query rewriting하는게 아닌 query expansion이다.
  • 이 논문에서 expansion하는 방법은 매우 간단하다.
    • LLM (여기서는 주로 text-davinci-003)으로 query에게 정답 documents을 생성하라고 한다.
    • 생성된 documents가 입력으로 들어가서, 검색을 태우는 것이다.
    • BM25을 태울때는 휴리스틱하게 query을 5번 반복해서 넣는 과정이 있고
    • dense retriever을 태울때는 입력이 query+document 형태로 학습/테스트를 수행한다.
  • 즉 입력에 richer information인 pseudo-document가 들어감으로써, 더 검색 성능이 좋아진다고 보면 된다.
    • 하지만 서비스로 봤을 때, 적용하기 어려운게 pseudo-document가 입력인 것에 대한 retriever을 따로 학습해줘야 하고
    • 실시간으로 LLM 인퍼런스를 통해 pseudo-docuemnt generation을 해야한다는 점이다.
    • 물론 특정 쿼리셋에 대해 미리 생성하고 써볼 수는 있겠다만..
    • LLM으로 생성한 document을 정답셋으로 보고, small model에 distillation하는것은 어떨런지 싶다.

0 Abstract

  • 본 논문은 sparse and dense retrieval systems의 성능을 향상시키기 위한 간단하면서도 효과적인 쿼리 확장 접근법인 query2doc을 소개합니다. 
  • 제안된 방법은 먼저 LLMs을 활용하여 pseudo-documents 를 생성하고, 그 후에 쿼리를 생성된 pseudo-documents로 확장합니다. 
  • LLMs는 웹 규모의 텍스트 말뭉치에서 훈련되어 지식을 기억하는 데 능숙합니다. 
  • LLMs에서 나온 pseudo-documents는 종종 쿼리 해석에 도움이 되며 리트리버를 안내하는 데 유용한 매우 관련성 높은 정보를 포함하고 있습니다. 
  • 실험 결과는 query2doc이 BM25의 성능을 향상시키며, 특히 MSMARCO 및 TREC DL과 같은 ad-hoc IR 데이터셋에서 3%에서 15%까지의 성능 향상을 보여줍니다. 
  • 또한, 본 방법은 모델 fine-tuning 없이도 최첨단 밀집 리트리버에 대한 결과에서도 in-domain and out-of-domain에서 혜택을 제공합니다.

1 Introduction

  • 정보 검색(IR)은 사용자가 쿼리를 제시하면 큰 말뭉치에서 관련 문서를 찾는 것을 목표로 합니다. 
  • 이는 현대 검색 엔진의 핵심 구성 요소이며, 연구자들은 이 분야에 수십 년간 투자해왔습니다. 
  • IR에는 두 가지 주류 패러다임이 있습니다: 
    • BM25와 같은 어휘 기반의 희소 검색과 Xiong 등(2021)이나 
    • Qu 등(2021)의 임베딩 기반의 밀집 검색입니다. 
  • dense retrievers는 라벨이 많이 있는 경우 더 나은 성능을 발휘하지만, BM25는 도메인을 벗어난 데이터셋에서 경쟁력을 유지합니다(Thakur 등, 2021). 
  • Query expansion(Rocchio, 1971; Lavrenko와 Croft, 2001)은 pseudo-relevance feedback이나 WordNet과 같은 외부 지식 소스를 기반으로 쿼리를 다시 작성하는 오랜 기술입니다. 
  • sparse retrieval에서는 쿼리와 문서 간의 어휘적 격차를 줄이는 데 도움이 될 수 있습니다. 
  • 그러나 RM3(Lavrenko와 Croft, 2001; Lv와 Zhai, 2009)와 같은 쿼리 확장 방법은 인기있는 데이터셋에서 제한된 성공만을 보여주었으며, 대부분의 최신 dense retrievers는 이 기술을 채택하지 않습니다. 
  • 한편 Nogueira 등(2019)의 doc2query와 같은 문서 확장 방법은 희소 검색에서 효과적임이 입증되었습니다.
  • 이 논문에서는 우리가 few-shot의 프롬프트를 기반으로 pseudo-documents를 생성하여 LLMs의 쿼리 확장 모델로의 효과를 시연합니다. 
    • 검색 쿼리가 종종 짧거나 모호하거나 필요한 배경 정보가 부족하기 때문에 LLMs는 검색 시스템을 안내하기 위한 관련 정보를 제공할 수 있습니다. 
  • 이는 그들이 수조(trillions) 토큰에 대한 사전 훈련을 통해 방대한 양의 지식과 언어 패턴을 기억하기 때문입니다. 
  • 우리가 제안하는 메소드인 "query2doc"는 LLMs에 대한 몇 가지 프롬프트를 통해 pseudo-documents를 생성하고 이를 원래 쿼리와 연결하여 새로운 쿼리를 형성합니다. 
  • 이 방법은 구현이 간단하며 훈련 파이프라인이나 모델 아키텍처에 대한 변경이 필요하지 않아 정보 검색 및 LLMs 분야의 진전과 관련이 없다.
  • Future 방법은 우리의 쿼리 확장 프레임워크 위에 쉽게 구축할 수 있습니다.
  • 도메인 내 평가를 위해 MSMARCO passage ranking (Campos et al., 2016), TREC DL 2019 및 2020 데이터셋을 채택합니다. 
  • Pseudo-documents는 OpenAI의 개선된 GPT-3 텍스트-다빈치-003 (Brown et al., 2020)를 사용하여 프롬프팅하여 생성됩니다. 
  • 결과는 query2doc이 모델을 어떠한 파인튜닝도 하지 않고도 특히 TREC DL 트랙의 어려운 쿼리에 대해 BM25 알고리즘을 상당히 개선시킨다는 것을 보여줍니다. 
  • DPR, SimLM, 및 E5를 포함한 강력한 dense retrievers도 query2doc에서 혜택을 받지만 강력한 cross-encoder based re-ranker에서는 이득이 감소하는 경향이 있습니다. 
    • NL-193과 비슷한 결과인듯
    • BM25와 같은 sparse 검색기에는 query expansion/rewriting이 효과적이나 dense retriever에는 효과가 작다.
  • 제로샷 OOD 환경에서의 실험은 우리의 방법이 대부분의 데이터셋에서 강력한 기준선을 능가한다는 것을 보여줍니다. 
  • 추가 분석에서는 모델 규모의 중요성도 드러납니다. query2doc는 가장 유능한 LLM과 결합될 때 가장 잘 작동하는 반면 소규모 언어 모델은 기준선에 비해 약간의 개선만 제공합니다.
  • 재현을 돕기 위해 우리는 https://huggingface.co/datasets/intfloat/query2doc_msmarco에서 text-davinci-003에서 생성된 모든 결과를 공개합니다.

2 Method

  • 주어진 쿼리 q에 대한 pseudo-document d'를 생성하기 위해 우리는 Figure 1에 나와 있는 대로 few-shot prompting 을 사용합니다. 
  • 프롬프트에는 "Write a passage that answers the given query"라는 간략한 지시문과 훈련 세트에서 무작위로 추출한 k개의 레이블이 지정된 쌍이 포함되어 있습니다. 
    • 본 논문에서는 k = 4를 사용합니다. 
  • 이후에는 새로운 쿼리 q+로 q를 d'와 연결하여 재작성합니다. 
    • 즉 q에 대한 d'을 생성하고, [q;d']을 새로운 쿼리 q+로 간주
    • q+을 검색어로 간주하여 retriever에 태운다.
    • sparse와 dense retriever에 태우는 방법은 약간 다르다.
  • 여기서 sparse and dense retrievers에 대한 연결 작업에는 약간의 차이가 있으며, 이에 대해 다음 섹션에서 자세히 설명하겠습니다.
  • Sparse Retrieval 
    • 일반적으로 쿼리 q는 pseudo-documents보다 훨씬 짧기 때문에 쿼리와 pseudo-documents간의 상대적인 가중치를 균형있게 맞추기 위해 query term weights를 증가시킵니다. 
    • 이를 위해 pseudo-document d'와 연결하기 전에 쿼리를 n번 반복하여 쿼리 용어의 가중치를 강화합니다.
    • Here, “concat” denotes the string concatenation function. 
    • q +는 BM25 검색을 위한 새로운 쿼리로 사용됩니다. 
    • 우리는 일반적으로 n = 5가 좋은 값이라고 발견하였으며 이를 데이터셋별로 조정하지 않습니다.
  • Dense Retrieval 
    • 새로운 쿼리 q+는 원래의 쿼리 q와 pseudo-document d'를 [SEP]로 구분하여 간단히 연결된 것입니다:
    • dense retrievers를 훈련시킬 때 여러 가지 요인이 최종 성능에 영향을 미칠 수 있습니다. 
    • 이러한 요인에는 어려운 부정 샘플 채굴(Hard Negative Mining), 중간 사전 훈련(Intermediate Pretraining), 및 교차 인코더 기반 재랭커(cross-encoder based re-ranker)로부터의 knowledge distillation 등이 포함됩니다. 
    • 본 논문에서는 우리의 방법을 더 포괄적으로 이해하기 위해 두 가지 설정을 조사합니다. 
    • 첫 번째 설정은 BERT-base에서 초기화된 DPR 모델을 BM25 hard negatives 샘플만 사용하여 훈련하는 것입니다. 
      • 최적화 목표는 표준 대조 손실(Contrastive Loss)입니다:
      • 여기서 hq와 hd는 각각 쿼리와 문서에 대한 임베딩을 나타냅니다. 
      • N은 어려운 부정 샘플의 집합을 나타냅니다.
    • 두 번째 설정은 최신 dense retrievers 를 기반으로 하고 cross-encoder teacher model로부터 KL(Kullback-Leibler) divergence 을 사용하여 지식을 distill 하는 것입니다.
      • 여기서 pce와 pstu는 각각 교차 인코더와 우리의 학생 모델로부터의 확률을 나타냅니다. 
      • α는 증류 손실과 대조 손실을 균형있게 조절하는 계수입니다.
    • dense retriever은 학습하는 것
    • 이는 입력을 document도 받으니까, 기존의 query만 받는 것과는 입력이 다른형태라 그런 듯
    • 학습방법은 2가지가 있으나 특이한 것은 없는듯?
  • Comparison with Pseudo-relevance Feedback 
    • 우리가 제안한 방법은 전통적인 Pseudo-Relevance Feedback(PRF) 방법과 관련이 있습니다. 
    • 일반적인 PRF에서는 쿼리 확장을 위한 피드백 신호가 초기 검색 단계에서 얻은 상위 k개의 문서에서 나옵니다. 
    • 그러나 우리의 방법은 LLMs에게 pseudo-documents를 생성하도록 유도합니다. 
    • 우리의 방법은 초기 검색 결과의 품질에 의존하지 않으며 이는 종종 노이즈가 많거나 관련성이 없는 경우가 있습니다. 
    • 이를 facet generation와 연결해볼 수도 있을 듯
    • 대신, 우리의 방법은 최신 LLMs를 활용하여 관련 용어를 더 자주 포함할 가능성이 있는 문서를 생성합니다.

3 Experiments

3.1 Setup

  • Evaluation Datasets 
    • 도메인 내 평가를 위해 MS-MARCO 패스지 랭킹, TREC DL 2019 및 2020 (Craswell et al., 2020b) 데이터셋을 활용합니다. 
    • 제로샷 외부 도메인 평가를 위해 BEIR 벤치마크 (Thakur et al., 2021)에서 다섯 가지 저자원 데이터셋을 선택합니다. 
    • 평가 메트릭은 MRR@10, R@k (k ∈ {50, 1k}), 및 nDCG@10을 포함합니다.
  • Hyperparameters 
    • BM25 및 RM3을 포함한 희소 검색에 대해서는 Pyserini의 기본 구현을 채용합니다. 
    • 밀집 검색기를 훈련할 때는 SimLM (Wang et al., 2023)과 대부분 동일한 하이퍼파라미터를 사용하되, pseudo-documents를 포함하기 위해 최대 쿼리 길이를 144로 늘리는 등의 예외가 있습니다. 
    • LLMs에 프롬프팅할 때는 4개의 콘텍스트 예제를 포함하고 최대 128 토큰에서 샘플링하기 위해 기본 온도 1을 사용합니다. 
    • 더 자세한 내용은 부록 A를 참조하십시오.

3.2 Main Results

  • 표 1에서는 MS-MARCO 패스지 랭킹 및 TREC DL 데이터셋의 결과를 나열합니다. 
  • 희소 검색에서 "BM25 + query2doc"은 TREC DL 2019 및 2020 데이터셋에서 BM25 기준에 비해 15% 이상의 개선을 보여줍니다. 
  • 수동 검사 결과, TREC DL 트랙의 대부분의 쿼리는 long-tailed entity-centric queries로, 정확한 어휘 매칭에서 더 많은 이점을 얻습니다. 
  • 전통적인 쿼리 확장 방법인 RM3은 R@1k 메트릭을 약간만 개선합니다. 
  • 문서 확장 방법인 docT5query는 MS-MARCO 개발 세트에서 더 좋은 결과를 얻지만, 사용 가능한 모든 레이블 데이터로 T5 기반의 쿼리 생성기를 훈련해야 하며, "BM25 + query2doc"은 모델 파인튜닝이 필요하지 않습니다.
    • docT5query라는 sparse fine-tuned 방법이 있긴 한가봄.
  • 밀집 검색에서는 query2doc과 결합된 모델 변형이 모든 메트릭에서 해당 베이스라인을 능가합니다. 
    • dense retriever을 학습할 때, query2doc으로 생성된 doc을 넣고 안넣고의 차이가 있는건가?
    • 즉 BM25와 다르게, dense retriever은 training/test 모두 doc의 유무가 있는 것 같음
  • 그러나 query2doc에 의한 이득은 중간 사전 훈련이나 교차 인코더 재랭킹의 지식 증류를 사용할 때 "SimLM + query2doc" 및 "E5 + query2doc" 결과에서 나타나듯이 감소하는 경향이 있습니다.
  • 제로샷 외부 도메인 검색에서는 표 2에 나타난 것처럼 결과가 혼합됩니다. 
  • DBpedia와 같은 엔터티 중심 데이터셋에서 가장 큰 개선이 나타납니다. 
  • NFCorpus 및 Scifact 데이터셋에서는 순위 품질이 약간 감소하는 것을 관찰합니다. 
  • 이는 훈련과 평가 간의 분포 불일치로 인한 것으로 생각됩니다.

4 Analysis

  • Scaling up LLMs is Critical 
    • 우리가 제안한 방법에 대한 자연스러운 의문은 모델 규모가 쿼리 확장의 품질에 어떻게 영향을 미치는지입니다. 
    • 표 3은 1.3B 모델에서 175B 모델로 이동함에 따라 성능이 꾸준히 향상되는 것을 보여줍니다. 
    • 경험적으로, 작은 언어 모델이 생성한 텍스트는 더 짧고 사실적인 오류가 더 많이 포함되는 경향이 있습니다. 
    • 또한 "davinci-003" 모델은 더 나은 훈련 데이터와 향상된 지시 조절을 사용하여 이전 버전인 "davinci-001"을 능가합니다. 
    • 최근 공개된 GPT-4 (OpenAI, 2023)가 가장 우수한 결과를 달성합니다.
  • Performance Gains are Consistent across Data Scales 
    • Figure 2는 두 가지 DPR 모델 변형 간의 비교를 제시하는데, 이는 사용된 레이블 데이터 양에 차이가 있습니다. 
    • 결과는 "DPR + query2doc" 변형이 파인튜닝에 사용된 데이터 양과 관계없이 DPR 기준에 대해 약 1% 정도의 일관된 우수성을 보여줍니다. 
    • 이 관찰은 우리의 기여가 지속적인 지도 신호의 확장과는 별개임을 강조합니다.
  • How to Use Pseudo-documents 
    • 이 논문에서는 새로운 쿼리로 원본 쿼리와 pseudo-documents를 연결합니다. 
    • 또 다른 방법으로는 HyDE (Gao et al., 2022) 접근 방식에서처럼 pseudo-documents만 사용할 수 있습니다. 
    • 표 4에 제시된 결과는 원본 쿼리와 pseudo-documents가 서로 보완적이며, 그들의 결합이 희소 검색에서 상당히 향상된 성능을 낳는다는 것을 보여줍니다.
  • Case Analysis 
    • 표 5에서는 두 쿼리와 각각의 pseudo-documents 및 실제 결과를 보여줍니다. 
    • LLMs에 의해 생성된 pseudo-documents는 자세하고 대부분 정확한 정보를 제공하여 쿼리와 문서 간의 어휘적 불일치를 줄입니다. 
    • 일부 경우에는 pseudo-documents만으로 사용자의 정보 요구를 충족시키는 데 충분할 수 있어 검색 단계가 불필요해집니다. 
    • 그러나 LLM 생성물에는 사실적인 오류가 포함될 수 있다는 점을 주목하는 것이 중요합니다. 
    • 예를 들어, 두 번째 쿼리에서 주제 노래 "It’s a Jungle Out There"는 2003년에 시즌 2에서 사용되었으며 2002년이 아닙니다. 
    • 이러한 오류는 미묘하게 보일 수 있고 검증하기 어려울 수 있지만, LLM을 사용한 신뢰성 있는 시스템 구축에 상당한 도전을 제시합니다.

5 Related Work

  • Query Expansion and Document Expansion are two classical techniques to improve retrieval quality, particularly for sparse retrieval systems. 
    • 두 기술 모두 쿼리와 문서 간의 어휘적 격차를 최소화하려는 목표를 가지고 있습니다. 쿼리 확장은 일반적으로 관련 피드백 (Lavrenko and Croft, 2001; Rocchio, 1971) 또는 WordNet (Miller, 1992)과 같은 어휘 리소스를 기반으로 쿼리를 다시 작성하는 것을 포함합니다. 레이블을 사용할 수 없는 경우 상위 k개의 검색된 문서는 가상의 관련성 피드백 신호로 사용될 수 있습니다 (Lv and Zhai, 2009). Liu et al.은 인코더-디코더 모델을 세부적인 단서를 생성하도록 파인튜닝합니다. 반면, 문서 확장은 추가적인 관련 용어를 추가하여 문서 표현을 보강합니다. 
    • Doc2query (Nogueira et al., 2019)는 seq2seq 모델을 훈련하여 문서를 기반으로 가상의 쿼리를 예측하고 생성된 가상의 쿼리를 문서 인덱스에 추가합니다. SPLADE (Formal et al., 2021) 및 uniCOIL (Lin and Ma, 2021)과 같은 학습 기반의 희소 검색 모델은 엔드투엔드 방식으로 문서 단어 가중치를 학습하기도 합니다. 그러나 대부분의 최신 밀집 검색기 (Ren et al., 2021; Wang et al., 2023)는 확장 기술을 채택하지 않습니다. 우리의 논문은 강력한 밀집 검색기도 LLMs를 사용한 쿼리 확장에서 이득을 얻을 수 있다는 것을 보여줍니다.
  • Large Language Models (LLMs) such as GPT-3 (Brown et al., 2020), PaLM (Chowdhery et al., 2022), and LLaMA (Touvron et al., 2023) are trained on trillions of tokens with billions of parameters, exhibiting unparalleled generalization ability across various tasks. 
    • LLMs는 제로샷 방식으로 지시를 따르거나 몇 개의 예제를 사용한 팁을 통해 문맥 내 학습을 수행할 수 있습니다. 몇 개의 고품질 예제에 레이블을 지정하는 것은 최소한의 인간 노력만 필요합니다. 본 논문에서는 주어진 쿼리에서 가짜 문서를 생성하기 위해 몇 개의 샷 프롬프팅을 사용합니다. 관련성 있는 최근 연구 중 하나인 HyDE (Gao et al., 2022)는 대신 제로샷 설정에 중점을 두고, 유사성 검색을 위해 가짜 문서의 임베딩을 사용합니다. HyDE는 암시적으로 실제 문서와 가짜 문서가 동일한 의미를 다른 단어로 표현한다고 가정하며, 이는 일부 쿼리에 대해 성립하지 않을 수 있습니다. 질문 응답 분야에서는 RECITE (Sun et al., 2022)와 GENREAD (Yu et al., 2022)이 LLMs가 강력한 문맥 생성기이며 풍부한 사실적 지식을 인코딩할 수 있다는 것을 보여줍니다. 그러나 우리의 분석이 보여주듯이, LLMs는 때로 거짓 주장을 생성할 수 있어 중요한 분야에서의 실용적인 적용을 제한할 수 있습니다.

6 Conclusion

  • 본 논문은 쿼리 확장을 위해 LLMs를 활용하는 간단한 방법인 query2doc을 제시합니다. 
  • 이 방법은 먼저 LLMs에 몇 개의 샷 예제로 프롬프팅하여 pseudo-documents 를 생성한 다음, 생성된 가상의 문서를 사용하여 기존의 희소 또는 밀집 검색기와 통합합니다. 
  • 이 방법의 기본 동기는 프롬프팅을 통해 LLMs를 정제하는 것입니다. 
  • 이 방법은 간단함에도 불구하고 경험적 평가에서 다양한 검색 모델 및 데이터셋에서 일관된 향상을 보여주고 있습니다.

Limitations

  • 한 가지 명백한 제한은 검색의 효율성입니다. 
  • 우리의 방법은 토큰 단위의 자기 회귀적 디코딩으로 인해 상당히 느릴 수 있는 LLMs와의 추론 실행을 필요로 합니다. 
  • 또한 query2doc을 사용하면 확장 후 쿼리 용어의 수가 증가함에 따라 역 인덱스에서의 검색도 느려집니다. 
  • 이는 표 6의 벤치마킹 결과에서 확인할 수 있습니다. 
  • 우리의 방법의 현실적인 배치에는 이러한 요소들을 고려해야 합니다.

Reference

댓글