Hypothetical Document Embeddings (HyDE) (ES)

From Systems analysis wiki
Jump to navigation Jump to search

Hypothetical Document Expansion (HyDE) es un método para mejorar la recuperación vectorial y la generación aumentada por recuperación (RAG), en el cual un modelo de lenguaje grande (LLM) genera un «documento hipotético» a partir de una consulta original; luego, este texto es vectorizado por un codificador, y la búsqueda se realiza entre documentos reales basándose en la proximidad al vector resultante. Este enfoque permite utilizar los «patrones de relevancia» codificados por el LLM y «anclarlos» al corpus mediante embeddings densos[1].

Definición e intuición

HyDE descompone la tarea de búsqueda en dos etapas:

(1) El LLM crea un «ejemplo de respuesta relevante» (hypothetical document) para la consulta, modelando así las características de relevancia;

(2) Un codificador contrastivo (p. ej., Contriever) convierte este texto en un vector, que se utiliza para recuperar documentos reales del índice. El texto generado puede contener errores fácticos, pero lo importante son los patrones temáticos y terminológicos que el codificador es capaz de capturar[2].

Historia y fuentes

La idea de expandir la búsqueda con textos sintéticos se remonta a trabajos sobre expansión de consultas y retroalimentación de pseudo-relevancia (PRF): el algoritmo de Rocchio y los modelos de lenguaje de relevancia[3][4]. Para la recuperación densa (dense retrieval), se utilizaron codificadores entrenados de forma contrastiva (Contriever)[5] y Dense Passage Retrieval (DPR)[6]. El benchmark BEIR estandarizó la evaluación zero-shot[7]. En este contexto, se propuso HyDE como una forma de «incorporar» conocimiento de relevancia en el modo zero-shot a través de un LLM sin necesidad de reentrenar el codificador[8].

Método y formalización

Sea 𝒟={d1,,dN} un corpus de documentos y E:textn un codificador de texto que proporciona las representaciones vectoriales de los documentos 𝐯d=E(d). Para medir la similitud, se utiliza la similitud del coseno o el producto escalar; una observación importante: **el producto escalar coincide con la similitud del coseno solo cuando ambos vectores tienen una norma L2 unitaria** (𝐮=𝐯=1)[9].

HyDE redefine la representación de la consulta a través de un «documento hipotético» generado por un LLM. Formalmente:

(1) Generación de texto hipotético:d~=G(q;inst),(2) Embedding del texto hipotético:𝐯h=E(d~),(3) Búsqueda de vecinos más cercanos:k(q)=TopKd𝒟S(𝐯h,𝐯d),

donde G es un LLM con una instrucción inst (por ejemplo: «Escribe un párrafo que responda a la pregunta...»), S es una medida de similitud (coseno o producto interno con normalización), y k(q) es el conjunto de k documentos con la máxima similitud[10][11].

En la práctica de la ingeniería, a menudo se generan **varios** textos hipotéticos y se agregan sus representaciones, lo que aumenta la robustez:

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

donde ξj son los parámetros estocásticos de decodificación (p. ej., temperature/top‑p). Este ensamblaje mejora el Recall con un aumento moderado de la latencia[12].

Pipeline básico de HyDE

# 1) prompt(query) -> hypothetical_doc
# 2) embed(hypothetical_doc) -> v_h
# 3) retrieve(index, v_h, k) -> candidates
# 4) (opcional) rerank(query, candidates) -> topN
# 5) (para RAG) stuff / map-reduce / refine sobre topN


Relación con otros métodos (QE, doc2query, PRF)

  • QE (expansión de consulta) añade términos a la consulta; HyDE, en cambio, genera un «cuasi-documento» completo, lo que se alinea mejor con los codificadores densos[13].
  • doc2query / docTTTTTquery expanden los documentos con consultas sintéticas antes de la indexación[14][15]; HyDE expande la consulta al momento, sin necesidad de reindexar.
  • PRF (Rocchio, Relevance LM) actualiza el vector de la consulta basándose en los resultados principales; HyDE extrae el «patrón de relevancia» directamente del LLM y luego lo «ancla» mediante la recuperación en el corpus[16].

Integración en RAG y reranquinado

En RAG, HyDE se aplica como la primera etapa de recuperación: documento hipotético → embedding → k candidatos. A continuación, se utiliza el reranquinado: cross-encoders de la clase BERT[17] o la interacción tardía de ColBERT[18]. Para fusionar listas (p. ej., un híbrido de BM25+vector), se suele aplicar RRF (reciprocal rank fusion): RRF(d)=r1k+rankr(d),k60. El método RRF mejora de manera consistente la calidad agregada de las clasificaciones combinadas[19].

Evaluación en benchmarks (BEIR y otros)

El trabajo original evalúa HyDE en modo zero-shot en TREC DL’19/20 (búsqueda web) y en un subconjunto de colecciones de BEIR (Scifact, ArguAna, TREC‑COVID, FiQA, DBPedia, TREC‑NEWS, Climate‑FEVER). Fragmento de los resultados — a fecha de 07-2023:

