Hypothetical Document Embeddings (HyDE) (CS)

From Systems analysis Wiki
Jump to navigation Jump to search

Hypothetical Document Expansion (HyDE) — metoda zlepšení vektorového vyhledávání a retrieval‑augmented generation (RAG), při níž velký jazykový model (LLM) na základě původního dotazu vygeneruje „hypotetický dokument"; tento text je poté vektorizován enkodérem a vyhledávání probíhá mezi reálnými dokumenty podle blízkosti k získanému vektoru. Přístup umožňuje využívat „vzory relevance" zakódované v LLM a „ukotvovat" je v korpusu pomocí hustých embeddingů[1].\n\n== Definice a intuice ==\nHyDE dekomponuje úlohu vyhledávání do dvou fází:\n\n(1) LLM vytvoří „příklad relevantní odpovědi" (hypothetical document) k dotazu, čímž modeluje příznaky relevance;\n\n(2) kontrastivní enkodér (např. Contriever) převede tento text na vektor, podle nějž jsou z indexu extrahovány reálné dokumenty. Vygenerovaný text může obsahovat faktické chyby, avšak důležité jsou tematické a terminologické vzory zachytitelné enkodérem[2].\n\n== Historie a zdroje ==\nMyšlenka rozšíření vyhledávání syntetickými texty sahá ke pracím o rozšíření dotazu a pseudorelevantní zpětné vazbě (PRF): algoritmus Rocchio a jazykové modely relevance[3][4]. Pro husté vyhledávání byly využívány kontrastivně trénované enkodéry (Contriever)[5] a Dense Passage Retrieval (DPR)[6]. Benchmark BEIR standardizoval zero‑shot hodnocení[7]. Na tomto základě byl navržen HyDE jako způsob, jak „vnést" do nulového režimu znalost o relevanci prostřednictvím LLM bez dotrénování enkodéru[8].\n\n== Metoda a formalizace ==\nNechť korpus dokumentů 𝒟={d1,,dN} a enkodér textů E:textn definuje vektorové reprezentace dokumentů 𝐯d=E(d). Pro měření blízkosti se používá buď kosinová podobnost, nebo skalární součin; důležitá poznámka: **skalární součin se shoduje s kosinovou podobností pouze při jednotkové L2‑normě obou vektorů** (𝐮=𝐯=1)[9].\n\nHyDE předefinuje reprezentaci dotazu prostřednictvím „hypotetického dokumentu" vygenerovaného LLM. Formálně:\n\n(1) Генерация гипотетического текста:d~=G(q;inst),(2) Эмбеддинг гипотетического текста:𝐯h=E(d~),(3) Поиск ближайших соседей:k(q)=TopKd𝒟S(𝐯h,𝐯d),\n\nkde G — LLM s instrukcí inst (například: „Napiš odstavec odpovídající na otázku …"), S — míra podobnosti (kosinus nebo IP s normalizací), a k(q) — množina k dokumentů s maximální podobností[10][11].\n\nV inženierské praxi se často generuje **několik** hypotetických textů a jejich reprezentace se agregují, což zvyšuje robustnost:\n\nd~(j)=G(q;inst,ξj),𝐯h=1mj=1mE(d~(j)),\n\nkde ξj — stochastické parametry dekódování (např. temperature/top‑p). Taková ensemblizace zlepšuje Recall při mírném nárůstu latence[12].\n\n=== Základní pipeline HyDE ===\n

# 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

\n\n\n\n=== Vztah k dalším metodám (QE, doc2query, PRF) ===\n* QE (rozšíření dotazu) přidává termíny k dotazu; HyDE místo toho generuje celý „kvazi‑dokument", což lépe koresponduje s hustými enkodéry[13].\n* doc2query / docTTTTTquery rozšiřují dokumenty syntetickými dotazy před indexací[14][15]; HyDE rozšiřuje dotaz za chodu, bez nutnosti reindexace.\n* PRF (Rocchio, Relevance LM) aktualizuje vektor dotazu podle top výsledků; HyDE extrahuje „vzor relevance" přímo z LLM a poté jej „ukotvuje" vyhledáváním v korpusu[16].\n\n== Integrace do RAG a přeřazování ==\nV RAG se HyDE používá jako první fáze vyhledávání: hypotetický dokument → embedding → k kandidátů. Poté se využívá přeřazování: cross-enkodéry třídy BERT[17] nebo pozdní interakce ColBERT[18]. Pro slučování seznamů (např. hybrid BM25+vector) se typicky používá RRF (reciprocal rank fusion):\nRRF(d)=r1k+rankr(d),k60.\nMetoda RRF stabilně zvyšuje souhrnnou kvalitu kombinovaných řazení[19].\n\n== Hodnocení na benchmarcích (BEIR a další) ==\nOriginální práce hodnotí HyDE v nulovém režimu na TREC DL'19/20 (webové vyhledávání) a na podmnožině kolekcí BEIR (Scifact, ArguAna, TREC‑COVID, FiQA, DBPedia, TREC‑NEWS, Climate‑FEVER). Fragment výsledků — k datu 2023‑07:\n\n{| class=\"wikitable\"\n|+ TREC DL19/20 (webové vyhledávání) — mAP / nDCG@10 / Recall@1k\n|-\n! Metoda !! DL19 !! DL20 !! Zdroj\n|-\n| BM25 || 30.1 / 50.6 / 75.0 || 28.6 / 48.0 / 78.6 || [20]\n|-\n| Contriever (unsup.) || 24.0 / 44.5 / 74.6 || 24.0 / 42.1 / 75.4 || [21]\n|-\n| HyDE (Contriever+LLM) || 41.8 / 61.3 / 88.0 || 38.2 / 57.9 / 84.4 || [22]\n|-\n| DPR (ft) || 36.5 / 62.2 / 76.9 || 41.8 / 65.3 / 81.4 || [23]\n|-\n| ANCE (ft) || 37.1 / 64.5 / 75.5 || 40.8 / 64.6 / 77.6 || [24]\n|}\n\n{| class=\"wikitable\"\n|+ BEIR (výběr datových sad) — nDCG@10 / Recall@100\n|-\n! Metoda !! Scifact !! ArguAna !! TREC‑COVID !! FiQA !! DBPedia !! TREC‑NEWS !! Climate‑FEVER !! Zdroj\n|-\n| 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]\n|-\n| 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]\n|-\n| 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]\n|}\n\nHyDE také zlepšuje MRR@100 na vícejazyčných datových sadách Mr.TyDi (sw/ko/ja/bn) ve srovnání s mContriever[28].\n\n== Praktická doporučení ==\n;Kdy použít HyDE\n* Nulový/přenosový režim (nejsou k dispozici relevantní štítky; doménová „nepodobnost" trénovacím korpusům)[29].\n* Je požadováno zvýšení Recall@k při přijatelné přesnosti — HyDE často „odkrývá" relevantní oblasti vektorového prostoru[30].\n\n;Typická nastavení\n* LLM a prompt: instrukce „Napiš odstavec odpovídající na otázku …"; mírná stochasticita (např. temperature≈0.7)[31].\n* Počet hypotetických textů: 1–5; průměrování embeddingů zvyšuje robustnost[32].\n* Embedder: (m)Contriever bez dotrénování; možné využití dotrénovaných enkodérů (efekt HyDE se zachovává)[33].\n* Normalizace embeddingů: L2‑norma; vnitřní součin je ekvivalentní kosinu[34].\n* Hybridní vyhledávání: BM25+vector s následným přeřazováním[35].\n* Přeřazovač: Cross-Encoder (BERT re‑ranker)[36] nebo ColBERT[37].\n* Slučování výsledků různých strategií: RRF (k≈60)[38].\n\n;Sledování kvality a nákladů\n* Vyhledávání: nDCG@k, Recall@k, MRR; end‑to‑end RAG: EM/F1 nebo metriky groundedness (RAGAS/TruLens)[39][40].\n* Náklady/latence: dominuje generace LLM a (pokud existuje) přeřazování; optimalizuje se počtem „hypotetik" a délkou odpovědi[41].\n\n== Omezení a otevřené otázky ==\n* Halucinace hypotetického textu: LLM může vnášet faktické chyby; „ukotvení" prostřednictvím enkodéru a korpusu riziko snižuje, avšak zcela neodstraňuje[42].\n* Doménová/jazyková omezení: přínos HyDE se snižuje v úzce specializovaných doménách a pro málo resourcované jazyky[43].\n* Latence a náklady: generace LLM přidává zpoždění a náklady na tokeny; kritické pro online scénáře a dlouhé „hypotetiky"[44].\n* Etika a zkreslení: upřednostňuje se použití bezpečných LLM a filtrování[45].\n\n== Srovnávací tabulka metod ==\n{| class=\"wikitable\"\n|+ Srovnání HyDE a příbuzných přístupů\n|-\n! Metoda !! Třída !! Kde se generuje text !! Enkodér/index !! Přeřazovač (2. fáze) !! Typické metriky (příklad) !! Náklady/latence !! Zdroje\n|-\n| HyDE || Query→hypo‑doc || Na straně dotazu (LLM → odstavec) || (m)Contriever; ANN || BERT re‑rank / ColBERT / RRF || DL19 nDCG@10≈61.3; DL20≈57.9; ArguAna nDCG@10≈46.6 || + generace LLM; + přeřazování (volitelně) || [46]\n|-\n| BM25 || Lexikální || — || Invertovaný index || Volitelně || viz tabulka (výše) || Nízké (lexical) || [47]\n|-\n| DPR / ANCE || Hustý (ft) || — || Bi‑encoder; ANN || Volitelně || DL19 nDCG@10≈62–65 || Střední (bez LLM) || [48][49]\n|-\n| doc2query / docTTTTTquery || Expanze dokumentu || Na straně kolekce (před indexací) || BM25/sparse+expanded || Volitelně || Zlepšení BM25 na MS MARCO || Vysoká offline generace; rychlý online || [50][51]\n|-\n| PRF (Rocchio, RLM) || QE podle zpětné vazby || Dotaz (podle top výsledků) || Libovolný || Volitelně || Nárůst Recall/rizika driftu || + dodatečný průchod vyhledávání || [52]\n|}\n\n== Viz také ==\n* BM25\n* Vyhledávání podle vektorových reprezentací,\n* RAG\n* Pseudorelevantní zpětná vazba\n* BEIR\n\n== Literatura ==\n* Manning, C. D.; Raghavan, P.; Schütze, H. (2008). Introduction to Information Retrieval. Cambridge University Press. ISBN 978‑0521865715.\n* 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.\n\n== Odkazy ==\n* Repozitář HyDE: github.com/texttron/hyde.\n* Dokumentace: Haystack — HyDE: docs.haystack.deepset.ai.\n* Dokumentace: LangChain — HyDE Retriever: docs.langchain.com.\n\n== Poznámky ==\n\n\n\nTemplate:SEOMeta\n

  1. 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
  2. Gao, L. et al. (2023). ACL 2023, §3.2. DOI:10.18653/v1/2023.acl-long.99.
  3. Rocchio, J. (1971). ‘‘Relevance Feedback in Information Retrieval’’. In: Salton, G. (ed.) The SMART Retrieval System. Prentice‑Hall, pp. 313–323. ISBN 978‑0138145255.
  4. Lavrenko, V.; Croft, W. B. (2001). ‘‘Relevance‑Based Language Models’’. SIGIR. DOI:10.1145/383952.383972.
  5. Izacard, G. et al. (2021/2022). ‘‘Unsupervised Dense Information Retrieval with Contrastive Learning’’. arXiv:2112.09118.
  6. Karpukhin, V. et al. (2020). ‘‘Dense Passage Retrieval for Open‑Domain QA’’. EMNLP. DOI:10.18653/v1/2020.emnlp-main.550.
  7. Thakur, N. et al. (2021). ‘‘BEIR: A Heterogeneous Benchmark for Zero‑shot Evaluation of Information Retrieval Models’’. NeurIPS Datasets Track. arXiv:2104.08663.
  8. Gao, L. et al. (2023). DOI:10.18653/v1/2023.acl-long.99.
  9. Milvus Docs. ‘‘Similarity Metrics’’ — при L2‑нормализации векторов внутр. произведение эквивалентно косинусу. URL: https://milvus.io/docs/v2.2.x/metric.md
  10. 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.
  11. Izacard, G. et al. (2021/2022). ‘‘Unsupervised Dense Information Retrieval with Contrastive Learning (Contriever)’’. arXiv:2112.09118.
  12. Gao, L. et al. (2023). Прил. (ablation): влияние числа гипотетических текстов и параметров генерации. arXiv:2212.10496.
  13. Gao, L. et al. (2023). DOI:10.18653/v1/2023.acl-long.99.
  14. Nogueira, R. et al. (2019). ‘‘Document Expansion by Query Prediction’’ (doc2query). arXiv:1904.08375.
  15. Nogueira, R.; Lin, J. (2019). ‘‘From doc2query to docTTTTTquery’’ (tech report). PDF
  16. Rocchio, J. (1971); Lavrenko & Croft (2001), см. выше.
  17. Nogueira, R.; Cho, K. (2019). ‘‘Passage Re‑ranking with BERT’’. arXiv:1901.04085.
  18. 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.
  19. 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.
  20. Gao, L. et al. (2023). Табл. 1. DOI:10.18653/v1/2023.acl-long.99.
  21. Izacard, G. et al. (2022); сводные метрики — в Gao et al., 2023, табл. 1. arXiv:2112.09118.
  22. Gao, L. et al. (2023). Табл. 1.
  23. Karpukhin, V. et al. (2020); сводные — в Gao et al., 2023.
  24. Xiong, L. et al. (2021). ICLR. arXiv:2007.00808.
  25. Thakur, N. et al. (2021); сводные — в Gao et al., 2023, табл. 2. arXiv:2104.08663.
  26. Izacard, G. et al. (2022); сводные — в Gao et al., 2023, табл. 2.
  27. Gao, L. et al. (2023). Табл. 2.
  28. Gao, L. et al. (2023). Табл. 3. DOI:10.18653/v1/2023.acl-long.99.
  29. Gao, L. et al. (2023). §4–5.
  30. Gao, L. et al. (2023). §4.2–4.3.
  31. Gao, L. et al. (2023). §4.1.
  32. Haystack Docs. ‘‘Hypothetical Document Embeddings (HyDE)’’ (инженерная справка). docs.haystack.deepset.ai
  33. Gao, L. et al. (2023). Табл. 6.
  34. Milvus Docs. ‘‘Similarity Metrics’’.
  35. Haystack × Milvus Integration (официальная док.). haystack.deepset.ai
  36. Nogueira, R.; Cho, K. (2019). arXiv:1901.04085.
  37. Khattab, O.; Zaharia, M. (2020). DOI:10.1145/3397271.3401075.
  38. Cormack, G. V. et al. (2009). DOI:10.1145/1571941.1572114.
  39. Manning, C. D.; Raghavan, P.; Schütze, H. (2008). Introduction to Information Retrieval. Cambridge Univ. Press. ISBN 978‑0521865715.
  40. Es, S. et al. (2023). ‘‘RAGAS: Automated Evaluation of Retrieval‑Augmented Generation’’. arXiv:2309.15217.
  41. Gao, L. et al. (2023). §5.
  42. Gao, L. et al. (2023). §3.2; §4.1. DOI:10.18653/v1/2023.acl-long.99.
  43. Gao, L. et al. (2023). Табл. 3; §4.4.
  44. Gao, L. et al. (2023). §4–5.
  45. Ouyang, L. et al. (2022). ‘‘Training language models to follow instructions with human feedback (InstructGPT)’’. NeurIPS. arXiv:2203.02155.
  46. Gao, L. et al. (2023). Табл. 1–2.
  47. Robertson, S.; Zaragoza, H. (2009). ‘‘The Probabilistic Relevance Framework: BM25 and Beyond’’. Found. Trends IR. DOI:10.1561/1500000019.
  48. Karpukhin, V. et al. (2020). DOI:10.18653/v1/2020.emnlp-main.550.
  49. Xiong, L. et al. (2021). arXiv:2007.00808.
  50. Nogueira, R. et al. (2019). arXiv:1904.08375.
  51. Nogueira, R.; Lin, J. (2019). tech report.
  52. Rocchio, J. (1971). SMART; Lavrenko & Croft (2001) SIGIR.