https://arxiv.org/abs/2308.07107
Large Language Models for Information Retrieval: A Survey
As a primary means of information acquisition, information retrieval (IR) systems, such as search engines, have integrated themselves into our daily lives. These systems also serve as components of dialogue, question-answering, and recommender systems. The
arxiv.org
정보 습득의 주요 수단으로 검색 엔진 같은 IR 시스템은 우리의 일상에서 우리 스스로와 결합해왔다. 이러한 시스템은 대화, question-answering, 추천 시스템의 컴포넌트로서 제공되어왔다. IR의 궤도는 용어(term) 기반 방식에서 발전된 신경망 모델까지 역동적으로 진화해왔다. 신경망 모델은 복잡한 맥락적 시그널과 의미적 뉘앙스를 포착하면서 IR의 전망을 바꾸었지만, 여전히 데이터 부족(scarcity), 해석능력, 맥락상 타당하지만 잠재적으로 부정확한 답의 생성 같은 어려움을 여전히 마주하고 있다. 진화는 전통적인 방법과 현대의 신경망 구조의 결합을 요구한다. 반면 LLM(대표적으로 ChatGTP, GPT-4)의 등장은 뛰어난 언어 이해, 생성, 일반화, 추론 능력으로 자연어 처리에 혁명을 일으켰다. 결과적으로 최근 연구들은 IR 시스템을 향상시키기 위해 LLM을 활용하고 있다. 이런 연구 궤도의 빠른 진화를 고려해볼 때, 이미 존재하는 방법론과 포괄적인 시선을 통해 미묘하게 다른 통찰을 결합해야 한다. 이 설문에서 우리는 query rewriter, retriever, reranker, reader를 포함한 LLM과 IR 시스템의 결합을 조사하였다. 또한 이 확장하고 있는 분야에서 유망한 방향을 탐색하였다.
1 Introduction
IR 시스템의 예로로는 Google, Bing, Baidu 같은 검색 엔진이 있다. 이들은 인터넷에서 IR 시스템 역할을 한다. 사용자의 query에 response로 관련있는 웹 페이지를 검색하고, 인터넷의 정보로의 편하고 효율적으로 접근할 수 있게 한다. 대화 시스템(챗봇)으로는 Microsoft Xiaoice, Apple Siri, Google Assistant이 있다. 이들은 사용자의 말(입력)에 적절한 답을 찾고, 자연스러운 인간-기계 대화를 생성하다. question-answering 시스템에서도 비슷하게, IR 시스템은 사용자의 질문을 처리하기 위해 필요한, 적절한 단서를 선정하는데에 사용된다. 이미지 검색 엔진에서는 사용자의 입력 쿼리와 맞는 이미지를 반환한다.
이 논문에서는 텍스트 검색 시스템에 대해서만 리뷰하고 있다. 검색(retrieval) 알고리즘에서 효율성은 중요하다. upstream에서(쿼리 재구성(query reformulation)), 그리고 downstream(reranking과 reading), 이 두가지 방향에서 성능이 개선되고 있다. 쿼리 재구성은 사용자의 쿼리가 관련 문서를 더 효과적으로 검색하도록 개선(refine)하는 것을 말한다. reranking은 검색 단계와 반대로 관련있는 문서(미리 retriever에 의해 검색된) 중 일부에 대해서만 수행된다. reranking 과정에서 더 복잡한 접근을 허용하면서, 더 좋은 효율성보다는 더 좋은 성능을 얻는데에 강조되고 있다. 추가적으로 reranking은 다른 특정 요구사항(personalization, diversification)을 수용할 수 있다. retrieval, reranking 다음으로 오는 reading 컴포넌트는 검색된 문서를 요약하고 사용자에게 간결한 문서를 전달하기 위해 사용된다. 전통 방식에서는 사용자가 그 일을 직접해야 했다.
초기 IR은 키워드 매칭에 집중한 용어 기반, Boolean 로직 중심이었다. 벡터 공간 모델에 등장하며 용어 사이의 의미적 관계를 포착하게 되었다. 통계적 언어 모델과 함께 맥락적, 확률적 고려를 통해 관련성(relevance)를 개선하게 되었다. BM25 알고리즘은 이 단계에서 중요한 역할을 하였는데, 용어의 빈도, 문서의 길이 변화를 고려하며 관련성을 순위를 매기었다. 신경망 모델은 복잡한 맥락적 신호와 의미적 뉘앙스를 포착하는 것에 뛰어나다. 하지만 이런 신경망 모델들은 데이터 부족(scarcity), 해석능력, 맥락상 타당하지만 잠재적으로 부정확한 답의 생성 같은 어려움을 여전히 마주하고 있다. 따라서 전통적인 강점(BM25 알고리즘의 높은 효율성)과 현대 신경망 구조의 뛰어난 능력(의미적 이해) 사이의 균형이 중요하다.
LLM은 주로 트랜스포머 구조를 기반으로 하고, 다양한 텍스트 자원(웹페이지, 기사, 책, 코드)으로 광범위한 pretraining을 거친다. 모델 사이즈, 데이터 규모가 커지면서 LLM의 주목할만한 발전을 이루었다. 한편으로 LLM은 인간 같은, 그리고 인간의 의도와 잘 맞는 답변을 제공하면서 언어 이해, 생성에서 전례없는 능력을 보여주었다. 다른 한편으로 더 큰 LLM은 일반화, 추론 능력 같은 복잡한 태스크에서도 인상적인 능력을 보여주었다. LLM은 학습한 지식, 추론 능력을 단지 몇번의 task-specific demonstration 또는 적절한 교육을 통해 효과적으로 새로운 태스크에 적용한다. 게다가 발전된 기술(in-context learning 같은)은 특정 태스크에 대한 fine-tuning 없이 LLM의 일반화 성능을 높였다. chain-of-thought 같은 prompting 전략은 step-by-step 추론으로 복잡한 결정 과정의 방향을 찾으며 output을 생성할 수 있게 했다.
2 Background
2.1 Information Retrieval
사용자의 쿼리에 관련있는 정보를 큰 저장소로부터 찾는 것을 목표로 한다.
초기 모델은 Boolean 모델로, 특정 조건을 만족하는 문서를 검색한다.벡터 공간 모델은 문서와 쿼리를 용어 기반 공간의 벡터로 표현한다. relavance은 쿼리와 문서 벡터 사이의 어휘 유사도를 평가하여 추정된다. 이 모델의 효율성은 거꾸로한 인덱스를 사용하여 텍스트 내용을 배열하면서 향상되었다. 용어의 oddurrence와 포함된 맥락 정보의 확률을 측정하기 위해 확률적인 언어 모델이 소개되었고, 이는 context-aware 검색을 더 정확하게 만들었다. 신경망은 강한 표현 능력을 가지고 쿼리와 문서 사이의 의미적인 관계를 포착하며 검색 성능을 크게 향상시켰다.
Query Rewriter
사용자 쿼리의 정확성, 표현력을 향상하는 IR 모듈. IR 파이프라인의 초기 단계에 위치한다. 사용자의 요구사항에 더 정확하게 맞추기 위해 개선(refine), 수정(modify), 확장(expand)한다. 검색 효과성을 높이고, 다양한 specialized 검색 맥락에서 잘 적용된다.
Retriever
문서 recall를 위해 IR 초기 단계에서 사용된다. 계속 커지는 텍스트 모음에서 효과적, 효율적 방식을 찾기 위해 거맥 기술이 발전해왔다. BM25은 robust한 성능과 높은 효율성을 보여준다. 신경망 모델은 쿼리와 문서를 고차원 벡터 공간으로 투영하고 내적 계산으로 관련성 점수를 계산한다. 이런 변화는 쿼리-문서 관계에 대한 효율적인 이해를 가능하게 하고, 의미적 유사도를 포착한다.
Reranker
검색된 문서들을 세밀하게 다시 순서를 정하는, 중요한 모듈. retriever과 달리 효율성과 효과성의 균형을 강조한다. 검색 결과 퀄리티를 높이기 위해 더 복잡한 매칭 방식이 연구되고 있다. 사용자 요구사항 맞춤 전략이 사용된다.
Reader
LLM의 빠른 발전으로 중요한 모듈로 진화해왔다. 실시간 사용자의 의도를 이해하고 검색된 텍스트를 기반으로 하는 동적인 답변을 생성하는 능력은 IR 결과 표현 방식을 혁신화해왔다. 후보 문서를 이해하기 쉽게 정리한다. 생성된 답변의 신뢰성을 높이기 위해 레퍼런스들을 통합하여 답변을 생성하는 것이 reader 모듈의 효과적인 기술이 되어 왔다.
2.2 Large Language Models
앞 단어로부터의 맥락적 정보를 고려해 뒤에 올 단어의 확률을 예측하여, 단어 시퀀스 발생 확률을 계산한다. greedy decoding, random sampling 같은 단어 선택 전략을 사용함으로써 LM은 능숙하게 자연어 텍스트를 생성할 수 있다. 비록 LM이 텍스트 생성이 주 목적이지만, 최근 연구에서 다수의 자연어 처리 문제는 text-to-text 형식으로 reformulate할 수 있고 텍스트 생성을 통한 해결책으로 옮길 수 있다고 밝혀졌다. LM은 대부분의 텍스트 관련 문제의 사실상 해결책이 되었다.
LM의 발전은 4가지 주 단계로 분류할 수 있다. statistical language model은 Markov assumption을 사용해서 앞 단어를 기반으로 뒤에 올 단어를 예측한다. 그 다음에는 신경망(특히 RNN)이 텍스트 시퀀스 확률을 계산하는 데 사용되며 neural language model을 구축했다. 이러한 발전은 representation learning(새로운 representation을 뽑도록 학습)를 위해 LM을 사용할 수 있게 했다. ELMo는 처음으로 대규모 corpora에서의 양방향 LSTM(biLSTM) 네트워크 pretraining 후 특정 downstream 태스크에 대한 fine-tuning을 통해 contextualized word representation을 학습하는 것을 제안했다. 비슷하게 BERT는 트랜스포머 encoder를 큰 corpora에 대해 특별히 디자인된 Masked Language Modeling(MLM) 태스크, Next Sentence Prediction(NSP)로 pretrain하는 것을 제안했다. 이러한 연구들은 pre-trained language model(PLM)의 새로운 시대를 시작했다. fine-tuning 보다는 pre-training이 우세한 학습 접근방식이 되었다. 수많은 생성형 PLM(GTP-2, BART, T4)이 요약화, 기계 번역, 대화 생성을 포함한 텍스트 생성 문제를 위해 발전했다. 최근 연구는 모델 사이즈, 데이터 양과 같은 PLM의 규모가 커지면서 downstream 태스크에 대한 성능을 향상시켰다는 것을 밝혔다. 이는 scaling law라는 형상으로 불린다. 게다가 큰 사이즈의 PLM은 복잡한 문제를 처리하는데에 유망한 능력(emergent ability)을 보여준다. 따라서 연구 커뮤니티는 이러한 큰 사이즈의 PLM을 large language model(LLM)이라 부른다.
현존하는 LLM은 구조에 따라 encoder-decoder와 decoder-only 모델로 나눌 수 있다. encoder-decoder 모델은 입력 텍스트를 벡터로 변환하는 encoder 컴포넌트를 가지는데, 이 벡터는 출력 텍스트를 생산하는데에 쓰인다. encoder-decoder 모델인 T5는 각 자연어 처리 문제를 text-to-text 형식으로 바꾸고 텍스트 생성 문제로 해결한다. 반면 GPT 같은 decoder-only 모델은 트랜스포머 decoder 구조에 의존한다. self-attention 메커니즘을 사용하는데, 단어들의 시퀀스를 왼쪽에서 오른쪽으로 생성하기 위해 diagonal attention mask를 사용하는 방식이다. 100B개를 넘는 파라미터를 가진 첫번째 모델 GPT-3가 성공하면서, 비슷한 트랜스포머 디코더 구조를 따라 주목할만한 모델들이 만들어졌다: GPT-J, BLOOM, OPT, Chinchilla, LLaMA. 다양한 조합의 데이터셋으로 학습되었다.
파라미터 개수가 커지면서 LLM을 특정 태스크(IR 같은)에 대해 fine-tuning하는 것은 비실용적이라고 여겨졌다. 결과적으로 LLM을 적용하는 두가지 우세한(prevailing) 방식이 구축되었는데, in-context learning과 parameter-efficient fine-tuning이다. in-context learning(ICL)은 LLM의 emergent ability(예상치 못하게 나타난 스킬) 중 하나이다. pretraining 지식에만 의존하지 않고, input context을 기반으로 이해하고 답을 제공하도록 한다. 이 방식은 자연어로된 태스크에 대한 설명과 시연(demonstration)만을 필요로 한다. 파라미터 튜닝은 필요없다. 모델의 추론 과정을 가이드하는 다양한 시연을 포함하는 chain-of-thougth prompting이 채택되면서 ICL의 효용률이 커졌다. ICL은 IR에 LLM을 적용할 때 가장 흔히 사용되는 방식이다. Parameter-efficient fine-tuning은 만족스러운 성능은 유지하면서 학습가능한 파라미터의 개수를 줄이는 것을 목표로 한다. 예를 들어 LoRA는이런 목적으로 (LLaMA, BLOOM 같은) 오픈 소스 LLM에 널리 적용되었다. 최근에는 QLoRA는 gradient 계산을 위해 frozen 4-bit quantized LLM을 사용함으로써 메모리 사용을 줄치는 방법을 제안했다. parameter-efficient fine-tuning은 IR 태스크에서는 현재는 상대적으로 제한적으로 사용되고 있다.
3 Query Rewriter
사용자가 입력하는 쿼리는 종종 짧거나 애매하여 vocabulary mismatch 문제에 민감하게 만든다. 예를 들어 사용자가 검색 엔진에 "automobile"을 입력하면 차(car)에 대한 정보를 기대하지만, 대부분의 관련 문서는 "automobile"이라는 단어보다는 "vehicle"을 사용한다. 따라서 이러한 문서들은 검색되지 않게 된다. 따라서 현재 IR 시스템에서는 query rewriting라는 태스크가 중요한 역할을 한다.
전통적인 query rewriting 방식에서는 사용자의 초기 쿼리에 의해 검색된 상위 문서들을 분석해 기존 쿼리를 반복적으로 개선(refine)하는 방식으로 발전했다. 반복적으로 쿼리의 표현을 개선하고 문서로부터 추가적인 정보를 포함함으로써 이러한 방식들은 검색 정확도(accuracy)를 높이는데 효과성을 증명했다. 대표적인 예가 RM3, LCE, KL expansion, relevance modeling이다. 하지만 이러한 방식들은 미리 정의된 룰 또는 휴리스틱에 의존하여 사용자의 의도에서 미묘한 뉘앙스를 완전히 포착하는데에는 한계가 있다.
LLM은 방대한 텍스트 데이터, 쿼리와 문서를 더 미묘한 차이가 있게 표현하도록 학습되면서 query rewriting 능력을 높이고 전통적 방식의 한계를 극복하고 있다.
3.1 Re-writing Target
대표적인 Query rewriting 시나리오: Ad-hoc retrieval, Conversational search.
3.1.1 Ad-hoc Retrieval
주요 목적은 사용자가 필요로하는 정보와 더 잘 맞는 문서들을 검색하는 것이다. query rewriting에서의 LLM 사용의 장점은 다음과 같다.
- Better Semantic Understanding: 용어 빈도에 의존하는 전통적 방식과 달리 언어의 의미에 대한 깊은 이해를 통해 쿼리의 의미와 맥락을 잘 포착한다.
- Broad Knowledge: 포괄적인 지식을 가진다. 폭 넓은 개념, 사실, 정보로부터 적절한 쿼리를 생성할 수 있다.
- Independence of First-pass Retrieval: 전통적 pseudo relevance feedback(PRF) 방식은 일련의 pseudo relevant 문서들을 검색하여 기존 쿼리를 개선(refine)하기 위해 사용했다. 하지만 이러한 문서들에는 관련없는 결과들이 존재하고 이는 노이즈를 만든다. 반면 LLM은 기존 쿼리를 기반으로 바로 쿼리를 생성한다.
Query2Doc은 LLM 기반 query rewriter이다. LLM이 쿼리에 따라 관련 passage를 생성하도록 하고 이를 쿼리에 포함시켜 쿼리를 확장시킨다.
사용자의 기존 쿼리는 "언제 Pokemon Green이 출시되었나?"이다. LLM은 few-shot prompting을 사용하여 관련있는 passage를 생성한다. 이 passage는 "Pokemon Green이 2월 27일에 일본에서 출시되었다"라는 추가적인 디테일한 정보를 포함하고, 이는 어느정도 vocabulary mismatch를 효과적으로 완화한다. 기존 쿼리와 생성된 passage를 결합하여 새로운 쿼리를 만든다. retriever 모듈은 이 새로운 쿼리를 관련 문서를 검색하기 위해 사용한다.
3.1.2 Conversational Search
반면 Conversational search는 사용자와 검색 시스템 사이의 동적인 상호작용이 포함되는데, 시스템은 사용자 쿼리에 답을 하고 일련의 back-and-forth 교환을 통해 사용자의 정보를 명확히 한다. 시스템은 진행되는 대화와 맞는 적절한 정보를 찾기 위해 새로운 쿼리를 생성하거나 다시 작성할 수 있다.
Conversational search 태스크에서 LLM을 사용하는 것은 여러 장점을 가진다. 첫번째로 LLM은 맥락 이해 능력이 좋기 때문에, 사용자와 시스템 사이의 여러 턴의 대화 속에서의 컨텍스트 안에서 사용자의 검색 의도를 잘 이해할 수 있다. 두번째로 LLM의 강력한 생성 능력은 사용자와 시스템 사이의 대화를 시뮬레이션하는 것을 허용하여 더 강건한 검색 의도 모델링을 가능하게 한다.
conversational search에서 LLM의 맥락 이해, 생성 능력을 높이기 위해 LLMC(Large Language Models know your Contextual Search intent)라는 프레임워크가 제안되었다.
LLMC는 LLM이 쿼리를 rewrite하고 더 긴 시스템의 가설 답변을 다양한 관점에서 생성하도록 유도한다. 이렇게 생성된 출력은 사용자의 완전한 검색 의도를 포착하는 표현으로 통합된다. 간결한 쿼리 재작성과 통합된 가설적 답변이 검색 의도를 더 타당하게 보충함으로써 검색 성능을 높인다는 것이 실험 결과를 통해 증명되었다.
3.2 Data Resources
쿼리 재작성 방식은 주로 기존 쿼리를 풍부하게 만들기 위해 추가적인 corpora가 요구된다. LLM은 내제적으로 세상의 지식을 파라미터를 통해 통합한다. 하지만 일반적인 지식은 specific domain에서는 불충분할 수 있어 domain-specific한 copora를 필요로 한다. 이 섹션에서는 모델 내에 이미 존재하는 지식에만 의존하는 LLM-only 방식과 domain-specific corpora를 더 사용한 corpus-enhanced LLM 기반 방식을 분석한다.
3.2.1 Inherent Knowledge of LLMs
LLM 기반 query rewriting에서 선구자였던 HyDE는 주어진 쿼리에 따라 hypothetical 문서를 LLM을 통해 생성하고, 생성된 문서와 관련된 corpus로 부터 관련 문서를 검색하는 dense한 retreiver를 사용한다. Query2doc은 few-shot demonstration으로 LLM을 유도하여 pseudo 문서를 생성하고, 이를 가지고 쿼리를 확장한다. 다른 유도(prompting) 방식과 다양한 모델 사이즈가 query rewriting에 끼치는 영향이 조사되었다. frozen retriever와 LLM 기반 reader을 잘 수용하기 위해서는, 강화학습을 통해 학습된(LLM 기반 reader에 의해 보상이 주어지는 방식으로) 작은 언어 모델이 rewriter로써 사용된다. 이러한 작업들은 LLM에 저장된 지식에 의존함에도, RM3 같은 전통적인 query rewrite 방식과 비교했을 때 상당한 발전을 보여주었다.
3.2.2 Inherent Knowledge of LLMs and Document Corpus
특정시킨 도메인에서의 부족한 정보는 환각적 또는 부적절한 쿼리의 생성을 만들어낸다. 최근 연구에는 LLM 기반 쿼리 재작성 방식을 document corpus로 향상시키는 하이브리드 접근을 제안했다.
document corpus를 포함시켰을 때의 장점은 여러가지가 있다. 첫번째, 특정한 주제 분야에 대해 쿼리 생성 과정을 fine-tuning함으로써 domain-specific 지식을 제공하여 IR에 targeted, specialized 접근이 가능하게 한다. 예를 들어 LLM이 "ADHD"라는 쿼리에 대해 즉각적인 이해를 하지못하더라도, 검색된 결과는 "Attention-Deficit/Hyperactivity Disorder"로 불리는 의학적 상태에 대한 관련성을 보여주는 통찰력을 제공할 수 있다. 두번째, corpus로부터 추출된 사실적 정보를 포함시킴으로써 쿼리가 신뢰성있고 검증된 지식임을 보장할 수 있다. 세번째, 일시적인 정보로 쿼리를 풍부하게 만듦으로써 최신 개념을 포함시키고, 이는 LLM 안에 포함된 지식을 능가하고 향상된 정보의 풍부성, 적시성을 보장할 수 있다. 마지막으로, 쿼리 생성 과정에서 추가적인 자원으로써 관련있는 문서를 사용함으로써 관련성을 support할 수 있고, 이는 부적절한 정보 생생성을 효과적으로 줄이고 맥락적으로 관련있는 출력 생성을 향상시킨다.
document corpus를 포함시키는 방법은 다음과 같다.
- Late fusion of LLM-only re-writing and traditional PRF retrieval results: 전통적인 PRF 방식은 document corpus로부터 검색된 관련있는 문서를 쿼리 재작성을 위해 사용했고, 이는 타켓 corpus에 포함된 정보를 제한시켰다. 반대로 LLM-only 재작성 방식은 corpus에 존재하지 않는 외부 맥락을 제공하여 더 다양해진다. 두 방식 모두 검색 성능을 독립적으로 향상시키는 잠재력을 가진다. 따라서 그 둘을 결합하는, 검색 결과에 대해 weighted fusion 방식을 사용하는 전략이 효과적임이 증명되었다.
- Combining retrieved relevant documents in the prompts of LLMs: prompt 안에 instruction을 포함시키는 것은 특정 목적을 성취하기 위한 유연한 방식이다. query intent classification 태스크에 대해 QUILL은 쿼리의 retrieval augmentation이 LLM에게 의미적으로 도움이 되는 context를 제공하고, 이는 더 나은 이해로 이끈다는 것을 증명했다. 쿼리를 더 효율적으로 재작성하기 위해 LLM의 지식을 작은 모델로 이동시키는 two-stage distillation 파이프라인을 제안했다. LameR은 retrieve-rewrite-retrieve 프레임워크를 제안했다. annotated query-document 쌍들을 사용하지 않고 BM25를 retriever로 사용하는데, 이는 zero-shot retrieval 에서 LLM의 대단한 잠재성을 보여준다. 게다가 retriever 전에 rewriter가 있어야하는지에 대한 엄격한 룰은 없다. InteR은 검색 엔진과 LLM 사이의 multi-turn 상호작용을 서포트하는 프레임워크를 제안했다. 이는 LLM으로 생성된 지식으로 검색엔진이 쿼리를 확대시킬 수 있게 한다. 동시에 LLM은 검색 엔진이 제공한 관련있는 문서로 prompt formulation을 개선할 수 있다.
- Enhancing factuality of generative relevance feedback(GRF) by pseudo relevance feedback(PRF): generative 문서들은 종종 relevant하고 다양할 수 있지만 거짓 정보를 보여주기도 한다. GRM은 relevance-aware sample estimation(RASE)라고 알려진 새로운 기술을 제안했다. RASE는 생성된 문서에 weight를 배정하기 위해 검색된, 관련있는 문서들을 이용한다. 이러한 방식으로 GRM은 relevance feedack이 다양할 뿐만 아니라 높은 수준의 사실성을 유지하도록 보장한다.
3.3 Generation Methodology
query rewriting 태스크에서 LLM을 사용하며 등장한 세가지 주요 패러다임이 있다.
3.3.1 Prompting methods
LLM에서 prompting은 모델이 텍스트를 생성하는데에 가이드를 해주기 위해 특정한 instruction나 context를 제공하는 기술을 말한다. 프롬프트는 다양한 형태(질문, 특정 지시에 대한 불완전한 문장)일 수 있다. 프롬프트 훈련(conditioning) 신호 역할을 하고 모델의 언어 생성 과정에 영향을 준다.
다음은 널리 쓰이는 세가지 prompting 전략이다.
- zero-shot prompting: 도메인, 토픽에 대한 훈련 데이터 없이 특정 토픽에 대한 텍스트를 생성하도록 모델을 학습시킨다. 이미 존재하는 지식과 언어 이해에 의존하여 기존 쿼리에 대해 일관성있고 맥락상 관련있는 확장된 용어를 생성한다. 간단하지만 효과적인 방식임을 실험을 통해 드러났다.
- few-shot prompting: in-context learning으로도 알려져 있는데, 원하는 태스크나 도메인과 관련된 예시나 시연(demonstration)를 모델에 일부 제공한다. 예시들은 분명한 instruction 형태로 제공되어 모델이 특정한 태스크나 도메인에 즉시 적응하도록 한다. Query2Doc은 MSMARCO, NQ 같은 ranking 데이터셋에 의해 제공되는 query-document 데모 쌍을 가지고 쿼리에 대한 답을 하는 문서를 쓰도록 LLM을 유도한다.
- chain-of-thought(CoT) prompting: CoT prompting는 반복적인 프롬프팅을 포함하는 전략이다. 모델은 일련의 instruction 또는 부분적인 output을 받는다. 엔지니어들은 매 턴(turn)마다 ("Based on all previous turns, ..." 같은) instruction들을 추가하면서 CoT 과정을 시행한다. 하지만 ad-hoc search에서는 쿼리 재작성 과정이 하나의 round 안에 이루어지므로, 간단한 방식을 사용한다. "Give the rationale before answering(대답하기 전에 근거를 제공해라)"를 instruction에 추가하여 LLM이 깊게 생각하도록 유도한다.
3.3.2 Fine-tuning Methods
Fine-tuning은 LLM이 특정 도메인에 잘 적응하도록하는 효과적이고 널리 쓰이는 패러다임이다. GPT-3 같은 pre-trained LM을 가지고 타겟 도메인 데이터셋을 학습시킨다. 모델의 파라미터는 domain-specific 태스크에 대한 성능을 최적화를 위해 조정된다.
LLM은 domain-specific 데이터를 학습함으로써 domain-specific한 패턴, 전문용어, 컨텍스트를 배우고, 이를 통해 높은 퀄리티로 쿼리를 재작성하는 능력을 향상시킨다. 하지만 fine-tuning은 고비용 작업이다. 7.7억 개의 파라미터를 가진 FiD(T5의 변형)와 30억 개의 파라미터를 가진 FiD을 550개의 token으로 이루어진 입력으로 fine-tune한 연구가 있었다.이때 7.7억 개 FiD의 경우 하나의 Tesla V100 32GB GPU에서 잘 작동했지만, 30억 개 T5 모델의 경우 Tesla V100 또는 A100 GPU가 8개 필요했다.
3.3.3 Knowledge Distillation Methods
LLM은 컴퓨터를 이용하는 데에 있어 요구되는 것들(computational requirement) 때문에 온라인에서 실용적으로 사용되지 못했다. 이 문제를 해결하기 위해 knowledge distillation 기법이 등장했다. QUILL 프레임워크에서는 two-stage distillation(정제,증류) 방식이 제안되었다. retrieval-augmented LLM을 교수(professor) 모델로, vanilla LLM을 교사(teacher) 모델로, 경량 BERT 모델을 학생(student) 모델로 사용한다. 교수 모델은 광범위한 데이터셋(Oracas-I, EComm)으로 학습하여 쿼리의 의도를 이해하려 한다. 그 다음으로는 교수 모델에서 교사 모델로, 교사 모델에서 학생 모델로 지식을 이동시키는 two-stage distillation 과정을 사용한다. 이러한 knowledge distillation 방식은 단순히 모델 사이즈를 키우는 경우보다 성능이 뛰어나다는 것이 증명되었다.
3.4 Limitations
다양한 쿼리 재작성 방식에 대한 실험을 통해, 생성되는 문서나 답변의 수를 늘리는 것이 컨텍스트를 보충하여 검색 성능에 좋은 영향을 끼친다는 것이 드러났다. 하지만 대부분의 연구는 반복 또는 대체 전략을 통해 기존 쿼리의 중요성을 강조하고 있다.
쿼리 재작성을 평가하기 위한 지표가 부족하다. 현재 존재하는 모델들은 query rewriter의 효과성을 평가하기 위해 downstream retrieval 태스크에 너무 의존한다. 재작성된 쿼리가 인간의 의도를 반영하는지, 특정 태스크를 효과적으로 수행하는지를 직접적으로 측정하는 것은 아직 풀리지 않은 숙제다.
4 Retriever
IR 시스템에서 retriever는 사용자의 쿼리과 관련된 문서를 폭넓게 모으기 위한 첫번째 관문 필터 역할을 한다. 관련 문서들을 위치시키는 과정에서의 효율성이 검색 엔진 성능을 유지하는데에 매우 중요하다. 검색된 문서는 ranker로 들어가 최종 결과를 생성하는데, 이는 검색 엔진의 랭킹 성능을 결정하므로 높은 recall(재현률) 역시 중요하다.
최근 검색 모델은 통계적인 알고리즘에서 신경망 모델로 옮겨갔다. 신경망 모델을 사용한 retriever에 가장 중요한 factor는 데이터와 모델이다. 높은 질의 데이터는 포괄적인 지식, 정확한 매칭 패턴을 습득하도록 한다. 강한 표현력의 신경망 구조는 학습 데이터로 얻은 지식을 효과적으로 저장하고 적용할 수 있게 한다.
오랫동안 검색 모델의 발전을 저해한 어려움들이 있었다. 첫번째, 사용자 쿼리가 보통 짧고 애매하여 사용자의 검색 의도를 정확히 이해하기 어렵게 만들었다. 두번째, 대부분 문서들은 길고 노이즈가 많다. 따라서 문서를 부호화하고 관련 정보를 뽑아내는 것이 어렵다. 세번째, human-annotated relevance label 모음은 시간, 비용 측면에서 비싸다. 이는 retriever의 지식 바운더리와 일반화 능력을 제한한다. 네번째, 주로 BERT 기반의 기존 모델 구조는 내제적인 한계를 가지고 있었다.
최근 LLM의 언어 이해, 텍스트 생성, 추론 능력이 뛰어난 성과를 보이면서 우수한 검색 모델을 발전시키려는 연구가 시행되었다. 이러한 연구들은 두 그룹으로 나누어진다.
4.1 Leveraging LLMs to Generate Search Data
검색 데이터의 퀄리티와 양, 이 두가지 관점으로 LLM을 통해 검색 성능을 향상시키려는 방식들이 나타났다.
4.1.1 Search Data Refinement
첫번째 관점은 검색 데이터 개선 기법으로, 사용자의 의도를 정확하게 나타내도록 쿼리를 재구조화(reformulating)한다. 이건 Section 3(Query Rewriter) 내용과 같다. 더불어서 긴 문서를 개선(refine)하려는 시도도 있는데, 이 분야는 아직 발전과 조사가 많이 필요하다.
4.1.2 Training Data Augmentation
두번째 관점은 학습 데이터 증강 기법으로, LLM의 생성 능력을 가지고 학습 데이터를 늘린다(enlarge). human-annotated label는 비싸기도 하지만, 이를 사용한 supervised learning은 out-of-distribution 데이터에 대한 일반화 능력에 대해 한계를 가지고 있다. 결과적으로 이런 문제를 해결하기 위해 zero-shot, few-shot 학습 모델이 등장했고 모델의 효과성을 향상시켰다.
어떻게 LLM을 데이터 증강에 적용할까? 많은 연구진들이 뛰어난 텍스트 생성 능력을 가진 LLM을 pseudo 쿼리 또는 relevance label를 생성하는데에 사용하자고 제안했다.
- Pseudo query generation:
- 많은 문서를 가지고 대응되는 psudo 쿼리를 생성하는 데에 LLM을 사용하자라는 직관적인 아이디어
- inPairs에서 GPT-3 의 in-context 학습 능력을 활용했는데, 쿼리-문서 쌍 모음을 demonstration으로 사용했다. 쿼리-문서 쌍들은 하나의 문서와 결합되어 GPT-3의 입력으로 주어지고, 주어진 문서에 대해 관련 쿼리들을 생성한다. 같은 demonstration에 대해 다양한 문서들을 결합함으로써, synthetic한 훈련 샘플들을 많이 생성할 수 있고 특정 타겟 도메인에서 retriever를 fine-tune하도록 서포트할 수 있다. 이러한 synthetic한 샘플들의 신뢰성을 높이기 위해, fine-tune된 모델을 사용해 생성된 쿼리를 필터링하여 relevance score가 높게 측정된 상위 쌍들만 남긴다. 이런 "generating-then-filtering"은 왕복으로 반복적으로 시행될 수 있다(생성된 샘플에 대해 retriever를 fine-tune하고, 이 retriever로 생성된 샘플을 필터링). 수렴할 때까지 반복하면 높은 퀄리티의 학습 데이터셋을 만들어낼 수 있다. LLM에 주는 프롬프트를 정돈하면 다양한 타입의 쿼리를 생성할 수 있다.
- 실제로는 LLM을 통해 pseudo 쿼리를 많이 생성하는 것은 비용이 많이 들어서, 비용과 생성되는 샘플 퀄리티 사이의 균형을 잡는 것은 급한 문제이다. 이를 해결하기 위해 UDAPDR이 제안되었는데, LLM을 사용해 타켓 도메인에 대해 한정된 양의 synthetic 쿼리를 생성한다. 이런 높은 퀄리티의 샘플들은 더 작은 모델에 줄 프롬프트로 사용되고, 그 작은 모델이 많은 양의 쿼리를 생성하도록 하여 특정 도메인에 대한 학습 데이터셋을 만든다.
- 앞선 예들은 LLM의 파라미터를 고정시켰는데, 실증적으로 파라미터를 최적화하면 downstream 태스크에 대한 성능을 향상시킬 수 있다. 하지만 컴퓨팅 자원이 많이 필요하다는 점이 장애물이 되었다. 이를 극복하고자 SPTAR은 학습 과정에서 프롬프트의 embedding layer만 최적화하는 soft prompt tuning 기술을 소개했다. 이러한 접근은 pseudo-query를 일반화하는 태스크에 LLM이 더 잘 적응하도록 한다.
- Relevance label generation
- questioning-answering 같은 downstream 태스크에서 question은 충분하지만, question과 근거를 받침하는 passage를 연결하는 relevance label은 매우 한정적이다. 이러한 맥락에서 LLM의 relevance label 생성 능력을 사용하면 학습 corpus를 늘릴 수 있다.
- ART는 각 question에 대해 상위 관련 passage들을 검색하고, LLM은 이 passage를 조건으로 하는 question의 생성 학률을 계산한다. 정규화를 거친 확률은 학습할 때 soft relevance label로 사용된다.
4.2 Employing LLMs to Enhance Model Architecture
LLM을 검색 모델의 foundation model로 사용한다.
4.2.1 Encoder-based Retriever
데이터의 양와 질 뿐만 아니라, 모델의 표현 능력 역시 retriever의 성능에 영향을 준다.
- General Retriever: Retriever의 효과성은 텍스트 임베딩 능력에 매우 의존한다. LLM의 선구자 OpenAI는 인접한 텍스트 세그먼트들을, cpt-text라 불리는 텍스트 임베딩 모델을 unsupervised pre-training 하는 데에 사용될 positive pair라고 보았다. 실험을 통해 더 큰 모델이 텍스트 검색 태스크에 대해 unsupervised learning, transfer learning에서 향상된 성능을 산출하는 잠재성을 가진다는 것이 드러났다. 처음부터(from scratch) LLM을 pre-training하는 것은 큰 비용이 든다. 이를 극복하기 위해, 더 작은 사이즈의 T5-family 모델(Base, Large, XL, XXL)을 bi-encoder의 파라미터를 초기화하는 데 사용하여 검색 데이터셋에 대해 fine-tune 한다. 실험 결과, zero-shot 환경에서 특히 더 큰 모델 사이즈가 더 좋은 성능을 보였다.
- Task-aware Retriever: task-specific한 instruction이 결합되었을 때 검색 성능이 향상될 수 있다. TART는 질문 전 task-specific한 instruction을 소개하는 모델을 창안했다. instruction은 태스크에 대한 의도, 도메인, 원하는 검색 결과의 단위(desired retrieved unit)를 포함하는 설명이다. 예를 들어 questiong-answering 태스크라면, 효과적인 프롬프트는 "이 질문에 대답하는 위키피디아 텍스트를 검색해. {question}"일 것이다. "위키피디아"라는 도메인은 사용자가 어떤 자원을 기대하는지, "텍스트"라는 단위는 검색 내용의 타입, "이 질문에 대답하는"이라는 의도(intent)는 질문과 검색된 텍스트 사이의 의도된 관계를 설명한다. 이러한 접근은 LLM의 강력한 언어 모델링 능력, 광범위한 지식을 사용해 사용자의 검색 의도를 다양한 검색 태스크에 걸쳐 정확하게 포착할 수 있다.
4.2.2 Generative Retriever
전통적인 IR 시스템은 사용자 쿼리를 기반으로 관련 문서를 위치시키는 "index-retrieval-rank" 양식을 따르고, 실제로 효율적임이 증명되었다. 하지만 이러한 시스템은 주로 세가지 분리된 모듈(index, retrieval, rank)로 구성된다. 이 모듈들은 통틀어서 최적화하는 것은 힘들고 차선의 결과를 낼 가능성이 있다. 또 미리 만들어진 index를 저장한 공간이 필요해서 저장 자원에 부담을 준다. 이러한 문제들을 해결하기 위해 model-based generative retrieval 방식들이 등장했다. 이 방식은 쿼리와 관련된 문서 식별자를 직접적으로 생성하는 하나의 통합된 모델을 사용한다. LLM을 fine-tuning하거나 prompting을 통해 문서 식별자를 생성할 수 있다.
- Fine-tuning LLMs: DSI는 검색 데이터셋에 대해 pre-trained된 T5 모델을 fine-tune하는 대표적인 방법이다. 쿼리를 인코딩하고 문서 식별자를 바로 디코딩한다. 의미적인 구조의 식별자를 구성하는 것이 최적의 결과를 산출하는 것을 발견했다. DSI는 의미적 임베딩에 따라 hierarchical clusting을 적용해 문서를 그룹화하고, 계층화된 그룹에 기반에 각 문서에 semantic한 DocID를 부여한다. DSI는 모든 DocID를 사용해 트리(trie)를 구성하고 디코딩 과정에서 constraint beam search 를 사용한다. 더 큰 LM이 향상된 성능을 보여준다는 것(scaling law)이 generative retriever에도 적용됨이 드러났다.
- Prompting LLM: LLM이 약간의 in-context demonstration을 가지고 사용자 쿼리와 관련된 web URL을 바로 생성할 수 있음이 밝혀졌다. 다양한 HTML 자원에 노출시키며 학습하며 이러한 독특한 능력이 발생되었다고 여겨진다. 결과적으로 LLM은 자연스럽게 문서 식별자를 바로 생성하는 generative retriever 역할을 할 수 있다. LLM-URL 모델은 GPT-3 text-davinci-003 모델을 사용해 후보 URL을 산출하고, 이 후보들로부터 유효한 URL을 뽑아내기 위해 정규 표현식을 디자인하고 검색 문서를 위치시킨다.
4.3 Limitations
LLM-augmented retrieval에는 여전히 디테일한 조사가 필요한 분야가 많다. 예를 들어, retriever는 빠른 답변이 중요한 요구사항인데, 현존하는 LLM은 파라미터가 많은 큰 모델이고 추론 시간이 매우 길다라는 문제를 가지고 있다. 게다가 데이터셋을 증강하기 위해 LLM을 사용할 때, LLM이 생성한 텍스트와 실제 사용자 쿼리는 일치하지 않을 수 있고 이는 효과성에 영향을 줄 수 있다. LLM은 domain-specific한 지식이 부족하기 때문에 fine-tuning이 필요한데, 무수한 파라미터를 가진 LLM을 효율적으로 fine-tune할 수 있는 전략을 개발하는 것이 중요하다.
5 Reranker
IR에서 2차 문서 필터 역할로, Retriver에 의해 검색된 문서들을 문서와 쿼리의 관련성(relevance)를 기반으로 rerank하는 것을 목표로 한다. reranking 방식은 LLM을 적용하는 방식에 따라 LLM을 fine-tuning, LLM을 prompting, 데이터 증강을 위해 LLM을 사용하는 세가지 방식으로 나뉜다.
5.1 Fine-tuning LLMs for Reranking
LLM을 task-specific한 랭킹 데이터셋(relevance, irrelevance에 대한 시그널 포함)에 대해 fine-tuning함으로써 파라미터를 조정한다. fine-tuning 전략은 LLM을 생성 모델로써 또는 랭킹 모델로써 fine-tuning 하느냐로 나뉜다.
5.1.1 Fine-tuning LLMs as Generation Models
이 분야에서는 주로 문서 랭킹을 생성 태스크로 표현하고 generative loss로 LLM을 최적화한다. 특히 쿼리와 문서가 주어졌을 때 하나의 토큰("true" or "false")를 생성하도록 모델은 fine-tune된다. 추론 과정에서 쿼리-문서 relevance score는 생성된 토큰의 logit(log-odds; 확률에 로그를 씌운 값)를 기반으로 결정된다. 예를 들어, T5 모델은 쿼리-문서 쌍들이 relevant한지 irrelevant 한지 분류 토큰을 생성하도록 fine-tuned 될 수 있다. 추론할 때는 "true", "false" 토큰의 logit에 softmax 함수를 적용하고, "true" 토큰의 확률로 relevance score를 계산한다. 또 다른 방법은 동시에 분류 토큰을 생성하고 주어진 문서에 대해 쿼리를 생성하는 방식이다. DuoT5는 (q, di, dj)를 입력으로 하고, 문서 di가 dj보다 쿼리 q와 관련성이 더 높으면 "true" 토큰을 생성하도록 T5를 fine-tune한다. 추론 과정에서 각 문서 di에 대해 다른 문서들 dj를 나열하고, global aggregation function을 사용해 di의 relevance score(si)를 계산한다.
5.1.2 Fine-tuning LLMs as Ranking Models
LLM을 생성 모델로 fine-tuning하는 방식이 몇몇 강한 랭킹 베이스라인보다 성능이 뛰어날 수 있지만 reranking 태스크에 최적인 것은 아니다. 그 이유는 reranking 모델은 텍스트 토큰보다는 숫자인 relevance score를 산출하길 기대한다. 그리고 generation loass 보다는 ranking loss를 사용해서 모델을 최적화하는 것이 더 합리적이다. BERT 같은 pre-trained된 모델에 비해 T5-3B같은 seq2seq 기반의 LLM은 reranking 태스크에서 잘 쓰이지 않았다. 최근 RankT5은 쿼리-문서 쌍에 대해 relevance score를 바로 계산하고, pair 또는 list에 대해 ranking loss를 구해 사용하면 랭킹 성능을 최적화했다. base 사이즈의 T5 모델을 더 큰 사이즈 모델로 대체하면 성능을 향상할 수 있을지 모른다.
5.2 Prompting LLMs for Reranking
LLM의 사이즈가 커지면 fine-une 하는 것은 급격히 어려워진다. 이를 해결하기 위해 프롬프팅 전략으로 성능을 향상시키려는 시도가 나타났다.
5.2.1 Pointwise methods
쿼리와 하나의 문서 사이의 relevance를 측정한다. relevance generation과 query generation 두 종류로 나뉜다. relevance generation은, LLM이 문서가 쿼리와 관련있으면 "Yes"를 아니면 "No"를 출력한다. LLM이 토큰을 생성하는 확률로 relevance score를 계산한다.
query generation은, 문서에 기반한 실제 쿼리 토큰을 생성하는 확률 로그 확률로 relevance score를 결정한다.
|q|는 쿼리 q의 토큰 개수, d는 문서, P는 제공된 프롬프트를 의미한다. 문서들은 relevance score에 따라 rerank 된다. 현재 존재하는 query generation 기반 방식들은 직접 작성한 프롬프트(e.g. "Please write a query based on this document")에 매우 의존한다. 프롬프트는 다양한 NLP 태스크에서 LLM를 학습시킬 때 중요 요인이므로 최적의 프롬프트를 정의하는 것이 성능에 큰 영향을 준다. reranking 태스크에서 더 좋은 프롬프트를 생성하기 위해 Co-Prompt라는 프롬프트 최적화 방식이 제안되었다.
5.2.2 Listwise methods
point 방식은 쿼리와 문서의 relevance score를 출력 토큰의 로그 확률을 사용해 계산한다. 로그 확률은 ChatGPT, GPT-4 같은 LLM API에서는 구할 수 없다. 이 문제에 대한 해결책으로 최근 문서 리스트를 바로 순위를 매기는 listwise 방식이 제안되었다. 프롬프트에 쿼리와 문서 리스트를 넣고, rerank된 문서 식별자들을 출력하도록 LLM을 학습시킨다. LLM의 입력 가능한 길이가 한정되어 있기 때문에 sliding window stretegy가 사용된다. 실험에 따르면 GPT-4 기반 방식들이 IR 벤치마크에서 몇몇 supervised 방식보다 좋은 성능을 냈다고 한다.
5.2.3 Pairwise methods
listwise 방식은 여전히 약점을 가지고 있다. 실험에 따르면 GPT-4 기반의 방식만이 좋은 성능을 보였다. 또 프롬프트에서 문서의 순서에 매우 민감하다. 랜덤하게 문서가 섞여있으면 BM25보다도 나쁜 성능을 보인다. 이러한 약점들은 LLM이 랭킹 태스크에 대해 pre-trained된 것이 아니기 때문일 것이다. 최근 연구에 따르면 LLM이 내제적으로 pairwise하게 문서를 비교하고, 이 방식이 reranked된 문서 리스트를 바로 출력하는 것보다 훨씬 간단하다. 이 연구에서는 두 개의 문서를 어떤 문서가 쿼리와 더 관련있는지 비교하는 pairwise 랭킹 프롬프트를 고안했다. 실험에 따르면 GPT-4보다 훨씬 작은 moderate 사이즈의 LLM(e.g. 20B 개의 파라미터를 가진 Flan-UL2)를 사용했을 때 최첨단 성능을 보였다.
5.3 Utilizing LLMs for Training Data Augmentation
ExaRanker는 GPT-3.5를 사용해 검색 데이터셋에 대한 설명을 생성하고, seq2seq 랭킹 모델이 주어진 쿼리-문서 쌍들에 대해 설명고 함께 relevance label을 생성하도록 학습시켰다. InPars-Light는 LLM을 프롬프팅하여 문서들에 대해 쿼리를 합성(synthesize)하는 cost-effective 방식이다. InPars-Light와 반대로, ChatGPT-RetrievalQA라는 새로운 데이터셋은 사용자 쿼리에 대한 답변으로, LLM 기반으로 synthetic 문서를 생성함으로써 만들어졌다. ChatGPT의 문서 랭킹 능력을 하나의 특화된 모델로 distill(증류)하려는 시도가 있어왔다. ChatGPT는 문서 랭킹 리스트를 바로 생성하도록 학습되고, 리스트는 학생 모델(e.g. DeBERTa-v3-base)을 다양한 ranking loss(e.g. RankNet)를 사용하여 학습시키기 위한 타겟으로 사용된다.
5.4 Limitations
비용과 효율성 측면에서 LLM API를 호출하는 횟수를 최소화하는 것이 연구할 가치가 있는 문제이다. LLM을 MS-MARCO 같은 open-domain 데이터셋 또는 relevance 기반 텍스트 랭킹 태스크에 적용하는데에 많은 연구들이 집중하고 있다. 하지만 in-domain 데이터셋이나 non-standard한 랭킹 데이터에 적용하는 것은 여전히 탐구가 필요한 분야이다.
6 Reader
reader 모듈은 문서 corpus에 기반해 답을 생성하기 위해 등장했다. reader 모듈을 추가하면 IR 시스템은 문서 리스트를 제공하는 것보다 conclusive한 passage를 바로 제공함으로써 사용자는 간단하게 이해할 수있다. LLM이 생성한 텍스트에 기반에 문서들을 반복적으로 제공하면, 마지막에 생성된 답변은 더 정확하고 정보가 풍부해질 수 있다.
가장 간단한 전략은 휴리스틱하게 사용자의 쿼리 또는 생성한 텍스트와 관련된 문서를 제공하여 답 생성을 돕는 방법(passive reader)이다. 이 방식은 LLM이 적극적인 참여 없이 단순히 문서만 모으도록 한다. 이에 대한 대안으로 나온 것이, 검색 엔진과 LLM이 적극적으로 상호작용하도록 학습시키는 방법(active reader)이다.
6.1 Passive Reader
LLM이 답 passage를 생성할 때 쿼리 또는 이전에 생성된 텍스트에 대해 검색된 문서를 입력으로 제공한다. LLM와 IR 시스템을 분리하여 사용하여 LLM은 IR 시스템의 수동적인 수령인 역할만 한다. 문서를 검색하는 빈도에 따라 전략을 나눌 수 있다.
6.1.1 Once-Retrieval Reader
처음에 쿼리 자체에 기반해 검색한 상위 문서들을 사용한다. 이 전략을 채택한 REALM은 masked language modeling을 기반으로 최종 답을 예측하기 위해 쿼리 원본에 대한 문서들을 바로 포함시켰다. RAG는 이 전략을 따랐지만 generative language modeling을 사용했다. 하지만 이 두가지 예시에서는 BERT와 BART 같이 한정된 파라미터를 가진 언어 모델을 사용했다. 최근 REPLUG, Atlas에서는 답 생성을 위해 GPT, T5 같은 LLM을 QA 태스크에 대해 fine-tuning하여 답 생성 성능을 발전시켰다. 하지만 한정된 컴퓨팅 자원 때문에(fine-tuning은 자원을 많이 사용함) 많은 방식들이 더 큰 LM 모델을 사용해 LLM을 프롬프트하는 방식을 선택했다. 리딩 태스크에서 fixed(fine-tuning X) LLM을 더 잘 활용하기 위해 RETA-LLM은 reader 파이프라인의 전체 태스크를 간단한 모듈들로 나누었다. 모듈들은 쿼리의 의도를 개선하는 쿼리 재작성 모듈, LLM의 레퍼런스 길이 제한에 맞추기 위한 passage extraction 모듈, 생성된 답에서 허위 정보가 있는지 확인하는 사실 확인 모듈을 포함한다.
6.1.2 Periodic-Retrieval Reader
길고 확실한 답을 생성하는데 사용자의 쿼리만을 가지고 검색한 결과를 사용하는 것은 부적절하다. 예를 들어 "버락 오바마"에 대한 passage가 제공되었을 때 언어 모델은 그의 대학교에 대한 추가적인 지식이 필요할 수 있지만, 이는 초기 쿼리를 검색한 결과를 포함되어 있지 않을 수 있다. 결론적으로 언어 모델은 답을 생성하기 위해 추가적인 리퍼런스가 필요하다. 이를 해결하기 위해 RETRO, RALM 같이 기존 쿼리와 생성한 텍스트 둘 다에 기반한 주기적인 검색 문서들을 강조하는 솔루션이 등장했다. 특히 RETRO는 생성한 텍스트와 레퍼런스 사이의 cross-attention을 포함하는 새로운 접근을 소개했는데, 이는 LLM의 레퍼런스를 입력 텍스트로 바로 임베딩하는 방식과는 반대된다. 이러한 방식들은 생성과 문서 검색을 분리하기 위해 n개의 연속적인 토큰에 의존하는데, 이는 의미적으로 불연속적이고 수집된 레퍼런스가 노이지하고 쓸모없게 할 수 있다. 이 문제를 해결하기 위해 IRCoT같이 모든 생성된 문장에 대해 문서를 검색하는 더 의미적인 구조의 접근이 나타났다.
6.1.3 Aperiodic-Retrieval Reader
주기적으로 문서를 검색하는 것은 검색 타이밍과 안 맞을 수 있고 또 비용이 많이 든다. 최근 FLARE는 텍스트 생성 확률에 따라 검색 타이밍을 자동적으로 결정함으로서 문제를 해결했다. 확률은 LLM의 텍스트 생성 중 confidence 에 대한 지표로 사용될 수 있기 때문에, 생성된 용어의 낮은 확률은 LLM이 추가적인 지식이 필요함을 알려준다. 어떤 용어의 확률이 미리 정의한 threshold 값보다 떨어지면, FLARE는 낮은 확률의 용어는 제거하고 생성중이던 문장에 대해 IR 시스템을 사용해 레퍼런스를 검색한다. FLARE는 fine-tuning를 피해 효율성을 유지했다.
6.2 Active Reader
수동적인 reader 기반의 접근은 IR 시스템과 생성 언어 모델을 분리한다. 이것은 LLM이 IR 시스템이 제공하는 레퍼런스를 순종적으로 사용하기만 하고, IR 시스템과 상호작용할 수 없음을 의미한다.
LLM이 검색 엔진을 활발히 사용하도록 SelfAsk, DSP는 few-shot prompt를 사용하려고 노력했는데, 필요하다고 생각하면 쿼리를 검색하도록 유도한다. 예를 들어 쿼리가 "현존하는 가장 큰 격자형 목탑이 언제 지어졌나?"라면, prompt된 LLM은 필요한 레퍼런스를 모으기 위해 "현존하는 가장 큰 격자형 목탑이 무엇인가?"라는 쿼리를 검색하기로 결심할 수 있다. 탑에 대한 정보를 얻고 나면, LLM은 최종 답을 생성하려는 결정을 할 때까지 더 디테일한 정보를 얻기 위해 반복적으로 IR 시스템에 쿼리를 검색한다. 이 방식은 single reasoning chain을 구성하는 IR 시스템을 포함한다. MRC는 이 방식을 향상시켰는데, multiple reasoning chaining하는 프롬프팅을 하고 생성된 모든 답들을 결합했다.
LLM을 프롬프팅하는 대신, WebGPT는 검색 엔진을 자동적으로 사용하도록 GPT-3을 학습시키는 대안을 택했다. GPT-3 모델을 위해 구성된 환경에서 강화학습 프레임워크를 사용하여 학습이 이루어졌다. 특히 WebGPT 모델은 질문, 랭킹 사이를 스크롤, 검색엔진에서 레퍼런스를 인용 같은 액션을 실행하기 위해 특별한 토큰을 사용했다. 이를 통해 GPT-3 모델은 텍스트 생성을 위해 검색 엔진을 사용할 수 있게 되어, 신뢰성와 실시간 생성 능력을 향상시킬 수 있게 되었다.
6.3 Limitations
New Bing, Langchain같은 retrieval-augmented generation 방식을 적용한 IR 시스템은 이미 상업적으로 사용된다. 하지만 이 방식도 효과적인 쿼리 재구성(refolmulation), 최적의 검색 빈도, 정확한 문서 이해, 정확한 구절(passage) 추출, 효과적인 내용 요약 같은 것들에 어려움을 겪고 있다.
7 Future Direction
LLM-enhanced IR 시스템에서의 최근 발전을 리뷰하고 한계에 대해 얘기한다. IR 시스템의 4가지 모듈(query rewriter, retriever, reranker, reader)의 앞으로의 방향을 요약한다. 미래에 다루어질 필요가 있는 리서치 문제를 소개한다.
'AI' 카테고리의 다른 글
[논문 읽기] Is ChatGPT Good at Search? Investigating Large Language Models as Re-Ranking Agent (0) | 2023.09.14 |
---|