Hypothetical Document Embeddings (HyDE) — 仮説的文書拡張
Hypothetical Document Expansion (HyDE) — ベクトル検索と検索拡張生成(RAG)を改善するための手法であり、大規模言語モデル(LLM)が元のクエリに基づいて「仮説的文書」を生成します。その後、このテキストがエンコーダによってベクトル化され、得られたベクトルとの近さに基づいて実際の文書の中から検索が行われます。このアプローチにより、LLMにエンコードされた「関連性パターン」を利用し、密な埋め込み(dense embeddings)を用いてそれらをコーパスに「グラウンディング」することができます[1]。
定義と直感的理解
HyDEは検索タスクを2つのステップに分解します:
(1) LLMがクエリに対して「関連する回答の例」(hypothetical document)を作成し、それによって関連性の特徴をモデル化します。
(2) 対照学習エンコーダ(例:Contriever)がこのテキストをベクトルに変換し、そのベクトルに基づいてインデックスから実際の文書を検索します。生成されたテキストには事実誤認が含まれる可能性がありますが、重要なのはエンコーダが捉えるテーマや専門用語のパターンです[2]。
歴史と背景
合成テキストによる検索拡張のアイデアは、クエリ拡張や疑似適合性フィードバック(PRF)の研究、具体的にはロッキオのアルゴリズムや関連性言語モデルに遡ります[3][4]。密な検索(dense retrieval)には、対照学習されたエンコーダ(Contriever)[5]やDense Passage Retrieval(DPR)[6]が用いられてきました。BEIRベンチマークは、ゼロショット評価を標準化しました[7]。このような背景のもと、エンコーダのファインチューニングなしでLLMを通じて関連性の知識をゼロショット設定に「持ち込む」方法としてHyDEが提案されました[8]。
手法と定式化
文書コーパスを 、テキストエンコーダを とすると、文書のベクトル表現は となります。近さの尺度には、コサイン類似度または内積が用いられます。重要な注意点として、**内積がコサイン類似度と一致するのは、両方のベクトルのL2ノルムが1の場合のみ**です()[9]。
HyDEは、LLMによって生成された「仮説的文書」を通じてクエリ表現を再定義します。形式的には以下の通りです:
ここで、 はインストラクション (例:「質問に答える段落を書いてください…」)を持つLLM、 は類似度尺度(コサインまたは正規化された内積)、 は類似度が最も高い 個の文書の集合です[10][11]。
実務では、**複数**の仮説的文書を生成し、それらの表現を集約することが多く、これにより安定性が向上します:
ここで、 はデコーディングの確率的なパラメータ(例:temperature/top‑p)です。このようなアンサンブル化は、レイテンシの緩やかな増加と引き換えにRecallを向上させます[12]。
基本的なHyDEのパイプライン
# 1) prompt(query) -> hypothetical_doc (仮説的文書) # 2) embed(hypothetical_doc) -> v_h (仮説的文書を埋め込み) # 3) retrieve(index, v_h, k) -> candidates (候補を検索) # 4) (任意) rerank(query, candidates) -> topN (候補を再ランキング) # 5) (RAGの場合) stuff / map-reduce / refine を topN に適用
他の手法との関連 (QE, doc2query, PRF)
- QE (クエリ拡張) はクエリに用語を追加しますが、HyDEはその代わりに「擬似的な文書」全体を生成するため、密なエンコーダとの相性が良いです[13]。
- doc2query / docTTTTTquery は、インデックス作成前に合成クエリで文書を拡張します[14][15]。HyDEはクエリを実行時に拡張するため、再インデックス化が不要です。
- PRF (ロッキオ、関連性LM) は、検索結果の上位文書に基づいてクエリベクトルを更新します。HyDEはLLMから直接「関連性パターン」を抽出し、それをコーパスに対する検索によって「グラウンディング」します[16]。
RAGへの統合と再ランキング
RAGにおいて、HyDEは検索の第一段階として適用されます:仮説的文書 → 埋め込み → k個の候補文書。次に、再ランキングが使用されます:BERT系のクロスエンコーダ[17]や、ColBERTのような遅延相互作用モデル[18]です。リストをマージする場合(例:BM25とベクトル検索のハイブリッド)、一般的にRRF(reciprocal rank fusion)が用いられます: RRFは、統合されたランキングの全体的な品質を安定して向上させる手法です[19]。
ベンチマークによる評価 (BEIRなど)
原論文では、TREC DL’19/20(Web検索)およびBEIRコレクションのサブセット(Scifact, ArguAna, TREC‑COVID, FiQA, DBPedia, TREC‑NEWS, Climate‑FEVER)におけるゼロショット設定でHyDEを評価しています。以下は結果の一部です(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] |
HyDEはまた、多言語データセットMr.TyDi(sw/ko/ja/bn)において、mContrieverと比較して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]。
- 再ランキングモデル: Cross-Encoder (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による生成は遅延とトークンコストを追加します。これはオンラインシナリオや長い「仮説的文書」ではクリティカルな問題となります[44]。
- 倫理とバイアス: 安全性の高いLLMを使用し、フィルタリングを適用することが望ましいです[45]。
手法の比較表
| 手法 | 分類 | テキスト生成場所 | エンコーダ/インデックス | 再ランキング(第2段階) | 典型的なメトリクス(例) | コスト/レイテンシ | 出典 |
|---|---|---|---|---|---|---|---|
| HyDE | Query→hypo‑doc | クエリ側(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/sparse+expanded | 任意 | MS MARCOでのBM25の改善 | 高いオフライン生成; 高速なオンライン処理 | [50][51] |
| PRF (Rocchio, RLM) | フィードバックによるQE | クエリ(上位結果に基づく) | 任意 | 任意 | Recall向上/ドリフトのリスク | + 追加の検索パス | [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.