Hybrid Retrieval

Материал из Systems analysis wiki
Перейти к навигации Перейти к поиску

Hybrid Retrieval (гибридный ретрив) — класс методов информационного поиска, в которых объединяются лексические (sparse) и семантические (dense/late‑interaction) сигналы для повышения полноты и точности выдачи. Гибридные схемы сочетают преимущества точного совпадения терминов (BM25/TF-IDF) и векторной близости (биэнкодеры, мультимодели позднего взаимодействия), а также используют устойчивые к разномасштабным скорингам методы слияния ранжировок (например, Reciprocal Rank Fusion, CombSUM/CombMNZ) и переранжирование кросс‑энкодерами.[1][2][3]

Определение и мотивация

Гибридный ретрив — это параллельный либо каскадный поиск по двум (и более) независимым каналам сигналов с последующим слиянием и/или переранжированием. Типичные мотивации: (i) преодоление «терминологического разрыва» (синонимы, переформулировки), (ii) устойчивость к опечаткам/морфологии, (iii) извлечение специфичных кодов/идентификаторов (где sparse‑модель сильна), (iv) перенос на новые домены/языки (где dense‑модели дают семантическое обобщение).[4][5][6]

Компоненты гибридного поиска

Лексический (sparse)

  • Классические модели. TF-IDF и BM25/BM25F — стандартные базовые методы на инвертированных индексах; BM25 обоснован в вероятностной PRF‑рамке и широко используется в первую стадию ранжирования.[7]
  • Обучаемые sparse.
    • SPLADE / SPLADE++/v3. Нейроспрайс‑модель, обучающая расширение и взвешивание термов через MLM‑голову с регуляризацией разреженности; показывает сильные результаты и хорошую переносимость (BEIR).[8][9][10]
    • uniCOIL/COIL. Контекстуализированные инвертированные списки и их упрощённая версия uniCOIL; совместимы с классическими инвертированными индексами.[11]

Семантический (dense/late‑interaction)

  • Bi‑encoder (single‑vector). Запрос и документ кодируются вектормоделями, похожесть — по dot‑product/MIPS. Примеры: DPR,[12] ANCE,[13] Contriever,[14] GTR,[15] E5.[16]
  • Late‑interaction (multi‑vector). Моделируют токен‑уровневые соответствия при «позднем» взаимодействии: ColBERT/ColBERTv2; компромисс — лучшая точность при большем индексе/латентности, смягчается инженерными драйверами (PLAID, WARP).[17][18][19]

Схемы гибридизации и слияния ранжировок

  • Параллельный поиск и объединение кандидатов. Независимо получаем списки кандидатов (sparse и dense) с их внутренними скорингами; далее — слияние ранжировок.[20]
  • RRF (Reciprocal Rank Fusion). Устойчивая к несопоставимым скорингам ранжировок техника, суммирующая обратные ранги:

RRF(d)=i=1m1k+ranki(d), где обычно k60.[21] Поддерживается в промышленных движках (Elasticsearch/OpenSearch) как встроенный ретривер/процессор.[22][23]

  • CombSUM/CombMNZ и др. Классические функции «суммирования скорингов» (при необходимости — с нормализацией).[24][25][26]
  • Взвешенная линейная смесь.

S(d)=αSsparse(d)+(1α)Sdense(d), α[0,1]. Выбор α может быть фиксированным или обучаемым (по коллекции/по запросу).[27]

  • Нормализация скорингов. Для CombSUM/CombMNZ часто применяют min‑max, z‑score и др. для согласования шкал;[28] альтернативно RRF опирается только на ранги.
  • Динамическая/адаптивная взвеска. Поисковая маршрутизация (query routing), признаки запроса и LTR‑модели для выбора/веса каналов; современные работы показывают, что простая обученная смесь часто превосходит RRF и мало чувствительна к нормализации.[29]

Переранжирование и многостадийные пайплайны

Гибридные системы обычно строятся как retrieval → fusion → rerank. Для переранжирования применяют:

  • Кросс‑энкодеры (BERT/T5). Наиболее точные, но затратные: MonoBERT/MonoT5 для переупорядочивания топ‑N кандидатов.[30][31]
  • Late‑interaction как переранкер. ColBERT‑семейство может выступать и как переранкер; современные ускорители (PLAID, WARP) снижают латентность без потерь качества.[32][33]

Компромисс качество ↔ латентность/стоимость особенно важен при RAG и жёстких SLA (см. хвостовые задержки p95/p99).[34]

