# Precise Zero-Shot Dense Retrieval without Relevance Labels

## 논문 개요

- **_논문명: Precise Zero-Shot Dense Retrieval without Relevance Labels_**

- **_링크_**_ :_ [https://arxiv.org/pdf/2212.10496](https://arxiv.org/pdf/2212.10496)

- **_출간일_**_ : 2022.12_

- **_출간 학회_**_ : -_

- **_저자_**_ :_ Luyu Gao, Xueguang Ma, Jimmy Lin, Jamie Callan

- **_소속_**_ : Carnegie Mellon University, University of Waterloo_

- **_인용 수_**_ : 130_

- **_코드 :_** [https://python.langchain.com/v0.1/docs/use_cases/query_analysis/techniques/hyde/](https://python.langchain.com/v0.1/docs/use_cases/query_analysis/techniques/hyde/) (비공식 코드)

## Abstract

- dense retrieval이 다양한 작업과 언어에서 효과적이고 효율적인 것으로 나타났지만, relevance label이 없는 상황에서 효과적인 fully zero-shot dense retrieval system을 만드는 것은 어려움

- Hypothetical Document Embeddings (HyDE)

1. 쿼리가 주어졌을 때, instruction-following language model(e.g. InstructGPT)가 hypothetical 문서를 생성하도록 함 
1.   문서는 relevance pattern을 포착하지만 비현실적이고 틀린 디테일을 가질 수 있음

2. supervised contrastively learned encoder(e.g. Contriever)가 문서를 임베딩, 벡터 유사도를 기반으로 하여 유사한 실제 문서를 retrieve 
2.   생성된 문서를 실제 코퍼스와 연결시키며, 인코더(contriever)의 dense bottleneck 현상이 부정확한 세부 사항을 필터링함

- 실험 결과, HyDE는 최신 unsupervised dense retriever인 Contriever의 성능 크게 능가, 다양한 작업(예: 웹 검색, QA, 사실 확인)과 언어(예: 스와힐리어, 한국어, 일본어)에서 fine-tuned된 retriever와 비교할 만한 강력한 성능을 보여줌

## Introduction

기존 방법

- Dense retrieval: 시멘틱 임베딩 유사도로 문서 검색

- supervised dense retrieval model 성능 개선 방법 제시: negative mining, distillation, task-specific pre-training

- alternative 전이 학습 설정: dense retriever를 높은 리소스 데이터셋에 학습하고 새로운 태스크 쿼리로 평가 (예: MS-MARCO)

논문 제시 

- 목표: fully zero-shot dense retrieval system, no relevance supervision, work out-of-box, generalize across tasks

- self-supervised representation learning method 사용

- LLM을 추가로 학습하여 다양한 처음 보는 지시에 대해 zero-shot 일반화하여 지시를 따를 수 있도록 함

HyDE

![Image](https://upload.cafenono.com/image/slashpagePost/20240913/163002_NOZDfJj05wMbosFhez?q=80&s=1280x180&t=outside&f=webp)

- dense retrieval을 두 가지 태스크로 분해

    - instruction-following LM을 통한 생성 태스크

    - contrastive 인코더를 통한 문서-문서 유사도 태스크

HyDE 단계 

1. 쿼리를 생성 모델에 주고 “질문에 대답하는 문서를 쓰도록” 지시함 (예: hypothetical document) 
1. 생성 프로세스가 예시를 통해 “연관도”를 잡아내기를 기대함

2. 비지도 contrastive 인코더로 이 문서를 임베딩 벡터로 인코딩 
2. 인코더의 dense bottleneck이 lossy compressor(손실 압축기, 일부 데이터를 손실하면서 압축하는 방법)로 작동하여 환각성 세부 정보가 임베딩으로부터 필터링되길 기대함 

3. 이 벡터를 코퍼스 임베딩에 대해 검색하여 가장 유사한 실제 문서가 검색됨 
3. retrieval: contrastive training에서 inner-product로 계산

HyDE 특징 

- 태스크 분해를 통해 쿼리-문서 유사도 점수는 더이상 명시적으로 모델링되거나 계산되지 않고, 두 가지의 NLU와 NLG 태스크로 cast 됨

- HyDE appears unsupervised: 모델 학습 필요없으며 backbone LLM의 instruction learning에 supervision signal(지시)이 사용될 뿐

- Instruct-GPT와 Contriever를 backbone 모델로 사용하여 web search, question answering, fact verification의 태스크에서 스와힐리어, 한국어, 일본어에 대해 좋은 성능을 보임

## Related Works

### Instructions-Following Language Models

- 지시와 그 실행으로 구성된 데이터로 훈련된 LLM은 파인튜닝과 강화학습을 통해 새로운 지시로 새로운 작업을 수행하는 데 zero-shot generalization할 수 있음

### Zero-shot Dense Retrieval

- MS-MARCO와 같은 richly supervised corpus and query collection이 있지만, 좀 더 현실적인 환경과 테스트 코퍼스들에 대한 오버 엔지니어링을 방지하기 위해 relevance label 없이 효과적인 dense retrieval system 만들기

## Methodology

### Preliminaries

- 쿼리 q와 문서 d가 주어졌을 때, 두개의 인코더 함수인 $enc_q$와 $enc_d$를 사용하여 d 차원의 벡터인 $v_q$와 $v_d$로 매핑을 하고, 유사도 측정을 위해 내적을 사용

- 유사성 측정 공식

-   `sim(q, d) = ⟨encq(q), encd(d)⟩ = ⟨vq, vd⟩`

- 쿼리 세트 $Q_i$, 문서 세트 $D_i$, relevance judgement $r_{ij}$에 접근 전혀 없이 매핑 함수 $enc_q$와 $enc_d$를 정의해야 함

- **제로샷 dense retrieval의 어려움:**

    - 두 개의 임베딩 함수(쿼리와 문서 각각에 대해)를 동일한 임베딩 공간으로 학습해야 하며, 이 공간에서 내적이 관련성을 포착해야 함

    - 제로샷 환경에서는 사전 학습된 모델로 새로운 데이터셋에 대해 retrieval을 해야하는데 쿼리와 문서 간 관련성 판단할 수 있는 정보가 부족(관련성 판단/점수가 없으면 학습이 불가능해짐)

### HyDE

1. **Unsupervised Contrastive Learning**

- HyDE는 문서-문서 유사성을 포착하는 문서 전용 임베딩 공간에서 검색을 수행함으로써 앞서 언급한 학습 문제를 우회, unsupervised contrastive learning으로 학습

2. **Query vector generation**

- 쿼리 q와 textual instruction INST를 받아 INST에 적혀 있는 태스크를 수행

-   `g(q, INST) = InstructLM(q, INST)`

- INST: “write a paragraph that answers the question”으로 hypothetical document 생성
- 이 문서들은 실제가 아니지만, relevance pattern을 포착하기만 하면 됨

- 관련성 모델링을 표현 학습 모델에서 자연어 생성(NLG) 모델로 전환, 더 쉽게 일반화 가능

**3. Encoding Generated Documents**

- 생성된 문서를 인코더로 벡터 변환

![Image](https://upload.cafenono.com/image/slashpagePost/20240913/163038_FxR5sj88TVmQTUrIxR?q=80&s=1280x180&t=outside&f=webp)

- E 는 기대값(Expectation Value)을 나타내며, 이는 생성된 문서의 벡터의 기대값을 의미함

- g: 가상의 문서 생성 함수, f: 문서 → 임베딩 함수

1. **Probability distribution and sampling**

- g로부터 N개의 문서를 샘플링하여 기대값 추정 [dˆ , dˆ , ..., dˆ ]

- N개의 문서를 샘플링하고 샘플링된 문서들의 벡터 평균을 계산하는 식

![Image](https://upload.cafenono.com/image/slashpagePost/20240913/163052_ew2q0FHAYjzvgC1Tok?q=80&s=1280x180&t=outside&f=webp)

2. **Inner Product**

- v^qij와 모든 문서 벡터들 간의 내적 계산해서 가장 비슷한 문서를 retrieve

- 인코더 함수 f는 dense vector를 출력하는 lossy compressor로 작동

![Image](https://upload.cafenono.com/image/slashpagePost/20240913/163106_3WPM8aGt6wvP6JnTEF?q=80&s=1280x180&t=outside&f=webp)

## Experiments

### Setup

- Model: InstructGPT(text-davinci-003), Contriever

- temperature: 0.7

- Dataset: TREC DL19 & DL20(web search query sets, based on MS-MARCO)

- low resource dataset: BEIR

- HyDE retrievers and Contriever models share exact same embedding spaces

### Web search

![Image](https://upload.cafenono.com/image/slashpagePost/20240913/163117_8g8HKeEamS6tpGDmCY?q=80&s=1280x180&t=outside&f=webp)

### Low Resource Retrieval

![Image](https://upload.cafenono.com/image/slashpagePost/20240913/163125_el2IXaFcHEmOsxSgSB?q=80&s=1280x180&t=outside&f=webp)

### Multilngual Retrieval

![Image](https://upload.cafenono.com/image/slashpagePost/20240913/163130_FUiR1P3bUQIDfCXqQI?q=80&s=1280x180&t=outside&f=webp)

## Analysis

![Image](https://upload.cafenono.com/image/slashpagePost/20240913/163136_d9hN6I2B6NZfjTxeZX?q=80&s=1280x180&t=outside&f=webp)

- 더 작은 사이즈 모델 시도, 작은 모델도 성능 향상시킴

### HyDE with Fine-tuned Encoder

- HyDE를 파인튜닝된 인코더(retriever)랑 사용하는 건 좋지 않음: relevance label이 조금 있을 때 성능이 더 좋음

- 약한 instruction LM을 사용하면 fine-tuned retriever의 성능에 부정적으로 영향을 끼침

## Conclusion

- HyDE는 dense retriever만큼 효과적

For the site tree, see the [root Markdown](https://slashpage.com/kpmg-lighthouse.md).
