Hypothetical Document Embeddings (HyDE) — 假设性文档扩展

From Systems analysis wiki
Jump to navigation Jump to search

Hypothetical Document Expansion (HyDE) 是一种改进向量检索和检索增强生成 (retrieval‑augmented generation, RAG) 的方法,其中大语言模型 (LLM) 根据原始查询生成一个“假设性文档”;然后,该文本由编码器进行向量化,并通过与得到的向量进行相似度比较,在真实文档中进行搜索。该方法利用了 LLM 中编码的“相关性模式”,并通过密集嵌入将其“锚定”到语料库中[1]

定义与直觉

HyDE 将搜索任务分解为两个阶段:

(1) LLM 针对查询创建一个“相关答案示例”(hypothetical document),从而模拟相关性特征;

(2) 对比编码器(例如 Contriever)将该文本转换为向量,并据此从索引中检索真实文档。生成的文本可能包含事实错误,但编码器捕捉到的主题和术语模式才是关键[2]

历史与渊源

使用合成文本扩展搜索的思想可追溯至查询扩展和伪相关反馈 (PRF) 的研究工作:例如罗奇奥算法和相关性语言模型[3][4]。对于密集检索,则使用了对比学习训练的编码器(Contriever)[5] 和密集段落检索(Dense Passage Retrieval, DPR)[6]。BEIR 基准测试标准化了零样本评估[7]。在此背景下,HyDE 被提出,旨在通过 LLM 在无需微调编码器的情况下,将相关性知识“注入”到零样本场景中[8]

方法与形式化

假设文档语料库为 𝒟={d1,,dN},文本编码器 E:textn 用于生成文档的向量表示 𝐯d=E(d)。相似度度量可使用余弦相似度或点积;需要注意的是:**只有当两个向量的 L2 范数均为单位长度时(𝐮=𝐯=1),点积才等同于余弦相似度**[9]

HyDE 通过 LLM 生成的“假设性文档”来重新定义查询的表示。形式化如下:

(1) 生成假设性文本:d~=G(q;inst),(2) 嵌入假设性文本:𝐯h=E(d~),(3) 搜索最近邻:k(q)=TopKd𝒟S(𝐯h,𝐯d),

其中 G 是带有指令 inst 的 LLM(例如:“写一段回答……问题的段落”),S 是相似度度量(余弦或经过归一化的内积),k(q) 是相似度最高的 k 个文档集合[10][11]

在工程实践中,通常会生成**多个**假设性文本并聚合其表示,以提高鲁棒性:

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

其中 ξj 是随机解码参数(例如 temperature/top‑p)。这种集成方法能在延迟适度增加的情况下提高召回率(Recall)[12]

HyDE 的基本流程

# 1) 提示词(查询) -> 假设性文档
# 2) 嵌入(假设性文档) -> v_h
# 3) 检索(索引, v_h, k) -> 候选文档
# 4) (可选) 重排序(查询, 候选文档) -> topN
# 5) (用于 RAG) 对 topN 进行 stuff / map-reduce / refine 操作


与其他方法(QE、doc2query、PRF)的关联

  • QE (查询扩展) 向查询中添加术语;而 HyDE 则是生成一个完整的“准文档”,这与密集编码器更契合[13]
  • doc2query / docTTTTTquery 在索引前用合成的查询来扩展文档[14][15];而 HyDE 是实时扩展查询,无需重新索引。
  • PRF (罗奇奥算法, 相关性语言模型) 根据排名靠前的结果更新查询向量;而 HyDE 直接从 LLM 中提取“相关性模式”,然后通过在语料库中检索来将其“锚定”[16]

在 RAG 中的集成与重排序

在 RAG 中,HyDE 作为检索的第一阶段:假设性文档 → 嵌入 → k 个候选文档。接下来使用重排序技术:BERT 类交叉编码器[17] 或 ColBERT 的后期交互[18]。为了融合不同检索策略的列表(例如 BM25+向量的混合检索),通常采用倒数排名融合 (reciprocal rank fusion, RRF): RRF(d)=r1k+rankr(d),k60.