Оценка на бенчмарках

  • BEIR. Унифицированный набор из разнородных коллекций/задач для zero‑/out‑of‑domain оценки ретриверов (напр., TREC‑COVID, NFCorpus, NQ, HotpotQA, FiQA‑2018, DBPedia‑entity, ArguAna, Webis‑Touché‑2020, FEVER/Climate‑FEVER, Scidocs, SciFact, CQADupStack и др.).[35]
  • TREC Deep Learning / MS MARCO. Классические ресурсы для обучения/оценки ретриверов и переранкеров в режиме больших данных.[36][37][38]
  • Метрики качества. nDCG@k, Recall@k, MRR; для производительности — latency p50/p95/p99, QPS; для эксплуатации — память/стоимость (CPU/GPU, индекс).[39][40]
  • Абляции. Рекомендуется фиксировать вклад каждого канала/веса и чувствительность к параметрам k в RRF и α в смешивании; оценивать устойчивость к переформулировкам и OOD‑сдвигам.[41][42]

Инженерные аспекты и продакшн‑практики

  • Индексы и ANN. FAISS (Flat/HNSW/IVF‑PQ), HNSW, ScaNN для MIPS/косинусной близости.[43][44][45]
  • Стек IR. Lucene/Anserini/Pyserini для sparse/dense и гибридных пайплайнов; «двухкнопочная» воспроизводимость на BEIR.[46][47]
  • Векторные БД и поисковые движки. Qdrant, Weaviate, pgvector/PostgreSQL, Vespa, Elasticsearch/OpenSearch имеют нативные режимы гибридного поиска (BM25F+vector) и/или RRF/линейное смешивание.[48][49][50][51][52]
  • RAG‑паттерн. Архитектура: retrieval → fusion → rerank → контекст LLM с ограничением токенов и трассировкой источников.[53]
  • Обновление индексов, дедупликация, токенизация. Важно согласовывать токенизацию между BM25 и векторизатором; калибровка скорингов (нормализация/масштабирование) перед смешиванием.[54]

Ограничения и открытые вопросы

  • Переносимость и мультиязычие. Dense‑модели (GTR/E5) улучшают перенос, но чувствительны к домену/языку; sparse‑модели (SPLADE) часто устойчивее на OOD.[55][56]
  • Интеграция с LLM и галлюцинации. Гибридный ретрив уменьшает пропуски и шум в контекстах RAG, но не устраняет полностью галлюцинации; нужны строгие переранкеры и фильтрация источников.[57]
  • Стоимость и приватность. Хранение multi‑vector индексов, компрессия, шифрование и on‑prem стек; оценка TCO.
  • Тренды. HyDE/doc2query/PRF как расширение документов/запросов;[58][59] обучение смешивания (per‑query α), более эффективные late‑interaction (PLAID/WARP), длинные документы и мультивекторные индексы.[60][61]

Сравнительная таблица методов

По состоянию на 2025‑09‑10 (пример на коллекции BEIR trec‑covid; nDCG@10 / Recall@100):[62]

Сравнение методов на trec‑covid
Метод Тип (sparse/dense/hybrid) Идея/модель Схема слияния Переранкер nDCG@10 / R@100 Latency (отн.) Источники
BM25 sparse Точное совпадение термов (PRF/BM25) 0.595 / 0.109 очень низкая [63][64]
SPLADE++ (ED) sparse (learned) Разрежённое расширение/веса термов 0.727 / 0.128 низкая–средняя [65][66]
Contriever (MS MARCO FT) dense Биэнкодер контрастивного обучения 0.596 / 0.091 средняя [67][68]
BGE‑base‑en‑v1.5 dense Сильный универсальный эмбеддер 0.781 / 0.141 средняя [69]
Cohere embed‑english‑v3.0 dense Промышленная текстовая эмбеддинг‑модель 0.818 / 0.159 средняя [70]
BM25 + dense (пример: BM25+BGE) hybrid Параллельный ретрив + слияние списков RRF (k≈60) или взвешенная смесь опц.: MonoT5/ColBERT (варьируется по реализации; обычно > лучший одиночный канал) средняя [71][72][73]

Примечание: последняя строка иллюстрирует схему; точные числа зависят от выбора эмбеддера, нормализации и параметров слияния (см. источники и воспроизводимые скрипты Pyserini).

Литература

  • 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 Information Retrieval 3(4):333–389. DOI:10.1561/1500000019.
  • Lin, J. et al. (2021). Pyserini: A Python Toolkit for Reproducible IR. SIGIR.
  • Järvelин, K., Kekäläinen, J. (2002). Cumulated Gain‑Based Evaluation of IR Techniques. Information Retrieval 6:241–256. DOI:10.1023/A:1016043826386.
  • Dean, J., Barroso, L.A. (2013). The Tail at Scale. CACM 56(2):74–80. DOI:10.1145/2408776.2408794.

Ссылки

