Hypothetical Document Embeddings (HyDE) (RO)

From Systems analysis Wiki
Jump to navigation Jump to search

Hypothetical Document Expansion (HyDE) — metodă de îmbunătățire a căutării vectoriale și a retrieval‑augmented generation (RAG), în care un model lingvistic de mari dimensiuni (LLM) generează, pornind de la interogarea inițială, un „document ipotetic"; acest text este apoi vectorizat de un encoder, iar căutarea se realizează în rândul documentelor reale pe baza proximității față de vectorul obținut. Abordarea permite utilizarea „tiparelor de relevanță" codificate de LLM și „ancorarea" lor pe corpus prin intermediul embedding-urilor dense[1].\n\n== Definiție și intuiție ==\nHyDE descompune sarcina de căutare în două etape:\n\n(1) LLM creează un „exemplu de răspuns relevant" (hypothetical document) la interogare, modelând astfel caracteristicile relevanței;\n\n(2) un encoder contrastiv (de ex., Contriever) transformă acest text într-un vector, pe baza căruia sunt extrase documentele reale din index. Textul generat poate conține erori factuale, însă important este că encoder-ul surprinde tipare tematice și terminologice[2].\n\n== Istoric și surse ==\nIdeea de a extinde căutarea cu texte sintetice are rădăcini în lucrările privind extinderea interogărilor și feedback-ul pseudo-relevant (PRF): algoritmul Rocchio și modelele de limbaj de relevanță[3][4]. Pentru căutarea densă au fost utilizați encoderi antrenați contrastiv (Contriever)[5] și Dense Passage Retrieval (DPR)[6]. Benchmark-ul BEIR a standardizat evaluarea în regim zero‑shot[7]. În acest context, HyDE a fost propus ca modalitate de a „introduce" în regimul zero cunoașterea relevanței prin intermediul LLM, fără a necesita reantrenarea encoder-ului[8].\n\n== Metodă și formalizare ==\nFie corpusul de documente 𝒟={d1,,dN}, iar encoder-ul de texte E:textn care definește reprezentările vectoriale ale documentelor 𝐯d=E(d). Pentru măsurarea similarității se utilizează fie similaritatea cosinus, fie produsul scalar; observație importantă: **produsul scalar coincide cu similaritatea cosinus doar atunci când ambii vectori au norma L2 unitară** (𝐮=𝐯=1)[9].\n\nHyDE redefinește reprezentarea interogării prin intermediul unui „document ipotetic" generat de LLM. Formal:\n\n(1) Генерация гипотетического текста:d~=G(q;inst),(2) Эмбеддинг гипотетического текста:𝐯h=E(d~),(3) Поиск ближайших соседей:k(q)=TopKd𝒟S(𝐯h,𝐯d),\n\nunde G — LLM cu instrucțiunea inst (de exemplu: „Scrie un paragraf care răspunde la întrebarea …"), S — măsura de similaritate (cosinus sau IP cu normalizare), iar k(q) — mulțimea de k documente cu similaritate maximă[10][11].\n\nÎn practica inginerească se generează adesea **mai multe** texte ipotetice, iar reprezentările acestora sunt agregate, ceea ce sporește robustețea:\n\nd~(j)=G(q;inst,ξj),𝐯h=1mj=1mE(d~(j)),\n\nunde ξj — parametrii stochastici de decodare (de ex., temperature/top‑p). Această ansamblarizare îmbunătățește Recall cu o creștere moderată a latenței[12].\n\n=== Pipeline-ul de bază 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=== Relația cu alte metode (QE, doc2query, PRF) ===\n* QE (extinderea interogării) adaugă termeni la interogare; HyDE generează în schimb un întreg „quasi-document", ceea ce se aliniază mai bine cu encoderii denși[13].\n* doc2query / docTTTTTquery extind documentele cu interogări sintetice înainte de indexare[14][15]; HyDE extinde interogarea la momentul procesării, fără a necesita reindexare.\n* PRF (Rocchio, Relevance LM) actualizează vectorul interogării pe baza primelor rezultate; HyDE extrage „tiparul de relevanță" direct din LLM și îl „ancorează" apoi prin căutare pe corpus[16].\n\n== Integrarea în RAG și reordonare ==\nÎn RAG, HyDE este aplicat ca primă etapă de retrieval: document ipotetic → embedding → k candidați. Urmează reordonarea: cross-encoderi de tip BERT[17] sau interacțiunea târzie ColBERT[18]. Pentru fuziunea listelor (de ex., hibrid BM25+vector) se aplică în mod tipic RRF (reciprocal rank fusion):\nRRF(d)=r1k+rankr(d),k60.\nMetoda RRF îmbunătățește în mod constant calitatea agregată a clasamentelor combinate[19].\n\n== Evaluare pe benchmark-uri (BEIR și altele) ==\nLucrarea originală evaluează HyDE în regim zero-shot pe TREC DL'19/20 (căutare web) și pe un subset de colecții BEIR (Scifact, ArguAna, TREC‑COVID, FiQA, DBPedia, TREC‑NEWS, Climate‑FEVER). Fragment din rezultate — la data de 2023‑07:\n\n{| class=\"wikitable\"\n|+ TREC DL19/20 (căutare web) — mAP / nDCG@10 / Recall@1k\n|-\n! Metodă !! DL19 !! DL20 !! Sursă\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 (selecție de seturi) — nDCG@10 / Recall@100\n|-\n! Metodă !! Scifact !! ArguAna !! TREC‑COVID !! FiQA !! DBPedia !! TREC‑NEWS !! Climate‑FEVER !! Sursă\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 îmbunătățește, de asemenea, MRR@100 pe seturile multilingve Mr.TyDi (sw/ko/ja/bn) față de mContriever[28].\n\n== Recomandări practice ==\n;Când se aplică HyDE\n* Regimuri zero-shot/transfer (fără etichete de relevanță; „distanță de domeniu" față de corpusurile de antrenament)[29].\n* Când este necesară creșterea Recall@k cu o precizie acceptabilă — HyDE „deschide" adesea zone relevante ale spațiului vectorial[30].\n\n;Configurații tipice\n* LLM și prompt: instrucțiunea „Scrie un paragraf care răspunde la întrebarea …"; stochasticitate moderată (de ex., temperature≈0.7)[31].\n* Numărul de texte ipotetice: 1–5; medierea embedding-urilor sporește robustețea[32].\n* Embedder: (m)Contriever fără fine-tuning; se pot utiliza și encoderi cu fine-tuning (efectul HyDE se menține)[33].\n* Normalizarea embedding-urilor: norma L2; produsul intern este echivalent cu cosinusul[34].\n* Retrieval hibrid: BM25+vector cu reordonare ulterioară[35].\n* Reordonator: Cross-Encoder (BERT re‑ranker)[36] sau ColBERT[37].\n* Fuziunea rezultatelor din strategii diferite: RRF (k≈60)[38].\n\n;Monitorizarea calității/costului\n* Retrieval: nDCG@k, Recall@k, MRR; end‑to‑end RAG: EM/F1 sau metrici de groundedness (RAGAS/TruLens)[39][40].\n* Cost/latență: dominat de generarea LLM și (dacă există) de reordonare; se optimizează prin numărul de „ipotetice" și lungimea răspunsului[41].\n\n== Limitări și întrebări deschise ==\n* Halucinațiile textului ipotetic: LLM poate introduce erori factuale; „ancorarea" prin encoder și corpus reduce riscul, dar nu îl elimină complet[42].\n* Limitări de domeniu/limbă: câștigul adus de HyDE se diminuează în domenii foarte specializate și pentru limbile cu resurse reduse[43].\n* Latență și cost: generarea LLM adaugă întârziere și cost de token; critic în scenariile online și pentru texte ipotetice lungi[44].\n* Etică și bias: este preferabilă utilizarea LLM-urilor sigure și a filtrării[45].\n\n== Tabel comparativ al metodelor ==\n{| class=\"wikitable\"\n|+ Compararea HyDE cu abordările înrudite\n|-\n! Metodă !! Clasă !! Unde este generat textul !! Encoder/index !! Reordonator (etapa 2) !! Metrici tipice (exemplu) !! Cost/latență !! Surse\n|-\n| HyDE || Query→hypo‑doc || La nivelul interogării (LLM → paragraf) || (m)Contriever; ANN || BERT re‑rank / ColBERT / RRF || DL19 nDCG@10≈61.3; DL20≈57.9; ArguAna nDCG@10≈46.6 || + generare LLM; + reordonare (opț.) || [46]\n|-\n| BM25 || Lexical || — || Index inversat || Opțional || vezi tabelul (de mai sus) || Scăzut (lexical) || [47]\n|-\n| DPR / ANCE || Dens (ft) || — || Bi‑encoder; ANN || Opțional || DL19 nDCG@10≈62–65 || Mediu (fără LLM) || [48][49]\n|-\n| doc2query / docTTTTTquery || Expansiune doc. || La nivelul colecției (înainte de indexare) || BM25/sparse+expanded || Opțional || Îmbunătățiri BM25 pe MS MARCO || Generare offline înaltă; online rapid || [50][51]\n|-\n| PRF (Rocchio, RLM) || QE prin feedback || Interogare (pe baza primelor rezultate) || Orice || Opțional || Creștere Recall/riscuri de derivă || + trecere suplimentară de retrieval || [52]\n|}\n\n== Vezi și ==\n* BM25\n* Căutare prin reprezentări vectoriale,\n* RAG\n* Feedback pseudo-relevant\n* BEIR\n\n== Bibliografie ==\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== Referințe ==\n* Repozitoriul HyDE: github.com/texttron/hyde.\n* Documentație: Haystack — HyDE: docs.haystack.deepset.ai.\n* Documentație: LangChain — HyDE Retriever: docs.langchain.com.\n\n== Note ==\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.