[yongggg's] Large Language Models are Strong Zero-Shot Retriever Review
Abstract
LLM으로 zero-shot scenarios에서 Retrieval 할 수 있는 단순히 LLM과 Retrieval의 단순한 조합을 깨고 zero-shot retrieval의 성능을 높인 Language language model as Retriever (LameR)을 제안한다. 본질적으로, query와 query의 in-domain candidates 구성으로 LLMs에 Prompting함으로써 query와 그것의 잠재적인 답변을 augment할 것을 제안한다. candidates는 정답 여부와 관계없이 대상 collection에 대한 vanilla retrieval procedure를 통해 얻을 수 있다. prompts의 일부로 패턴의 모방 혹은 candidate summarization을 통해 LLM이 보다 정확한 답변을 생성하는 데 도움이 될 가능성이 높다. 모든 candidates가 틀리더라도 그 prompts는 적어도 LLM이 in-collection 패턴과 장르를 인식하도록 만든다. 또한 self-supervised retriever의 성능이 낮기 때문에 LLM-based query augmentation은 retriever와 전체 pipeline의 병목현상을 일으키는 등 비효율성을 가진다. 따라서 본 연구에서는 non-parametric lexicon-based method(e.g., BM25)를 활용하여 query document가 글자대로 중첩되도록 하는 것을 제안한다. 이와 같이 LameR은 LLM으로의 retrieval procedure를 투명하게 하여 병목 현상을 방지한다.
Introduction
최근 Large-scale retrieval은 핵심 retrieval aumgenting module로 활용되어 최신 또는 domain-specific knowledge으로 대규모언어 모델의 지식을 풍부하게 하여 환각을 줄이고 생성된 text의 충실도를 향상시킨다.
지난 수년간, large-scale retrieval 들은 deep representation learning 기술에 크게 의존했으며, 과거의 이 방식들은 query-document pairs을 annotations할 때 엄청난 노력이 들었다. 반면 in-domain self-supervised(or zero-shot) learning 은 사람이 만든 annotations 없이 모든 corpora로 쉽게 일반화할 수 있다. 그럼에도 불구하고 zero-shot retriever는 일반적으로 non-parameteric term-based인 BM25 retrieval보다 더 나쁜 검색 품질을 제공한다.
다행히 최근에는 LLM에서 도출된 잠재적인 answering으로 query를 augmenting함으로써 zero-shot retrieval의 가능성을 보여준다. self-supervised retriever인 Contriever와 결합하여 탁월한 검색 성능을 제공하며, 여러 개의 supervisedly fine-tuned retrievers를 능가한다. 그러나 self-supervised retriever와 다용도의 LLM의 단순한 조합은 큰 문제를 야기한다. LLMs에 prompting 하여 답변을 도출하는 것은 짧고, 의도가 모호하며 domain이 모호한 retrieval queries를 사용한다. User queries의 모호성과 domain 내 corpora에 대한 인식 부족으로 인해, LLM은 query에 대한 가짜 및 domain 외의 답변을 생성할 가능성이 높아 query augmentation을 더욱 어렵게 한다.
이러한 문제를 피하기 위해 LameR이라는 대규모 검색을 위한 새롭고 간단한 패러다임을 제안한다. 기본적으로 query에 대한 답변을 위해 LLM을 유도하는 동안 query의 상위 답변 candidates를 prompt에 주입한다. (여기서 candidates는 query에 vanilla retrieval procedure를 적용하여 얻는다.) 이와 같이 LLM은 LLM에 대한 내부 지식을 가지고 새로운 것을 요약하거나 다시 작성하는 동안 candidates를 구별하고 모방하려는 경향이 있다. 게다가 정확하거나 잘못된 candidates들에도 불구하고 LLM은 적어도 in-domain 패턴과 지식에 대한 demonstrations을 제공할 수 있다.
게다가 지금의 LLM은 더 정확하고 신뢰할 수 있는 query augmentations을 생성하지만, self-supervised 방식으로 모조 데이터에 대해 훈련된 weak retriever에 의해 전체 pipeline이 병목 현상을 겪을 가능성이 높다. 그러므로 본 연구의 LameR의 non-parametric term- 또는 lexicon-based retrieval methods(e.g., BM25 in our experiments)를 선택하는 동시에 학습 가능한 매개 변수 retrievers을 제거하는 것을 제안한다. deep retriever로 부터의 model-specific compressed와 latent embeddings과 대조적으로, lexicon-based retrieval methods는 augmented queries와 in-collection documents 사이의 어휘 중복을 literal 방식으로 capture하여 LLM의 출력을 transparent(투명한) 모드로 가져가고 성능 병목 문제를 우회한다.
본 연구의 제안 방법은 다른 zero-shot 모델과, LLM-based retriever 모델의 성능을 능가하며, fine-tuning된 baseline retriever보다 성능이 뛰어나다.
Related Work
Zero-Shot Large-scale Retrieval.
지난 몇 년간, query-document annotations의 많은 cost 소요로 인해 zer-shot retriever 연구가 활발히 이루어졌다. 하나의 domain에서 supvisedly train한 다음 다른 domain에서 평가하는 zero-shot transfer와는 대조적으로, supervised data가 없으나, raw target collection에 접근 가능한 더 극단적 시나리오에 초점을 맞춘다. 이 시나리오를 처리하기 위해 이전 작업에서는 inverse-cloze task, hyperlink prediction, bottlenecked autoencoder 등과 같은 target retrieval collection에서 query-document pairs를 구성했다. 채굴된 모조의 쌍이 주어진 경우, 이전 방법은 stochastic negatives와 contrastive learning을 통해 pre-trained 언어 모델(e.g., BERT and RoBERTa)에 대한 retriever를 훈련시킨다. 그러나 self-supervised retrievers는 lightweight non parametric 또는 lexicon-based retrievers e.g., BM25와만 비교할 수 있다. LLM-based augmentation 기능이 탑재되어 있음에도 불구하고 self-supervised retrievers는 supervised data에 대해 fine-tuning된 retreivers보다 성능이 낮다. 본 연구에서는 안좋은 self-supervised retrievers는 폐기하지만, 일반화가 가능한 non parametric retrievers를 선택하고 LLM을 zero-shot retrieval에 통합하는 새로운 방법을 제안한다.
In-context Learning(ICL).
LLM은 parameter 업데이트 없이 context에서 제공되는 input-label pairs를 학습하여 새로운 Task에 adaption 할 수 있으며, 이를 In-context Learning 이라고 한다. ICL은 경험적으로 여러 demonstrations으로 광범위한 tasks에 zero-shot 방법을 현저히 능가하지만, 이는 few-shot이 전제가 되어야한다. 다행히 최근에는 ICL이 supervision signal 만을 지정하는 것이 아니라, target task의 input-label domains과 형식을 지정하는 데 주로 사용된다. 특히 Z-ICL과 유사한 inspiration을 공유하여 domain, intent, unit을 구체화하기 위해 대규모 collection에서 unsupervised demonstrations의 retriever를 활용한다. 그러나 본 연구는 명확한 motivation(정확히retrieval task를 목표로 하여 retrieved demonstrations은 이전 works의 inputs을 retrieving하는 것과 orthogonal하며, potential labels(answers)가 될 수 있다.)을 갖는다. 이와 같이 demonstrations는 inspiration을 boosting하며 수정 또는 요약을 통해 정답을 생성하는 데 도움이 될 가능성이 높다.
Retrieval & Rerank Pipeline.
본 연구의 두 단계 procedure은 retrieval & rerank pipeline과 유사하다. retrieval & rerank pipeline은 먼저 고효율 retriever을 사용하여 collection에서 상위 후보를 가져온 다음, 무겁지만 효과적인 ranker를 사용하여 보다 정확한 순위 출력을 위해 candidates의 순위를 재정렬한다. 그러나 두 모듈을 훈련시키기 위해 supervised data가 필요한 것 외에도 rerank 모듈은 upstream retrieval 모듈에 의해 제약을 받는다. 반면 LameR은 항상 검색 모듈이 제약없이 collection과 직접 상호작용하도록 한다.
LLM for Information Retrieval.
LLM이 parametric memory에서 user query가 들어오면, 즉시 관련된 문서와 심지어 final answer까지 출력할 수 있지만 다음의 제약이 있다. 1) parametric memory에는 시간이 경과한 corpora가 존재한다. 2) 믿을 수 없고, 환각인 text가 자주 등장한다. 3) 생성된 text의 domain을 요구사항대로 지정할 수 없다. 대조적으로, information retrieval은 사용자 query와 관련된 in-domain의 신뢰할 수 있는 문서를 제공하는 것을 목표로 하며, 이는 지금까지 사람들의 일상적인 정보를 찾는 데 이용된다. 따라서 많은 연구자들은 GPT 같은 LLM series를 information retriever tasks로 적용하려는 연구가 활발히 진행되고 있다. 이러한 작업의 대부분은 few-shot, zero-shot 시나리오이며, 많은 선행연구가 있었다. (논문 참고)
이러한 작업과 달리 zero-shot 시나리오에 초점을 맞춘다. domain-specific retriever training을 위해 in-domain data augmentation을 수행하거나 frozen LLM을 제외한 다른 검색 또는 intermediate models을 도입하지 않는다.
Observations
pilot 실험에서 weak retriever를 가진 다재다능한 LLM의 brute-force(전체 탐색) combination이 특정 단점을 가져왔다.
Bottleneck by Self-supervised Retriever.
비록 맞는 정답이 strong LLM에 의해 생성된다 할지라도 self-supervised dense retriever의 representing 능력의 약함 때문에, 전체 pipeline은 retriever에 의해 bottleneck 현상이 발생한다. 아래의 그림 1처럼 QA-style의 query augmentation(i.e., HyDE: query augmentation으로 answer를 생성하기 위해 LLM을 유도함)은 retrieval의 성능을 매우 높힌다. 아래 그림 1에서 'd003'은 text-davinci-003을, '3.5t'는 gpt3.5-turbo를 나타낸다.
HyDE는 LLM이 생성한 문장이 사용자의 질의보다 임베딩 공간에서 더 가까울 수 있다는 가정에 기반한 방법론이다. 즉, LLM을 사용하여 가상의 문서(= LLM의 답변)를 생성하고, 이를 임베딩한 후, 이 임베딩을 사용하여 실제 문서를 검색하는 방법이다. HyDE는 질의 기반의 임베딩 유사성을 추구하는 것과 달리, 이 방법은 답변 간의 임베딩 유사성에 중점을 두고 있다.
Mismatch w/ Term-based Retriever.
in-domain corpora의 무지 때문에, LLM은 짧고 의도가 모호한 query에 대해 domain 밖의 answser를 생성하여 query증강을 toxic하게한다. dense retrievers의 모호한 능력 덕분에, 이런 query augmentation은 여전히 seqrch quaility를 높게한다. 그러나 lexicon-based(어휘 기반, say BM25)의 경우 out-of-domain의 augmentations으로 인해 성능 향상이 줄어들 것이다. 정량적으로 아래의 그림 2를보면, 'Contriever'는 SoTa self-supervised dense retriever 인 반면에, BM25는 대표적인 lexicon-based retriever이다. vanilla setting에서는 BM25가 Contriever를 이길 수 있지만, HyDE는 Contriever가 BM25보다 2배 향상된 성능을 제공하여 BM25의 경쟁력을 떨어뜨린다.
Language Language Model as Retriever (LameR)
LameR의 pipeline은 그림 3과 같다.
Task Definition: Zero-Shot Large-Scale Retrieval.
많은 documents $D={d_{i}}^{|D|}_{i=1}$의 huge collection이 제공 되면, 'large-scale retriever'의 목표는 주어진 text query $q$와 각 $d_{i}$사이의 관련성 score에 따라 전체의 $D$를 내림차순으로 rank하는 것이다. 관련성 score는 일반적으로 pre-indexed $|D|$와 실시간 요구사항을 충족하기 위한 즉시 $q$로 작동하는 high-efficient retrieval model에 의해 도출된다. 한편, 'zero-shot'은 supervised representation learning을 위한 query document pairs가 없음을 의미한다.
4.1 Non-parametric Lexicon-based Retriever
zero-shot retrieval를 해결하기 위해, 최근 trend는 유사 query-document 쌍에 대해 deep encoder(e.g., BERT)를 self-supervised 방식으로 훈련하는 것이며, 여기서 pairs는 target collection $D$에서 Heuristic Mining된다.
Heuristic Mining 알고리즘은 dependency graph를 기반으로 하여 이에 다양한 threshold들을 적용시켜 프로세스 모델을 도출하는 process discovery 알고리즘이다. Heuristic Mining은 알파 알고리즘과는 다르게 이벤트와 시퀀스의 빈도 (frequency)를 고려하기 때문에 몇 번 일어나지 않은 이벤트 등의 아웃라이어나 노이즈들을 필터링할 수 있다는 장점을 가진다.
비록 self-supervised learning process는 모든 retrieval collection에 대해 특정 반복 또는 설계를 해야할지라도, 결과적인 검색 성능은 fully-supervised retrievers보다 훨씬 뒤쳐져 있어, 대부분의 경우 만족스럽지 못하다.
대조적으로 TF-IDF 및 BM25와 같은 non-parametric term 혹은 lexicon-based retrieval 방법은 무거운 신경망을 훈련하지 않아도 되지만, term 및 lexicons의 문서 빈도를 고려할 때 어휘 중복에 의존적이다. 그럼에도 불구하고, 간단한 BM25 방법은 zero-shot retrieval에서 많은 경우에 self-supervised retriever보다 성능이 뛰어나다.
그러므로, 본 연구에서는 BM25 방법을 활용하여 large-scale retrival을 수행한다. BM25의 핵심 아이디어는 term frequency와 document frequency를 통합하여 주어진 query와의 관련성에 따라 문서의 순위를 매긴다. 간단히 말해 문서 $ d \in D$와 query $q$ 사이의 관련성 점수는 다음과 같이 정의된다.
$$ Rel^{BM25}(d,q)=\sum_{t \in q} IDF(t) \cdot {TF(t,d) \cdot (k_{1}+1) \over TF(t,d) + k_{1} \cdot (1-b+b \cdot {len(d) \over avgdl})}, \ where \ IDF(t)=log {N-n(t)+0.5 \over n(t) + 0.5} $$
여기서 t는 $q$ 안의 lexicon term으로 정의 하며, $TF(t,d)$는 document $d$ 안의 term $t$의 빈도를 나타내고 $IDF(t)$는 term $t$의 docuemnt frequency의 inverse를 나타낸다. 또, $N=|D|$는 collection안의 documents의 total number를 뜻하고 $n(t)$는 term $t$를 포함하는 documents의 수를 나타낸다. $len(d)$는 $d$의 length이고, $avgdl$은 collection 전체의 평균document 길이이다. retrieval procedure은 다음과 같다.
$$ \hat{D}^{q} = Retriever(q,D,K).$$
$\hat{D}^{q}$는 관련성 점수의 내림차순으로 $q$에 대한 top-K retrieval candidates의 목록이다. 따라서 $|\hat{D}^{q}|=K$이다.
Remark.
LLM과 같이 강력하고 non-tunable한 생성 모델을 query의 명시적인 text augmentations에 사용할 때, lexicon-based retrieval 방법은 높은 효율성뿐만 아니라, compressed embedding 없이 검색을 위한 정확한 augmentations을 수행하는 장점이 있다. 따라서, lexicon-based 방법을 사용하면 LLM의 output이 문자 그대로 검색 collections에 노출되어 검색 모듈이 LLM에 투명해진다. 이에 비해 self-supervised 에서 heuristically mining된 모조의 데이터에 대해 훈련된 neural encoder는 LLM-augmented queries를 모델링하기에는 너무 weak하여 성능 병목 현상이 발생한다.
4.2 Candidate-Prompted Answer Generation
query $q$가 주어지면, zero-shot 품질을 개선하는 데 효과적인 것으로 입증된 LLM에서 가져온 답변으로 augmentation한다. LLM을 유도하는 것은 어떻게 해야하는 지는 여전히 미해결 문제로 남아있다. 예를 들어, 간단한 방법으로는 QA의 instruction과 query 구성으로 prompting 할 것을 제안한다. 그러나 LLM은 광범위하고 일반적인 QA instrusction과 결합된 짧고 의도가 모호한 query만 수신할 수 있기 때문에, query의 intent와 domain 모두에서 Prompt의 instruction을 잘 받지 못해 정확한 답변을 하는 것이 어렵다. Query2doc 연구는 in context demonstrations으로 few-shot query-document examples를 prompts에 추가하여 보다 합리적인 답변을 제공한다. 그러나, zero-shot 설정에서는 사용할 수 없다.
대신 large-scale retrieval에서 query augmentation을 위해 candidate-prompted answer generation이라는 새로운 prompt schema를 제안한다. 표 1에서 볼 수 있듯이 task instruction 및 검색 query 외에 상위 answering candidates 목록도 LLM 유도 prompt에 포함된다. 여기서 상위 candidates는 retirever(4.1 절)를 통해 query에 vanilla 검색 프로세스를 직접 적용하여 얻는다. 공식적으로 먼저 전체 $D$에서 $q$에 대한 top-M개의 후보를 검색한다.
$$ C^{q} = Retriever(q, D, M) $$
여기서 $M$은 downstream modules의 computation overhead를 줄이기 위해 일반적으로 매우 작다(e.g., < 10). 그 다음 LLM으로 부터 지식을 이끌어내기 위해, $C^{q}$로 prompt를 구성한 다음 응답 생성을 위해 LLM을 호출한다. 즉,
$$ A^{q} = \{a^{q}_{1} ... a^{q}_{N} | a^{q} \sim LLM(p(t,q,C^{q}))\}$$
여기서 $p(\cdot)$는 instruction $t$ query $q$ retrieved candidates $C_{q}$를 사용하여 prompt를 구성한다.(예시는 표 1 모든 task의 prompt는 Appendix A 참조.) LLM의 outputs을 sampling하여 여러 개의(즉, N개) 답변을 생성하는 것은 주목할 만한데, 이는 '어휘 불일치' 문제를 방지하기 위해 가능한 많은 잠재 답변을 제공하고자 하기 때문이다.
따라서 LLM($\cdot$)은 두 가지 측면에서 답변 후보 $C^{q}$를 활용한다. 1) $C^{q}$에 존재하는 $q$의 gold 문서가 하나 또는 많은 경우 LLM($\cdot$)은 rerank 역할을 하며, $C^{q}$에서 올바른 문서를 요약하고 내부 parameterized knowledge를 이끌어 냄으로써 답변 $A^{q}$를 생성합니다. 2) $C^{q}$의 정확성과 상관없이 LLM($\cdot$)은 intents, domain 및 unit에 대한 in-collection 답변 정보도 수신하므로 LLM이 보다 정확한 답변 $A^{q}$를 생성하는 데 도움이 되기 쉽다.
4.3 Answer-Augmented Large-Scale Retrieval
$q$에 대한 답변 $A^{q}$가 생성되면, 본 연구진은 이 것들을 새로운 query $\bar{q}$인 augment $q$로 증강하기 위해 사용한다. non-parametric lexicon-based retriever 덕분에, query augmenation 작업은 매우 간단하게 수행할 수 있으며, 이는 latent embeddings이 아닌 일반 text에서 동작한다. 즉, 우리는 모든 $q \in A^{q}$를 원래의 $q$와 쉽게 연결할 수 있다. 즉,
$$\bar{q} = Concat(q,a^{q}_{1}, q,a^{q}_{2},...,q,a^{q}_{N})$$
여기서 Concat은 text로 연결하는 작업을 나타낸다. 마지막으로 단순히 augmented query인 $\bar{q}$를 사용하여 대규모 검색을 수행한다.
$$\hat{D}^{\bar{q}} = Retriever(\bar{q}, D, K) $$
여기서 $\hat{D}^{\bar{q}}$는 metric 계산을 위한 query $q$ 및 K=1000에 대해 최종 검색된 문서의 목록이다. 인덱스가 반전된 lexicon-based retriever의 높은 효율성 때문에 augmentation은 여전히 dense retriever보다 빠를 것이며, 치명적인 overhead 증가를 야기하지 않는다.