Hypothetical Document Embeddings (HyDE) (HU)

From Systems analysis Wiki
Jump to navigation Jump to search

Hypothetical Document Expansion (HyDE) — a vektoros keresés és a retrieval‑augmented generation (RAG) javítására szolgáló módszer, amelynek során egy nagy nyelvi modell (LLM) az eredeti lekérdezés alapján egy „hipotetikus dokumentumot" generál; ezt a szöveget ezután egy enkóder vektorizálja, és a tényleges dokumentumok között a kapott vektorhoz való közelség alapján folyik a keresés. A megközelítés lehetővé teszi az LLM által kódolt „relevanciamintázatok" kiaknázását, és ezeket sűrű embeddingek segítségével a korpuszra „horgonyozza"[1].\n\n== Meghatározás és intuíció ==\nA HyDE a keresési feladatot két lépésre bontja:\n\n(1) Az LLM a lekérdezéshez létrehoz egy „releváns válasz mintát" (hypothetical document), ezáltal modellezi a relevanciajegyeket;\n\n(2) egy kontrasztív enkóder (pl. Contriever) ezt a szöveget vektorrá alakítja, amely alapján a tényleges dokumentumok kinyerhetők az indexből. A generált szöveg tartalmazhat ténybeli hibákat, azonban a fontosak az enkóder által felismert tematikai és terminológiai minták[2].\n\n== Előzmények és források ==\nA keresés szintetikus szövegekkel való bővítésének ötlete a lekérdezésbővítési és pszeudo-relevanciavissza-jelzési (PRF) kutatásokra vezethető vissza: a Rocchio-algoritmus és a relevanciaalapú nyelvi modellek[3][4]. A sűrű visszakereséshez kontrasztívan tanított enkódereket (Contriever)[5] és Dense Passage Retrieval (DPR)[6] módszert alkalmaztak. A BEIR benchmark standardizálta a zero‑shot kiértékelést[7]. Ezen a háttéren javasolták a HyDE-t mint olyan módszert, amely nulláról (zero-shot) „beemeli" a relevanciaismeretet az LLM-en keresztül, az enkóder finomhangolása nélkül[8].\n\n== Módszer és formalizáció ==\nLegyen a dokumentumkorpusz 𝒟={d1,,dN}, a szöveges enkóder E:textn pedig a dokumentumok vektoros reprezentációit 𝐯d=E(d) adja meg. A közelség mérésére kosinus-hasonlóságot vagy skaláris szorzatot alkalmaznak; fontos megjegyzés: **a skaláris szorzat csak akkor egyezik meg a kosinus-hasonlósággal, ha mindkét vektor L2-normája egységnyi** (𝐮=𝐯=1)[9].\n\nA HyDE a lekérdezés reprezentációját az LLM által generált „hipotetikus dokumentumon" keresztül határozza meg. Formálisan:\n\n(1) Генерация гипотетического текста:d~=G(q;inst),(2) Эмбеддинг гипотетического текста:𝐯h=E(d~),(3) Поиск ближайших соседей:k(q)=TopKd𝒟S(𝐯h,𝐯d),\n\nahol G — az LLM a inst instrukcióval (például: „Írj egy bekezdést, amely megválaszolja a következő kérdést: …"), S — a hasonlóságmérték (koszinusz vagy normalizált IP), k(q) pedig a maximális hasonlóságú k dokumentumok halmaza[10][11].\n\nA mérnöki gyakorlatban gyakran **több** hipotetikus szöveget generálnak, és aggregálják azok reprezentációit, ami növeli a robusztusságot:\n\nd~(j)=G(q;inst,ξj),𝐯h=1mj=1mE(d~(j)),\n\nahol ξj — a dekódolás sztochasztikus paraméterei (pl. temperature/top‑p). Az ilyen enszemlizálás mérsékelt latencinövekedés mellett javítja a Recall értékét[12].\n\n=== A HyDE alapfolyamata ===\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=== Kapcsolat más módszerekkel (QE, doc2query, PRF) ===\n* QE (lekérdezésbővítés) kifejezéseket ad a lekérdezéshez; a HyDE ehelyett egy teljes „kvázidokumentumot" generál, ami jobban illeszkedik a sűrű enkóderekhez[13].\n* doc2query / docTTTTTquery szintetikus lekérdezésekkel bővíti a dokumentumokat az indexelés előtt[14][15]; a HyDE a lekérdezést bővíti menet közben, újraindexelés nélkül.\n* PRF (Rocchio, Relevance LM) a lekérdezési vektort a top eredmények alapján frissíti; a HyDE a „relevanciamintázatot" közvetlenül az LLM-ből nyeri ki, majd a korpuszon végzett visszakereséssel „horgonyozza le"[16].\n\n== Integráció RAG-ba és újrarangsorolás ==\nA RAG-ban a HyDE az első visszakeresési lépésként alkalmazható: hipotetikus dokumentum → embedding → k jelölt. Ezután újrarangsorolás következik: BERT-osztályú kereszt-enkóderek[17] vagy késői interakciós ColBERT[18]. A listák összeolvasztásához (pl. BM25+vektor hibrid) általában RRF (reciprocal rank fusion) alkalmazandó:\nRRF(d)=r1k+rankr(d),k60.\nAz RRF módszer következetesen javítja az egyesített rangsorolások összesített minőségét[19].\n\n== Kiértékelés benchmarkokon (BEIR és egyéb) ==\nAz eredeti tanulmány zero‑shot módban értékeli a HyDE-t a TREC DL'19/20 (webkeresés) és a BEIR-kollekciók egy részhalmazán (Scifact, ArguAna, TREC‑COVID, FiQA, DBPedia, TREC‑NEWS, Climate‑FEVER). Az eredmények töredéke — 2023‑07 állapot szerint:\n\n{| class=\"wikitable\"\n|+ TREC DL19/20 (webkeresés) — mAP / nDCG@10 / Recall@1k\n|-\n! Módszer !! DL19 !! DL20 !! Forrás\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álogatott adathalmazok) — nDCG@10 / Recall@100\n|-\n! Módszer !! Scifact !! ArguAna !! TREC‑COVID !! FiQA !! DBPedia !! TREC‑NEWS !! Climate‑FEVER !! Forrás\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\nA HyDE emellett javítja az MRR@100 értéket a többnyelvű Mr.TyDi adathalmazokon (sw/ko/ja/bn) az mContrieverhez képest[28].\n\n== Gyakorlati ajánlások ==\n;Mikor alkalmazzuk a HyDE-t\n* Zero-shot/transzfer módban (nincsenek relevanciacímkék; a domain „különbözősége" a tanítókorpuszoktól)[29].\n* Ha Recall@k javítása szükséges elfogadható pontosság mellett — a HyDE gyakran „megnyitja" a vektortér releváns területeit[30].\n\n;Tipikus beállítások\n* LLM és prompt: „Írj egy bekezdést, amely megválaszolja a következő kérdést: …" instrukció; mérsékelt sztochaszticitás (pl. temperature≈0.7)[31].\n* Hipotetikus szövegek száma: 1–5; az embeddingek átlagolása növeli a robusztusságot[32].\n* Embeddingmodul: (m)Contriever finomhangolás nélkül; finomhangolt enkóderek is alkalmazhatók (a HyDE hatása megmarad)[33].\n* Embedding normalizálás: L2-norma; a belső szorzat ekvivalens a koszinusszal[34].\n* Hibrid visszakeresés: BM25+vektor, majd újrarangsorolás[35].\n* Újrarangsoroló: Cross-Encoder (BERT re‑ranker)[36] vagy ColBERT[37].\n* Összevonás különböző stratégiák eredményeiből: RRF (k≈60)[38].\n\n;Minőség/költség monitorozása\n* Visszakeresés: nDCG@k, Recall@k, MRR; end‑to‑end RAG: EM/F1 vagy groundedness metrikák (RAGAS/TruLens)[39][40].\n* Költség/latencia: az LLM generálás és (ha van) az újrarangsorolás dominál; a „hipotézisek" számának és a válasz hosszának optimalizálásával csökkenthető[41].\n\n== Korlátok és nyitott kérdések ==\n* Hallucinációk a hipotetikus szövegben: az LLM ténybeli hibákat vihet be; az enkóderen és a korpuszon keresztüli „lehorgonyzás" csökkenti a kockázatot, de nem szünteti meg teljesen[42].\n* Domain- és nyelvspecifikus korlátok: a HyDE előnye csökken szűken specializált területeken és alacsony erőforrású nyelveken[43].\n* Latencia és költség: az LLM generálás késleltetést és token-költséget ad hozzá; ez kritikus online forgatókönyvek és hosszú „hipotetikák" esetén[44].\n* Etika és torzítások: ajánlott biztonságos LLM-ek és szűrés alkalmazása[45].\n\n== A módszerek összehasonlító táblázata ==\n{| class=\"wikitable\"\n|+ A HyDE és rokon megközelítések összehasonlítása\n|-\n! Módszer !! Osztály !! Hol generálódik a szöveg !! Enkóder/index !! Újrarangsoroló (2. lépés) !! Tipikus metrikák (példa) !! Költség/latencia !! Források\n|-\n| HyDE || Query→hypo‑doc || A lekérdezés oldalán (LLM → bekezdés) || (m)Contriever; ANN || BERT re‑rank / ColBERT / RRF || DL19 nDCG@10≈61.3; DL20≈57.9; ArguAna nDCG@10≈46.6 || + LLM generálás; + újrarangsorolás (opcionális) || [46]\n|-\n| BM25 || Lexikális || — || Invertált index || Opcionális || lásd fenti táblázat || Alacsony (lexikális) || [47]\n|-\n| DPR / ANCE || Sűrű (ft) || — || Bi‑encoder; ANN || Opcionális || DL19 nDCG@10≈62–65 || Közepes (LLM nélkül) || [48][49]\n|-\n| doc2query / docTTTTTquery || Dokumentumbővítés || A kollekció oldalán (indexelés előtt) || BM25/sparse+expanded || Opcionális || Javítások BM25-ön MS MARCO-n || Nagy offline generálás; gyors online || [50][51]\n|-\n| PRF (Rocchio, RLM) || QE visszajelzés alapján || Lekérdezés (top eredmények alapján) || Bármely || Opcionális || Recall növekedése/drift kockázata || + extra visszakeresési menet || [52]\n|}\n\n== Lásd még ==\n* BM25\n* Vektoros reprezentáción alapuló keresés\n* RAG\n* Pszeudo-relevanciavissza-jelzés\n* BEIR\n\n== Irodalom ==\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== Hivatkozások ==\n* HyDE repositórium: github.com/texttron/hyde.\n* Dokumentáció: Haystack — HyDE: docs.haystack.deepset.ai.\n* Dokumentáció: LangChain — HyDE Retriever: docs.langchain.com.\n\n== Megjegyzések ==\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.