RRF 方法能稳定地提升合并后排序列表的综合质量[19]

在基准测试上的评估(BEIR 等)

原始论文在零样本模式下对 HyDE 进行了评估,使用了 TREC DL’19/20(网页搜索)以及 BEIR 数据集集合的一个子集(Scifact, ArguAna, TREC‑COVID, FiQA, DBPedia, TREC‑NEWS, Climate‑FEVER)。以下为部分结果 — 截至 2023 年 7 月

TREC DL19/20 (网页搜索) — mAP / nDCG@10 / Recall@1k
方法 DL19 DL20 来源
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 (数据集选集) — nDCG@10 / Recall@100
方法 Scifact ArguAna TREC‑COVID FiQA DBPedia TREC‑NEWS Climate‑FEVER 来源
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]

相对于 mContriever,HyDE 也在多语言数据集 Mr.TyDi (sw/ko/ja/bn) 上提升了 MRR@100[28]

实践建议

何时使用 HyDE
  • 零样本/迁移场景(没有相关性标签;领域与训练语料库“不相似”)[29]
  • 需要在可接受的精度下提高 Recall@k — HyDE 通常能“解锁”向量空间中的相关区域[30]
典型配置
  • LLM 与提示词:指令“写一段回答……问题的段落”;适度的随机性(例如 temperature≈0.7)[31]
  • 假设性文本数量:1–5 个;对嵌入进行平均可以提高鲁棒性[32]
  • 嵌入器:未经微调的 (m)Contriever;也可以使用经过微调的编码器(HyDE 的效果依然存在)[33]
  • 嵌入归一化:L2 归一化;此时内积等价于余弦相似度[34]
  • 混合检索:BM25+向量,之后进行重排序[35]
  • 重排序器:交叉编码器 (BERT re‑ranker)[36] 或 ColBERT[37]
  • 结果融合:RRF (k≈60)[38]
质量/成本监控
  • 检索:nDCG@k, Recall@k, MRR;端到端 RAG:EM/F1 或 groundedness 指标 (RAGAS/TruLens)[39][40]
  • 成本/延迟:主要由 LLM 生成和(如果使用)重排序主导;可通过控制“假设性文档”的数量和长度进行优化[41]

局限性与开放问题

  • 假设性文本的幻觉:LLM 可能引入事实错误;通过编码器和语料库进行“锚定”可以降低风险,但无法完全消除[42]
  • 领域/语言限制:在高度专业化的领域和资源匮乏的语言上,HyDE 的优势会减弱[43]
  • 延迟与成本:LLM 生成会增加延迟和 token 成本;这对于在线场景和较长的“假设性文档”至关重要[44]
  • 伦理与偏见:建议使用安全的 LLM 并进行过滤[45]

方法对比表

HyDE 与相关方法的比较
方法 类别 文本生成位置 编码器/索引 重排序器(第二阶段) 典型指标(示例) 成本/延迟 来源
HyDE 查询→假设性文档 在查询侧(LLM → 段落) (m)Contriever; ANN BERT re‑rank / ColBERT / RRF DL19 nDCG@10≈61.3; DL20≈57.9; ArguAna nDCG@10≈46.6 + LLM 生成;+ 重排序(可选) [46]
BM25 词法 倒排索引 可选 见上表 低(词法) [47]
DPR / ANCE 密集 (ft) 双编码器 (Bi‑encoder); ANN 可选 DL19 nDCG@10≈62–65 中(无 LLM) [48][49]
doc2query / docTTTTTquery 文档扩展 在集合侧(索引前) BM25/稀疏+扩展 可选 提升了 BM25 在 MS MARCO 上的表现 高离线生成成本;快速在线检索 [50][51]
PRF (罗奇奥算法, RLM) 基于反馈的查询扩展 查询(根据排名靠前的结果) 任何 可选 提高召回率/存在漂移风险 + 额外的检索步骤 [52]

参见

  • BM25
  • 向量搜索
  • RAG
  • 伪相关反馈
  • BEIR

参考文献

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

外部链接

注释

  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.