TREC DL19/20 (búsqueda web) — mAP / nDCG@10 / Recall@1k
Método DL19 DL20 Fuente
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 (selección de datasets) — nDCG@10 / Recall@100
Método Scifact ArguAna TREC‑COVID FiQA DBPedia TREC‑NEWS Climate‑FEVER Fuente
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 también mejora el MRR@100 en los conjuntos de datos multilingües de Mr.TyDi (sw/ko/ja/bn) en comparación con mContriever[28].

Recomendaciones prácticas

Cuándo aplicar HyDE
  • Modos zero-shot o de transferencia (sin etiquetas de relevancia; «disimilitud» de dominio con los corpus de entrenamiento)[29].
  • Se requiere un aumento de Recall@k con una precisión aceptable: HyDE a menudo «descubre» regiones relevantes del espacio vectorial[30].
Configuraciones típicas
  • LLM y prompt: instrucción «Escribe un párrafo que responda a la pregunta...»; estocasticidad moderada (p. ej., temperature≈0.7)[31].
  • Número de textos hipotéticos: 1–5; promediar los embeddings aumenta la robustez[32].
  • Embedder: (m)Contriever sin fine-tuning; es posible usar codificadores con fine-tuning (el efecto de HyDE se mantiene)[33].
  • Normalización de embeddings: norma L2; el producto interno es equivalente al coseno[34].
  • Recuperación híbrida: BM25+vector con reranquinado posterior[35].
  • Reranker: Cross-Encoder (BERT re‑ranker)[36] o ColBERT[37].
  • Fusión de resultados de diferentes estrategias: RRF (k≈60)[38].
Monitoreo de calidad/costo
  • Recuperación: nDCG@k, Recall@k, MRR; RAG de extremo a extremo: EM/F1 o métricas de groundedness (RAGAS/TruLens)[39][40].
  • Costo/latencia: dominado por la generación del LLM y (si existe) el reranquinado; se optimiza mediante el número de «hipótesis» y la longitud de la respuesta[41].

Limitaciones y preguntas abiertas

  • Alucinaciones en el texto hipotético: el LLM puede introducir errores fácticos; el «anclaje» a través del codificador y el corpus reduce el riesgo, pero no lo elimina por completo[42].
  • Limitaciones de dominio/idioma: la ventaja de HyDE disminuye en dominios muy especializados y en idiomas con pocos recursos[43].
  • Latencia y costo: la generación del LLM añade latencia y costo por token; es crítico para escenarios en línea y «hipótesis» largas[44].
  • Ética y sesgos: es preferible usar LLMs seguros y aplicar filtrado[45].

Tabla comparativa de métodos

Comparación de HyDE y enfoques relacionados
Método Clase Dónde se genera el texto Codificador/índice Reranker (2ª etapa) Métricas típicas (ejemplo) Costo/latencia Fuentes
HyDE Query→hypo‑doc Del lado de la consulta (LLM → párrafo) (m)Contriever; ANN BERT re‑rank / ColBERT / RRF DL19 nDCG@10≈61.3; DL20≈57.9; ArguAna nDCG@10≈46.6 + generación de LLM; + reranquinado (opc.) [46]
BM25 Léxico Índice invertido Opcional ver tabla (arriba) Baja (léxica) [47]
DPR / ANCE Denso (ft) Bi‑encoder; ANN Opcional DL19 nDCG@10≈62–65 Media (sin LLM) [48][49]
doc2query / docTTTTTquery Expansión de doc. Del lado de la colección (antes de indexar) BM25/sparse+expanded Opcional Mejoras sobre BM25 en MS MARCO Alta generación offline; rápido online [50][51]
PRF (Rocchio, RLM) QE por feedback Consulta (basado en resultados top) Cualquiera Opcional Aumento de Recall/riesgos de deriva + pasada adicional de recuperación [52]

Véase también

  • BM25
  • Búsqueda por representaciones vectoriales
  • RAG
  • Retroalimentación de pseudo-relevancia
  • BEIR

Literatura

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

Enlaces

Notas

  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). Apéndice (ablation): influencia del número de textos hipotéticos y parámetros de generación. 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). Tabla 1. DOI:10.18653/v1/2023.acl-long.99.
  21. Izacard, G. et al. (2022); métricas resumidas en Gao et al., 2023, tabla 1. arXiv:2112.09118.
  22. Gao, L. et al. (2023). Tabla 1.
  23. Karpukhin, V. et al. (2020); resumido en Gao et al., 2023.
  24. Xiong, L. et al. (2021). ICLR. arXiv:2007.00808.
  25. Thakur, N. et al. (2021); métricas resumidas en Gao et al., 2023, tabla 2. arXiv:2104.08663.
  26. Izacard, G. et al. (2022); métricas resumidas en Gao et al., 2023, tabla 2.
  27. Gao, L. et al. (2023). Tabla 2.
  28. Gao, L. et al. (2023). Tabla 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)’’ (referencia de ingeniería). docs.haystack.deepset.ai
  33. Gao, L. et al. (2023). Tabla 6.
  34. Milvus Docs. ‘‘Similarity Metrics’’.
  35. Haystack × Milvus Integration (documentación oficial). 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). Tabla 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). Tablas 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.