Hypothetical Document Embeddings (HyDE) (IT)

From Systems analysis Wiki
Jump to navigation Jump to search

Hypothetical Document Expansion (HyDE) — metodo per il miglioramento del recupero vettoriale (vector retrieval) e della retrieval‑augmented generation (RAG), in cui un large language model (LLM) genera un «documento ipotetico» a partire da una query originale; tale testo viene poi vettorizzato da un encoder e la ricerca viene effettuata sui documenti reali in base alla vicinanza al vettore ottenuto. L'approccio consente di sfruttare i «pattern di rilevanza» codificati dall'LLM e di «ancorarli» al corpus tramite embedding densi[1].

Definizione e intuizione

HyDE decompone il compito di ricerca in due fasi:

(1) L'LLM genera un «esempio di risposta rilevante» (hypothetical document) per la query, modellando così le caratteristiche di rilevanza;

(2) un encoder contrastivo (ad es. Contriever) traduce questo testo in un vettore, tramite il quale vengono estratti documenti reali dall'indice. Il testo generato può contenere errori fattuali, ma ciò che conta sono i pattern tematici e terminologici catturati dall'encoder[2].

Storia e fonti

L'idea di espandere la ricerca con testi sintetici risale ai lavori sull'espansione delle query e sul pseudo-relevance feedback (PRF): l'algoritmo di Rocchio e i language model di rilevanza[3][4]. Per il recupero denso sono stati impiegati encoder addestrati in modo contrastivo (Contriever)[5] e Dense Passage Retrieval (DPR)[6]. Il benchmark BEIR ha standardizzato la valutazione zero‑shot[7]. In questo contesto è stato proposto HyDE come modo per «introdurre» nel regime zero-shot la conoscenza della rilevanza tramite LLM, senza necessità di fine-tuning dell'encoder[8].

Metodo e formalizzazione

Sia 𝒟={d1,,dN} il corpus di documenti e E:textn l'encoder testuale che definisce le rappresentazioni vettoriali dei documenti 𝐯d=E(d). Per misurare la vicinanza si utilizza la similarità del coseno oppure il prodotto scalare; nota importante: **il prodotto scalare coincide con la similarità del coseno solo quando entrambi i vettori hanno norma L2 unitaria** (𝐮=𝐯=1)[9].

HyDE ridefinisce la rappresentazione della query tramite un «documento ipotetico» generato dall'LLM. Formalmente:

(1) Генерация гипотетического текста:d~=G(q;inst),(2) Эмбеддинг гипотетического текста:𝐯h=E(d~),(3) Поиск ближайших соседей:k(q)=TopKd𝒟S(𝐯h,𝐯d),

dove G è l'LLM con istruzione inst (ad esempio: «Scrivi un paragrafo che risponda alla domanda …»), S è la misura di similarità (coseno o IP con normalizzazione) e k(q) è l'insieme di k documenti con similarità massima[10][11].

Nella pratica ingegneristica si generano spesso **più** testi ipotetici e se ne aggregano le rappresentazioni, aumentando la robustezza:

d~(j)=G(q;inst,ξj),𝐯h=1mj=1mE(d~(j)),

dove ξj sono i parametri stocastici di decodifica (ad es. temperature/top‑p). Tale ensemble migliora il Recall con un incremento moderato della latenza[12].

Pipeline di base di 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

Relazione con altri metodi (QE, doc2query, PRF)

  • QE (query expansion) aggiunge termini alla query; HyDE genera invece un intero «quasi-documento», il che si adatta meglio agli encoder densi[13].
  • doc2query / docTTTTTquery espandono i documenti con query sintetiche prima dell'indicizzazione[14][15]; HyDE espande la query al volo, senza richiedere la reindicizzazione.
  • PRF (Rocchio, Relevance LM) aggiorna il vettore di query in base ai risultati top; HyDE estrae il «pattern di rilevanza» direttamente dall'LLM e poi lo «ancora» tramite recupero sul corpus[16].

Integrazione in RAG e reranking

In RAG, HyDE viene applicato come primo stadio del recupero: documento ipotetico → embedding → k candidati. Successivamente si applica il reranking: cross-encoder di classe BERT[17] o interazione tardiva ColBERT[18]. Per la fusione di liste (ad es. ibrido BM25+vector) viene tipicamente utilizzato RRF (reciprocal rank fusion): RRF(d)=r1k+rankr(d),k60. Il metodo RRF migliora stabilmente la qualità complessiva dei ranking combinati[19].

Valutazione sui benchmark (BEIR e altri)

