Hypothetical Document Embeddings (HyDE) — 假设性文档扩展
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]。
方法与形式化
假设文档语料库为 ,文本编码器 用于生成文档的向量表示 。相似度度量可使用余弦相似度或点积;需要注意的是:**只有当两个向量的 L2 范数均为单位长度时(),点积才等同于余弦相似度**[9]。
HyDE 通过 LLM 生成的“假设性文档”来重新定义查询的表示。形式化如下:
其中 是带有指令 的 LLM(例如:“写一段回答……问题的段落”), 是相似度度量(余弦或经过归一化的内积), 是相似度最高的 个文档集合[10][11]。
在工程实践中,通常会生成**多个**假设性文本并聚合其表示,以提高鲁棒性:
其中 是随机解码参数(例如 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 方法能稳定地提升合并后排序列表的综合质量[19]。
在基准测试上的评估(BEIR 等)
原始论文在零样本模式下对 HyDE 进行了评估,使用了 TREC DL’19/20(网页搜索)以及 BEIR 数据集集合的一个子集(Scifact, ArguAna, TREC‑COVID, FiQA, DBPedia, TREC‑NEWS, Climate‑FEVER)。以下为部分结果 — 截至 2023 年 7 月:
| 方法 | 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] |
| 方法 | 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
- 典型配置
- 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 | 查询→假设性文档 | 在查询侧(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.
外部链接
- HyDE 代码库: github.com/texttron/hyde.
- 文档:Haystack — HyDE: docs.haystack.deepset.ai.
- 文档:LangChain — HyDE Retriever: docs.langchain.com.
注释
- ↑ 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
- ↑ Gao, L. et al. (2023). ACL 2023, §3.2. DOI:10.18653/v1/2023.acl-long.99.
- ↑ Rocchio, J. (1971). ‘‘Relevance Feedback in Information Retrieval’’. In: Salton, G. (ed.) The SMART Retrieval System. Prentice‑Hall, pp. 313–323. ISBN 978‑0138145255.
- ↑ Lavrenko, V.; Croft, W. B. (2001). ‘‘Relevance‑Based Language Models’’. SIGIR. DOI:10.1145/383952.383972.
- ↑ Izacard, G. et al. (2021/2022). ‘‘Unsupervised Dense Information Retrieval with Contrastive Learning’’. arXiv:2112.09118.
- ↑ Karpukhin, V. et al. (2020). ‘‘Dense Passage Retrieval for Open‑Domain QA’’. EMNLP. DOI:10.18653/v1/2020.emnlp-main.550.
- ↑ Thakur, N. et al. (2021). ‘‘BEIR: A Heterogeneous Benchmark for Zero‑shot Evaluation of Information Retrieval Models’’. NeurIPS Datasets Track. arXiv:2104.08663.
- ↑ Gao, L. et al. (2023). DOI:10.18653/v1/2023.acl-long.99.
- ↑ Milvus Docs. ‘‘Similarity Metrics’’ — при L2‑нормализации векторов внутр. произведение эквивалентно косинусу. URL: https://milvus.io/docs/v2.2.x/metric.md
- ↑ 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.
- ↑ Izacard, G. et al. (2021/2022). ‘‘Unsupervised Dense Information Retrieval with Contrastive Learning (Contriever)’’. arXiv:2112.09118.
- ↑ Gao, L. et al. (2023). Прил. (ablation): влияние числа гипотетических текстов и параметров генерации. arXiv:2212.10496.
- ↑ Gao, L. et al. (2023). DOI:10.18653/v1/2023.acl-long.99.
- ↑ Nogueira, R. et al. (2019). ‘‘Document Expansion by Query Prediction’’ (doc2query). arXiv:1904.08375.
- ↑ Nogueira, R.; Lin, J. (2019). ‘‘From doc2query to docTTTTTquery’’ (tech report). PDF
- ↑ Rocchio, J. (1971); Lavrenko & Croft (2001), см. выше.
- ↑ Nogueira, R.; Cho, K. (2019). ‘‘Passage Re‑ranking with BERT’’. arXiv:1901.04085.
- ↑ 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.
- ↑ 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.
- ↑ Gao, L. et al. (2023). Табл. 1. DOI:10.18653/v1/2023.acl-long.99.
- ↑ Izacard, G. et al. (2022); сводные метрики — в Gao et al., 2023, табл. 1. arXiv:2112.09118.
- ↑ Gao, L. et al. (2023). Табл. 1.
- ↑ Karpukhin, V. et al. (2020); сводные — в Gao et al., 2023.
- ↑ Xiong, L. et al. (2021). ICLR. arXiv:2007.00808.
- ↑ Thakur, N. et al. (2021); сводные — в Gao et al., 2023, табл. 2. arXiv:2104.08663.
- ↑ Izacard, G. et al. (2022); сводные — в Gao et al., 2023, табл. 2.
- ↑ Gao, L. et al. (2023). Табл. 2.
- ↑ Gao, L. et al. (2023). Табл. 3. DOI:10.18653/v1/2023.acl-long.99.
- ↑ Gao, L. et al. (2023). §4–5.
- ↑ Gao, L. et al. (2023). §4.2–4.3.
- ↑ Gao, L. et al. (2023). §4.1.
- ↑ Haystack Docs. ‘‘Hypothetical Document Embeddings (HyDE)’’ (инженерная справка). docs.haystack.deepset.ai
- ↑ Gao, L. et al. (2023). Табл. 6.
- ↑ Milvus Docs. ‘‘Similarity Metrics’’.
- ↑ Haystack × Milvus Integration (официальная док.). haystack.deepset.ai
- ↑ Nogueira, R.; Cho, K. (2019). arXiv:1901.04085.
- ↑ Khattab, O.; Zaharia, M. (2020). DOI:10.1145/3397271.3401075.
- ↑ Cormack, G. V. et al. (2009). DOI:10.1145/1571941.1572114.
- ↑ Manning, C. D.; Raghavan, P.; Schütze, H. (2008). Introduction to Information Retrieval. Cambridge Univ. Press. ISBN 978‑0521865715.
- ↑ Es, S. et al. (2023). ‘‘RAGAS: Automated Evaluation of Retrieval‑Augmented Generation’’. arXiv:2309.15217.
- ↑ Gao, L. et al. (2023). §5.
- ↑ Gao, L. et al. (2023). §3.2; §4.1. DOI:10.18653/v1/2023.acl-long.99.
- ↑ Gao, L. et al. (2023). Табл. 3; §4.4.
- ↑ Gao, L. et al. (2023). §4–5.
- ↑ Ouyang, L. et al. (2022). ‘‘Training language models to follow instructions with human feedback (InstructGPT)’’. NeurIPS. arXiv:2203.02155.
- ↑ Gao, L. et al. (2023). Табл. 1–2.
- ↑ Robertson, S.; Zaragoza, H. (2009). ‘‘The Probabilistic Relevance Framework: BM25 and Beyond’’. Found. Trends IR. DOI:10.1561/1500000019.
- ↑ Karpukhin, V. et al. (2020). DOI:10.18653/v1/2020.emnlp-main.550.
- ↑ Xiong, L. et al. (2021). arXiv:2007.00808.
- ↑ Nogueira, R. et al. (2019). arXiv:1904.08375.
- ↑ Nogueira, R.; Lin, J. (2019). tech report.
- ↑ Rocchio, J. (1971). SMART; Lavrenko & Croft (2001) SIGIR.