Hypothetical Document Embeddings (HyDE) (KO)
Hypothetical Document Expansion (HyDE) — 벡터 검색(retrieval) 및 retrieval‑augmented generation (RAG)을 개선하는 방법으로, 대형 언어 모델(LLM)이 원래 쿼리로부터 '가상 문서(hypothetical document)'를 생성하고, 이 텍스트를 인코더로 벡터화한 뒤, 생성된 벡터와의 유사도를 기준으로 실제 문서를 검색하는 방식이다. 이 접근법은 LLM에 인코딩된 '관련성 패턴'을 활용하여 밀집 embedding을 통해 코퍼스에 '근거(grounding)'를 부여할 수 있게 한다[1].
정의와 직관
HyDE는 검색 작업을 두 단계로 분해한다:
(1) LLM이 쿼리에 대한 '관련 응답 예시'(hypothetical document)를 생성하여 관련성 특징을 모델링하고;
(2) 대조적(contrastive) 인코더(예: Contriever)가 해당 텍스트를 벡터로 변환하여, 이를 기반으로 인덱스에서 실제 문서를 추출한다. 생성된 텍스트에는 사실적 오류가 포함될 수 있지만, 인코더가 포착하는 주제적·용어적 패턴이 중요하다[2].
역사와 출처
합성 텍스트를 이용한 검색 확장 아이디어는 쿼리 확장(query expansion) 및 의사 관련성 피드백(PRF) 연구에 그 뿌리를 두고 있다: Rocchio 알고리즘과 관련성 언어 모델[3][4]. 밀집 검색(dense retrieval)에는 대조적으로 학습된 인코더(Contriever)[5]와 Dense Passage Retrieval (DPR)[6]이 활용되었다. BEIR benchmark는 zero‑shot 평가를 표준화하였다[7]. 이러한 배경에서 HyDE는 인코더를 fine-tuning하지 않고도 LLM을 통해 관련성 지식을 zero-shot 방식으로 도입하는 방법으로 제안되었다[8].
방법과 형식화
문서 코퍼스를 , 텍스트 인코더 가 문서의 벡터 표현 을 정의한다고 하자. 유사도 측정에는 코사인 유사도 또는 내적이 사용된다. 중요한 점은 **내적은 두 벡터의 L2 노름이 단위 노름일 때만 코사인 유사도와 일치한다**는 것이다()[9].
HyDE는 LLM이 생성한 '가상 문서'를 통해 쿼리 표현을 재정의한다. 형식적으로:
여기서 은 지시문 (예: "다음 질문에 답하는 단락을 작성하시오 …")을 갖는 LLM이고, 은 유사도 측정값(코사인 또는 정규화된 내적), 는 최대 유사도를 갖는 개 문서의 집합이다[10][11].
실제 엔지니어링에서는 **여러** 가상 텍스트를 생성하여 그 표현을 집계하는 방식이 자주 사용되며, 이는 안정성을 높인다:
여기서 는 확률적 디코딩 파라미터(예: temperature/top‑p)이다. 이러한 앙상블(ensemble)화는 적절한 지연 시간 증가로 Recall을 향상시킨다[12].
HyDE 기본 파이프라인
# 1) prompt(query) -> hypothetical_doc # 2) embed(hypothetical_doc) -> v_h # 3) retrieve(index, v_h, k) -> candidates # 4) (optional) rerank(query, candidates) -> topN # 5) (для RAG) stuff / map-reduce / refine на topN
다른 방법과의 관계 (QE, doc2query, PRF)
- QE(쿼리 확장)는 쿼리에 용어를 추가하는 방식이고, HyDE는 대신 전체 '준문서(quasi‑document)'를 생성하여 밀집 인코더와 더 잘 호환된다[13].
- doc2query / docTTTTTquery는 인덱싱 전에 합성 쿼리로 문서를 확장한다[14][15]. HyDE는 재인덱싱 없이 실시간으로 쿼리를 확장한다.
- PRF(Rocchio, Relevance LM)는 상위 결과를 기반으로 쿼리 벡터를 업데이트하는 반면, HyDE는 LLM에서 직접 '관련성 패턴'을 추출한 뒤 코퍼스 검색을 통해 '근거'를 부여한다[16].
RAG 및 재순위화(reranking)와의 통합
RAG에서 HyDE는 검색의 첫 번째 단계로 사용된다: 가상 문서 → embedding → k개 후보. 이후 재순위화가 적용된다: BERT 계열 크로스 인코더[17] 또는 ColBERT의 후기 상호작용(late interaction)[18]. 목록 병합(예: BM25+벡터 하이브리드)에는 일반적으로 RRF(reciprocal rank fusion)가 사용된다: RRF 방법은 결합된 순위 목록의 전반적인 품질을 안정적으로 향상시킨다[19].
벤치마크 평가 (BEIR 등)
원저 논문은 TREC DL'19/20(웹 검색)과 BEIR 컬렉션의 하위 집합(Scifact, ArguAna, TREC‑COVID, FiQA, DBPedia, TREC‑NEWS, Climate‑FEVER)에서 HyDE를 zero-shot 방식으로 평가한다. 결과 일부 — 2023-07 기준:
| 방법 | DL19 | DL20 | 출처 |
|---|---|---|---|
| BM25 | 30.1 / 50.6 / 75.0 | 28.6 / 48.0 / 78.6 | [20] |
| Contriever (unsup.) | 24.0 / 44.5 / 74.6 | 24.0 / 42.1 / 75.4 | [21] |
| HyDE (Contriever+LLM) | 41.8 / 61.3 / 88.0 | 38.2 / 57.9 / 84.4 | [22] |
| DPR (ft) | 36.5 / 62.2 / 76.9 | 41.8 / 65.3 / 81.4 | [23] |
| ANCE (ft) | 37.1 / 64.5 / 75.5 | 40.8 / 64.6 / 77.6 | [24] |
| 방법 | Scifact | ArguAna | TREC‑COVID | FiQA | DBPedia | TREC‑NEWS | Climate‑FEVER | 출처 |
|---|---|---|---|---|---|---|---|---|
| BM25 | 67.9 / 92.5 | 39.7 / 93.2 | 59.5 / 49.8 | 23.6 / 54.0 | 31.8 / 46.8 | 39.5 / 44.7 | 16.5 / 42.5 | [25] |
| Contriever | 64.9 / 92.6 | 37.9 / 90.1 | 27.3 / 17.2 | 24.5 / 56.2 | 29.2 / 45.3 | 34.8 / 42.3 | 15.5 / 44.1 | [26] |
| HyDE | 69.1 / 96.4 | 46.6 / 97.9 | 59.3 / 41.4 | 27.3 / 62.1 | 36.8 / 47.2 | 44.0 / 50.9 | 22.3 / 53.0 | [27] |
HyDE는 다국어 데이터셋 Mr.TyDi(sw/ko/ja/bn)에서도 mContriever 대비 MRR@100을 향상시킨다[28].
실용적 권고사항
- HyDE 적용 시점
- Zero-shot/전이(transfer) 환경(관련성 레이블이 없거나, 학습 코퍼스와 도메인이 크게 다른 경우)[29].
- 적절한 정밀도를 유지하면서 Recall@k를 높여야 할 때 — HyDE는 벡터 공간에서 관련 영역을 자주 '발견'한다[30].
- 일반적인 설정
- LLM 및 prompt: "다음 질문에 답하는 단락을 작성하시오 …" 지시문; 적당한 확률성(예: temperature≈0.7)[31].
- 가상 텍스트 수: 1–5개; embedding 평균화가 안정성을 높인다[32].
- 임베더: fine-tuning 없는 (m)Contriever; fine-tuning된 인코더도 사용 가능(HyDE 효과 유지됨)[33].
- Embedding 정규화: L2 노름; 내적이 코사인과 동등해진다[34].
- 하이브리드 검색: BM25+벡터 후 재순위화[35].
- 재순위기: Cross-Encoder(BERT re‑ranker)[36] 또는 ColBERT[37].
- 결과 병합: 다양한 전략의 결과를 RRF(k≈60)로 통합[38].
- 품질/비용 모니터링
- 검색: nDCG@k, Recall@k, MRR; end‑to‑end RAG: EM/F1 또는 groundedness 지표(RAGAS/TruLens)[39][40].
- 비용/지연 시간: LLM 생성과 (있을 경우) 재순위화가 지배적이며, 가상 텍스트 수와 응답 길이로 최적화할 수 있다[41].
한계와 미해결 과제
- 가상 텍스트의 환각(hallucination): LLM이 사실적 오류를 도입할 수 있으며, 인코더와 코퍼스를 통한 '근거 부여'가 위험을 줄이지만 완전히 제거하지는 못한다[42].
- 도메인/언어 제한: 고도로 전문화된 도메인과 저자원 언어에서는 HyDE의 이점이 감소한다[43].
- 지연 시간과 비용: LLM 생성은 지연 및 token 비용을 추가하며, 온라인 시나리오 및 긴 가상 텍스트에서 특히 중요하다[44].
- 윤리 및 편향: 안전한 LLM과 필터링을 사용하는 것이 바람직하다[45].
방법 비교표
| 방법 | 분류 | 텍스트 생성 위치 | 인코더/인덱스 | 재순위기(2단계) | 대표 지표(예시) | 비용/지연 시간 | 출처 |
|---|---|---|---|---|---|---|---|
| HyDE | 쿼리→가상 문서 | 쿼리 측(LLM → 단락) | (m)Contriever; ANN | BERT re‑rank / ColBERT / RRF | DL19 nDCG@10≈61.3; DL20≈57.9; ArguAna nDCG@10≈46.6 | + LLM 생성; + 재순위화(선택) | [46] |
| BM25 | 어휘적(lexical) | — | 역색인(inverted index) | 선택적 | 위 표 참조 | 낮음(lexical) | [47] |
| DPR / ANCE | 밀집(fine-tuning) | — | Bi-encoder; ANN | 선택적 | DL19 nDCG@10≈62–65 | 보통(LLM 없음) | [48][49] |
| doc2query / docTTTTTquery | 문서 확장 | 컬렉션 측(인덱싱 전) | BM25/sparse+확장 | 선택적 | MS MARCO에서 BM25 개선 | 오프라인 생성 비용 높음; 온라인 빠름 | [50][51] |
| PRF (Rocchio, RLM) | 피드백 기반 QE | 쿼리(상위 결과 기반) | 임의 | 선택적 | Recall 향상/드리프트 위험 | + 추가 검색 패스 | [52] |
같이 보기
- BM25
- 벡터 표현 기반 검색
- RAG
- 의사 관련성 피드백
- BEIR
참고 문헌
- Manning, C. D.; Raghavan, P.; Schütze, H. (2008). Introduction to Information Retrieval. Cambridge University Press. ISBN 978‑0521865715.
- Robertson, S.; Zaragoza, H. (2009). The Probabilistic Relevance Framework: BM25 and Beyond. Foundations and Trends in IR, 3(4), 333–389. DOI:10.1561/1500000019.
외부 링크
- HyDE 저장소: github.com/texttron/hyde.
- 문서: Haystack — HyDE: docs.haystack.deepset.ai.
- 문서: LangChain — HyDE Retriever: docs.langchain.com.
주석
- ↑ Gao, L.; Ma, X.; Lin, J.; Callan, J. (2023). ‘‘Precise Zero‑Shot Dense Retrieval without Relevance Labels (HyDE)’’. ACL 2023. pp. 1762–1777. DOI:10.18653/v1/2023.acl-long.99. arXiv:2212.10496
- ↑ Gao, L. et al. (2023). ACL 2023, §3.2. DOI:10.18653/v1/2023.acl-long.99.
- ↑ Rocchio, J. (1971). ‘‘Relevance Feedback in Information Retrieval’’. In: Salton, G. (ed.) The SMART Retrieval System. Prentice‑Hall, pp. 313–323. ISBN 978‑0138145255.
- ↑ Lavrenko, V.; Croft, W. B. (2001). ‘‘Relevance‑Based Language Models’’. SIGIR. DOI:10.1145/383952.383972.
- ↑ Izacard, G. et al. (2021/2022). ‘‘Unsupervised Dense Information Retrieval with Contrastive Learning’’. arXiv:2112.09118.
- ↑ Karpukhin, V. et al. (2020). ‘‘Dense Passage Retrieval for Open‑Domain QA’’. EMNLP. DOI:10.18653/v1/2020.emnlp-main.550.
- ↑ Thakur, N. et al. (2021). ‘‘BEIR: A Heterogeneous Benchmark for Zero‑shot Evaluation of Information Retrieval Models’’. NeurIPS Datasets Track. arXiv:2104.08663.
- ↑ Gao, L. et al. (2023). DOI:10.18653/v1/2023.acl-long.99.
- ↑ Milvus Docs. ‘‘Similarity Metrics’’ — при L2‑нормализации векторов внутр. произведение эквивалентно косинусу. URL: https://milvus.io/docs/v2.2.x/metric.md
- ↑ Gao, L.; Ma, X.; Lin, J.; Callan, J. (2023). ‘‘Precise Zero‑Shot Dense Retrieval without Relevance Labels (HyDE)’’. ACL 2023, §3–4. arXiv:2212.10496. DOI:10.18653/v1/2023.acl-long.99.
- ↑ Izacard, G. et al. (2021/2022). ‘‘Unsupervised Dense Information Retrieval with Contrastive Learning (Contriever)’’. arXiv:2112.09118.
- ↑ Gao, L. et al. (2023). Прил. (ablation): влияние числа гипотетических текстов и параметров генерации. arXiv:2212.10496.
- ↑ Gao, L. et al. (2023). DOI:10.18653/v1/2023.acl-long.99.
- ↑ Nogueira, R. et al. (2019). ‘‘Document Expansion by Query Prediction’’ (doc2query). arXiv:1904.08375.
- ↑ Nogueira, R.; Lin, J. (2019). ‘‘From doc2query to docTTTTTquery’’ (tech report). PDF
- ↑ Rocchio, J. (1971); Lavrenko & Croft (2001), см. выше.
- ↑ Nogueira, R.; Cho, K. (2019). ‘‘Passage Re‑ranking with BERT’’. arXiv:1901.04085.
- ↑ Khattab, O.; Zaharia, M. (2020). ‘‘ColBERT: Efficient and Effective Passage Search via Contextualized Late Interaction over BERT’’. SIGIR. DOI:10.1145/3397271.3401075; arXiv:2004.12832.
- ↑ Cormack, G. V.; Clarke, C. L. A.; Büttcher, S. (2009). ‘‘Reciprocal Rank Fusion Outperforms Condorcet and Nearly Optimally Combines Rankings’’. SIGIR. DOI:10.1145/1571941.1572114.
- ↑ Gao, L. et al. (2023). Табл. 1. DOI:10.18653/v1/2023.acl-long.99.
- ↑ Izacard, G. et al. (2022); сводные метрики — в Gao et al., 2023, табл. 1. arXiv:2112.09118.
- ↑ Gao, L. et al. (2023). Табл. 1.
- ↑ Karpukhin, V. et al. (2020); сводные — в Gao et al., 2023.
- ↑ Xiong, L. et al. (2021). ICLR. arXiv:2007.00808.
- ↑ Thakur, N. et al. (2021); сводные — в Gao et al., 2023, табл. 2. arXiv:2104.08663.
- ↑ Izacard, G. et al. (2022); сводные — в Gao et al., 2023, табл. 2.
- ↑ Gao, L. et al. (2023). Табл. 2.
- ↑ Gao, L. et al. (2023). Табл. 3. DOI:10.18653/v1/2023.acl-long.99.
- ↑ Gao, L. et al. (2023). §4–5.
- ↑ Gao, L. et al. (2023). §4.2–4.3.
- ↑ Gao, L. et al. (2023). §4.1.
- ↑ Haystack Docs. ‘‘Hypothetical Document Embeddings (HyDE)’’ (инженерная справка). docs.haystack.deepset.ai
- ↑ Gao, L. et al. (2023). Табл. 6.
- ↑ Milvus Docs. ‘‘Similarity Metrics’’.
- ↑ Haystack × Milvus Integration (официальная док.). haystack.deepset.ai
- ↑ Nogueira, R.; Cho, K. (2019). arXiv:1901.04085.
- ↑ Khattab, O.; Zaharia, M. (2020). DOI:10.1145/3397271.3401075.
- ↑ Cormack, G. V. et al. (2009). DOI:10.1145/1571941.1572114.
- ↑ Manning, C. D.; Raghavan, P.; Schütze, H. (2008). Introduction to Information Retrieval. Cambridge Univ. Press. ISBN 978‑0521865715.
- ↑ Es, S. et al. (2023). ‘‘RAGAS: Automated Evaluation of Retrieval‑Augmented Generation’’. arXiv:2309.15217.
- ↑ Gao, L. et al. (2023). §5.
- ↑ Gao, L. et al. (2023). §3.2; §4.1. DOI:10.18653/v1/2023.acl-long.99.
- ↑ Gao, L. et al. (2023). Табл. 3; §4.4.
- ↑ Gao, L. et al. (2023). §4–5.
- ↑ Ouyang, L. et al. (2022). ‘‘Training language models to follow instructions with human feedback (InstructGPT)’’. NeurIPS. arXiv:2203.02155.
- ↑ Gao, L. et al. (2023). Табл. 1–2.
- ↑ Robertson, S.; Zaragoza, H. (2009). ‘‘The Probabilistic Relevance Framework: BM25 and Beyond’’. Found. Trends IR. DOI:10.1561/1500000019.
- ↑ Karpukhin, V. et al. (2020). DOI:10.18653/v1/2020.emnlp-main.550.
- ↑ Xiong, L. et al. (2021). arXiv:2007.00808.
- ↑ Nogueira, R. et al. (2019). arXiv:1904.08375.
- ↑ Nogueira, R.; Lin, J. (2019). tech report.
- ↑ Rocchio, J. (1971). SMART; Lavrenko & Croft (2001) SIGIR.