Hypothetical Document Expansion
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 стандартизировал zero‑shot‑оценку[7]. На этом фоне предложен HyDE как способ «привнести» в нулевой режим знание о релевантности через LLM без дообучения энкодера[8].
Метод и формализация
Пусть корпус документов , а энкодер текстов задаёт векторные представления документов . Для измерения близости используется либо косинусное сходство, либо скалярное произведение; важное замечание: **скалярное произведение совпадает с косинусным сходством только при единичной L2‑норме обоих векторов** ()[9].
HyDE переопределяет представление запроса через «гипотетический документ», сгенерированный LLM. Формально:
где — LLM с инструкцией (например: «Напиши абзац, отвечающий на вопрос …»), — мера сходства (косинус или IP с нормировкой), а — множество из документов с максимальным сходством[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) (optional) rerank(query, candidates) -> topN # 5) (для RAG) stuff / map-reduce / refine на topN
Связь с другими методами (QE, doc2query, PRF)
- QE (расширение запроса) добавляет термы к запросу; HyDE вместо этого генерирует целый «квази‑документ», что лучше согласуется с плотными энкодерами[13].
- doc2query / docTTTTTquery расширяют документы синтетическими запросами до индексирования[14][15]; HyDE расширяет запрос на лету, не требуя реиндексации.
- PRF (Rocchio, Relevance LM) обновляет вектор запроса по топ‑результатам; HyDE извлекает «паттерн релевантности» непосредственно из LLM и затем «заземляет» его ретривом по корпусу[16].
Интеграция в RAG и переранжирование
В RAG HyDE применяется как первый этап ретрива: гипотетический документ → эмбеддинг → k кандидатов. Далее используется переранжирование: кросс‑энкодеры BERT‑класса[17] или позднее взаимодействие ColBERT[18]. Для слияния списков (напр., гибрид BM25+vector) типично применяется RRF (reciprocal rank fusion): Метод RRF стабильно повышает совокупное качество объединённых ранжировок[19].
Оценка на бенчмарках (BEIR и др.)
Оригинальная работа оценивает HyDE в нулевом режиме на TREC DL’19/20 (веб‑поиск) и на подмножестве коллекций BEIR (Scifact, ArguAna, TREC‑COVID, FiQA, DBPedia, TREC‑NEWS, Climate‑FEVER). Фрагмент результатов — по состоянию на 2023‑07:
| Метод | 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 также улучшает MRR@100 на многоязычных наборах Mr.TyDi (sw/ko/ja/bn) относительно mContriever[28].
Практические рекомендации
- Когда применять HyDE
- Нулевой/переносный режимы (нет релевантных меток; доменная «непохожесть» на обучающие корпуса)[29].
- Требуется повышение Recall@k при приемлемой точности — HyDE часто «открывает» релевантные области векторного пространства[30].
- Типовые настройки
- LLM и промпт: инструкция «Напиши абзац, отвечающий на вопрос …»; умеренная стохастичность (напр., temperature≈0.7)[31].
- Число гипотетических текстов: 1–5; усреднение эмбеддингов повышает устойчивость[32].
- Эмбеддер: (m)Contriever без дообучения; возможно применение дообученных энкодеров (эффект HyDE сохраняется)[33].
- Нормализация эмбеддингов: L2‑норма; внутреннее произведение эквивалентно косинусу[34].
- Гибридный ретрив: BM25+vector с последующим переранжированием[35].
- Переранкер: Cross-Encoder (BERT re‑ranker)[36] или ColBERT[37].
- Слияние результатов разных стратегий: RRF (k≈60)[38].
- Мониторинг качества/стоимости
- Ретрив: nDCG@k, Recall@k, MRR; end‑to‑end 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 | Лексический | — | Инвертированный индекс | Опционально | см. табл. (выше) | Низкая (lexical) | [47] |
| DPR / ANCE | Плотный (ft) | — | Bi‑encoder; ANN | Опционально | DL19 nDCG@10≈62–65 | Средняя (без LLM) | [48][49] |
| doc2query / docTTTTTquery | Док. экспансия | На стороне коллекции (до индексации) | BM25/sparse+expanded | Опционально | Улучшения BM25 на MS MARCO | Высокая оффлайн‑генерация; быстрый онлайн | [50][51] |
| PRF (Rocchio, RLM) | QE по фидбеку | Запрос (по топ‑рез.) | Любой | Опционально | Рост Recall/риски дрейфа | + доп. проход ретрива | [52] |
См. также
- Retrieval‑Augmented Generation (RAG)
- Automatic Prompt Engineer (APE)
- Chain-of-Thought Prompting
- Chain-of-Verification
- Few-shot и Zero-shot
Ссылки
- Репозиторий HyDE: github.com/texttron/hyde.
- Документация: Haystack — HyDE: docs.haystack.deepset.ai.
- Документация: LangChain — HyDE Retriever: docs.langchain.com.
Литература
- 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.
Примечания
- ↑ 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.