Il lavoro originale valuta HyDE in modalità zero-shot su TREC DL'19/20 (ricerca web) e su un sottoinsieme di collezioni BEIR (Scifact, ArguAna, TREC‑COVID, FiQA, DBPedia, TREC‑NEWS, Climate‑FEVER). Un estratto dei risultati — aggiornato al 2023‑07:

TREC DL19/20 (ricerca web) — mAP / nDCG@10 / Recall@1k
Metodo DL19 DL20 Fonte
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]
BEIR (selezione di dataset) — nDCG@10 / Recall@100
Metodo Scifact ArguAna TREC‑COVID FiQA DBPedia TREC‑NEWS Climate‑FEVER Fonte
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 migliora anche MRR@100 sui dataset multilingui Mr.TyDi (sw/ko/ja/bn) rispetto a mContriever[28].

Raccomandazioni pratiche

Quando applicare HyDE
  • Modalità zero-shot o di trasferimento (assenza di etichette di rilevanza; differenza di dominio rispetto ai corpus di addestramento)[29].
  • Quando è richiesto un aumento del Recall@k con precisione accettabile — HyDE spesso «apre» regioni rilevanti dello spazio vettoriale[30].
Configurazioni tipiche
  • LLM e prompt: istruzione «Scrivi un paragrafo che risponda alla domanda …»; stocasticità moderata (ad es. temperature≈0.7)[31].
  • Numero di testi ipotetici: 1–5; la media degli embedding aumenta la robustezza[32].
  • Embedder: (m)Contriever senza fine-tuning; è possibile utilizzare encoder con fine-tuning (l'effetto HyDE si conserva)[33].
  • Normalizzazione degli embedding: norma L2; il prodotto interno è equivalente al coseno[34].
  • Recupero ibrido: BM25+vector con reranking successivo[35].
  • Reranker: Cross-Encoder (BERT re‑ranker)[36] o ColBERT[37].
  • Fusione dei risultati di diverse strategie: RRF (k≈60)[38].
Monitoraggio di qualità e costo
  • Recupero: nDCG@k, Recall@k, MRR; RAG end‑to‑end: EM/F1 o metriche di groundedness (RAGAS/TruLens)[39][40].
  • Costo/latenza: dominati dalla generazione LLM e (se presente) dal reranking; si ottimizzano agendo sul numero di «ipotetici» e sulla lunghezza della risposta[41].

Limitazioni e questioni aperte

  • Allucinazioni nel testo ipotetico: l'LLM può introdurre errori fattuali; l'«ancoraggio» tramite encoder e corpus riduce il rischio ma non lo elimina completamente[42].
  • Limitazioni di dominio e linguistiche: il vantaggio di HyDE diminuisce in domini altamente specializzati e per lingue a basse risorse[43].
  • Latenza e costo: la generazione LLM aggiunge ritardo e costo in token; ciò è critico in scenari online e per testi ipotetici lunghi[44].
  • Etica e bias: è preferibile utilizzare LLM sicuri e applicare filtri[45].

Tabella comparativa dei metodi

Confronto tra HyDE e approcci correlati
Metodo Classe Dove viene generato il testo Encoder/indice Reranker (2° stadio) Metriche tipiche (esempio) Costo/latenza Fonti
HyDE Query→hypo‑doc Lato query (LLM → paragrafo) (m)Contriever; ANN BERT re‑rank / ColBERT / RRF DL19 nDCG@10≈61.3; DL20≈57.9; ArguAna nDCG@10≈46.6 + generazione LLM; + reranking (opz.) [46]
BM25 Lessicale Indice invertito Opzionale vedi tabella (sopra) Basso (lessicale) [47]
DPR / ANCE Denso (ft) Bi‑encoder; ANN Opzionale DL19 nDCG@10≈62–65 Medio (senza LLM) [48][49]
doc2query / docTTTTTquery Espansione doc. Lato collezione (prima dell'indicizzazione) BM25/sparse+expanded Opzionale Miglioramenti BM25 su MS MARCO Generazione offline elevata; online rapido [50][51]
PRF (Rocchio, RLM) QE tramite feedback Query (sui risultati top) Qualsiasi Opzionale Aumento Recall/rischi di drift + passaggio aggiuntivo di recupero [52]

Vedi anche

  • BM25
  • Ricerca per rappresentazioni vettoriali,
  • RAG
  • Pseudo-relevance feedback
  • BEIR

Bibliografia

  • 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.

Riferimenti

  • Repository HyDE: github.com/texttron/hyde.
  • Documentazione: Haystack — HyDE: docs.haystack.deepset.ai.
  • Documentazione: LangChain — HyDE Retriever: docs.langchain.com.

Note

  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.