Примечания

  1. Robertson, S., Zaragoza, H. (2009). The Probabilistic Relevance Framework: BM25 and Beyond. Foundations and Trends in Information Retrieval, 3(4), 333–389. DOI:10.1561/1500000019.
  2. Cormack, G.V., Clarke, C.L.A., Büttcher, S. (2009). Reciprocal Rank Fusion Outperforms Condorcet and Individual Rank Learning Methods. SIGIR 2009, 758–759. PDF.
  3. Bruch, S., Gai, S., Ingber, A. (2023). An Analysis of Fusion Functions for Hybrid Retrieval. ACM TOIS 42(1):1–35. DOI:10.1145/3596512 • arXiv:2210.11934.
  4. Manning, C.D., Raghavan, P., Schütze, H. (2008). Introduction to Information Retrieval. Cambridge University Press. ISBN 978‑0521865715 (см. главы о TF‑IDF, оценке и проблеме vocabulary mismatch).
  5. Izacard, G. et al. (2022). Unsupervised Dense Information Retrieval with Contrastive Learning (Contriever). TACL 10:1089–1108. arXiv:2112.09118.
  6. Wang, L. et al. (2022/2024). Text Embeddings by Weakly‑Supervised Contrastive Pre‑training (E5). arXiv:2212.03533.
  7. Robertson, S., Zaragoza, H. (2009). The Probabilistic Relevance Framework: BM25 and Beyond. DOI:10.1561/1500000019.
  8. Formal, T., Piwowarski, B., Clinchant, S. (2021). SPLADE: Sparse Lexical and Expansion Model for First Stage Ranking. arXiv:2107.05720.
  9. Formal, T. et al. (2022). Making Sparse Neural IR Models More Effective. Findings of EMNLP. arXiv:2205.04733.
  10. Formal, T. et al. (2024). SPLADE‑v3: New baselines for SPLADE. arXiv:2403.06789.
  11. Lin, J., Ma, X. (2021). A Few Brief Notes on DeepImpact, COIL, and uniCOIL. arXiv:2106.14807.
  12. Karpukhin, V. et al. (2020). Dense Passage Retrieval for Open‑Domain QA. EMNLP. arXiv:2004.04906.
  13. Xiong, L. et al. (2021). Approximate Nearest Neighbor Negative Contrastive Learning for Dense Text Retrieval (ANCE). ICLR. arXiv:2007.00808.
  14. Izacard, G. et al. (2022). TACL. arXiv:2112.09118.
  15. Ni, J. et al. (2021/2022). Large Dual Encoders Are Generalizable Retrievers (GTR). EMNLP. arXiv:2112.07899.
  16. Wang, L. et al. (2022/2024). arXiv:2212.03533.
  17. Khattab, O., Zaharia, M. (2020). ColBERT: Efficient and Effective Passage Search via Contextualized Late Interaction over BERT. SIGIR. arXiv:2004.12832.
  18. Santhanam, K. et al. (2022). ColBERTv2 & PLAID. NAACL/ArXiv. arXiv:2112.01488; arXiv:2205.09707.
  19. Scheerer, J.L. et al. (2025). WARP: An Efficient Engine for Multi‑Vector Retrieval. arXiv:2501.17788.
  20. Lin, J. et al. (2021). Pyserini: A Python Toolkit for Reproducible IR with Sparse and Dense Representations. SIGIR. PDF.
  21. Cormack, G.V., Clarke, C.L.A., Büttcher, S. (2009). SIGIR. PDF.
  22. Elastic Docs. Reciprocal Rank Fusion. (доступ 2025‑09‑10). elastic.co/docs/.../reciprocal-rank-fusion.
  23. OpenSearch Docs. Score ranker processor (RRF). (доступ 2025‑09‑10). docs.opensearch.org/.../score-ranker-processor/.
  24. Fox, E.A., Shaw, J.A. (1994). Combination of Multiple Searches. TREC‑2, NIST SP 500‑215, 243–252. PDF.
  25. Lee, J.H. (1997). Analyses of Multiple Evidence Combination. SIGIR, 267–276. DOI:10.1145/258525.258587.
  26. Hsu, D.F., Taksa, I. (2005). Comparing Rank and Score Combination Methods for Data Fusion in IR. (Tech. report). PDF.
  27. Bruch, S., Gai, S., Ingber, A. (2023). TOIS. DOI:10.1145/3596512.
  28. Hsu, D.F., Taksa, I. (2005). см. выше.
  29. Bruch, S., Gai, S., Ingber, A. (2023). TOIS. DOI:10.1145/3596512.
  30. Nogueira, R., Cho, K. (2019). Passage Re‑ranking with BERT. arXiv:1901.04085.
  31. Nogueira, R., Jiang, Z., Lin, J. (2020). Document Ranking with a Pretrained Sequence‑to‑Sequence Model (MonoT5). Findings of EMNLP. arXiv:2003.06713.
  32. Santhanam, K. et al. (2022). arXiv:2205.09707.
  33. Scheerer, J.L. et al. (2025). arXiv:2501.17788.
  34. Dean, J., Barroso, L.A. (2013). The Tail at Scale. CACM 56(2):74–80. DOI:10.1145/2408776.2408794.
  35. Thakur, N. et al. (2021). BEIR: A Heterogeneous Benchmark for Zero‑shot Evaluation of IR Models. NeurIPS Datasets & Benchmarks. arXiv:2104.08663.
  36. Craswell, N. et al. (2020). Overview of the TREC 2019 Deep Learning Track. arXiv:2003.07820.
  37. Craswell, N. et al. (2021). Overview of the TREC 2020 Deep Learning Track. arXiv:2102.07662.
  38. Bajaj, P. et al. (2016). MS MARCO: A Human Generated MAchine Reading COmprehension Dataset. arXiv:1611.09268.
  39. Järvelin, K., Kekäläinen, J. (2002). Cumulated Gain‑Based Evaluation of IR Techniques. Information Retrieval 6:241–256. DOI:10.1023/A:1016043826386.
  40. Dean, J., Barroso, L.A. (2013). CACM. DOI:10.1145/2408776.2408794.
  41. Bruch, S. et al. (2023). DOI:10.1145/3596512.
  42. Ni, J. et al. (2021/2022). arXiv:2112.07899.
  43. Johnson, J., Douze, M., Jégou, H. (2017). Billion‑scale Similarity Search with GPUs (FAISS). arXiv:1702.08734.
  44. Malkov, Y., Yashunin, D. (2020). HNSW. IEEE TPAMI 42(4):824–836. DOI:10.1109/TPAMI.2018.2889473.
  45. Guo, R. et al. (2020). ScaNN: Efficient Vector Similarity Search at Scale. arXiv:1908.10396.
  46. Yang, P., Fang, H., Lin, J. (2018). Anserini: Reproducible IR Research with Lucene. JDIQ 10(4):1–20. DOI:10.1145/3239571.
  47. Lin, J. et al. (2021). SIGIR. PDF.
  48. Qdrant Docs. Hybrid queries (RRF, DBSF). (доступ 2025‑09‑10). qdrant.tech/.../hybrid-queries/.
  49. Weaviate Docs. Hybrid search. (доступ 2025‑09‑10). docs.weaviate.io/weaviate/search/hybrid.
  50. pgvector GitHub. (доступ 2025‑09‑10). github.com/pgvector/pgvector.
  51. Vespa Docs. Hybrid Text Search Tutorial. (доступ 2025‑09‑10). docs.vespa.ai/.../hybrid-search.html.
  52. Elastic Docs. Reciprocal Rank Fusion. (доступ 2025‑09‑10). elastic.co/docs/.../rrf.
  53. Lewis, P. et al. (2020). Retrieval‑Augmented Generation for Knowledge‑Intensive NLP Tasks. NeurIPS. arXiv:2005.11401.
  54. Hsu, D.F., Taksa, I. (2005). см. выше.
  55. Ni, J. et al. (2021/2022). arXiv:2112.07899.
  56. Formal, T. et al. (2021, 2022, 2024). arXiv:2107.05720; 2205.04733; 2403.06789.
  57. Lewis, P. et al. (2020). arXiv:2005.11401.
  58. Gao, L. et al. (2023). Precise Zero‑Shot Dense Retrieval without Relevance Labels (HyDE). ACL. arXiv:2212.10496.
  59. Nogueira, R. et al. (2019). Document Expansion by Query Prediction. arXiv:1904.08375; docTTTTTquery. PDF.
  60. Santhanam, K. et al. (2022). arXiv:2205.09707.
  61. Scheerer, J.L. et al. (2025). arXiv:2501.17788.
  62. Pyserini BEIR Regressions (доступ 2025‑09‑10): результаты по trec‑covid для BM25/SPLADE/Contriever/BGE/Cohere. castorini.github.io/pyserini/2cr/beir.html.
  63. Robertson, S., Zaragoza, H. (2009). DOI:10.1561/1500000019.
  64. Pyserini BEIR. См. ссылку выше.
  65. Formal, T. et al. (2021, 2022). arXiv:2107.05720; 2205.04733.
  66. Pyserini BEIR.
  67. Izacard, G. et al. (2022). arXiv:2112.09118.
  68. Pyserini BEIR.
  69. Pyserini BEIR.
  70. Pyserini BEIR.
  71. Cormack et al. (2009). SIGIR. RRF.
  72. Bruch et al. (2023). TOIS.
  73. Elastic/OpenSearch RRF Docs.