Hybrid retrieval (PL)

From Systems analysis Wiki
Jump to navigation Jump to search

Hybrid Retrieval (hybrydowy retrieval) — klasa metod wyszukiwania informacji, w których łączone są sygnały leksykalne (sparse) i semantyczne (dense/late‑interaction) w celu zwiększenia pełności i precyzji wyników. Schematy hybrydowe łączą zalety dokładnego dopasowania terminów (BM25/TF-IDF) i podobieństwa wektorowego (bi‑enkodery, multimodele późnej interakcji), a także wykorzystują odporne na różnoskalowe scoring'i metody łączenia rankingów (np. Reciprocal Rank Fusion, CombSUM/CombMNZ) oraz reranking za pomocą cross‑enkoderów.[1][2][3]

Definicja i motywacja

Hybrydowy retrieval to równoległe lub kaskadowe wyszukiwanie w dwóch (lub więcej) niezależnych kanałach sygnałów z następującym połączeniem i/lub rerankingiem. Typowe motywacje: (i) przezwyciężenie „luki terminologicznej" (synonimy, przeformułowania), (ii) odporność na literówki/morfologię, (iii) wyodrębnianie specyficznych kodów/identyfikatorów (gdzie model sparse jest silny), (iv) przenoszenie na nowe domeny/języki (gdzie modele dense zapewniają semantyczne uogólnienie).[4][5][6]

Komponenty wyszukiwania hybrydowego

Leksykalny (sparse)

  • Klasyczne modele. TF-IDF i BM25/BM25F — standardowe metody bazowe na odwróconych indeksach; BM25 jest uzasadniony w probabilistycznych ramach PRF i szeroko stosowany na pierwszym etapie rankingu.[7]
  • Uczące się sparse.
    • SPLADE / SPLADE++/v3. Neurosparse model uczący rozszerzania i ważenia termów przez głowicę MLM z regularyzacją rzadkości; wykazuje mocne wyniki i dobrą przenaszalność (BEIR).[8][9][10]
    • uniCOIL/COIL. Skontekstualizowane listy odwrócone i ich uproszczona wersja uniCOIL; kompatybilne z klasycznymi indeksami odwróconymi.[11]

Semantyczny (dense/late‑interaction)

  • Bi‑encoder (single‑vector). Zapytanie i dokument są kodowane przez modele wektorowe, podobieństwo — przez dot‑product/MIPS. Przykłady: DPR,[12] ANCE,[13] Contriever,[14] GTR,[15] E5.[16]
  • Late‑interaction (multi‑vector). Modelują dopasowania na poziomie tokenów przy „późnej" interakcji: ColBERT/ColBERTv2; kompromis — lepsza dokładność przy większym indeksie/latencji, łagodzona przez sterowniki inżynieryjne (PLAID, WARP).[17][18][19]

Schematy hybrydyzacji i łączenia rankingów

  • Równoległe wyszukiwanie i łączenie kandydatów. Niezależnie uzyskujemy listy kandydatów (sparse i dense) z ich wewnętrznymi scoring'ami; następnie — łączenie rankingów.[20]
  • RRF (Reciprocal Rank Fusion). Technika odporna na nieporównywalne scoring'i rankingów, sumująca odwrotności rang:

RRF(d)=i=1m1k+ranki(d), gdzie zazwyczaj k60.[21] Obsługiwana w silnikach przemysłowych (Elasticsearch/OpenSearch) jako wbudowany retriever/procesor.[22][23]

  • CombSUM/CombMNZ i inne. Klasyczne funkcje „sumowania scoring'ów" (w razie potrzeby — z normalizacją).[24][25][26]
  • Ważona mieszanina liniowa.

S(d)=αSextsparse(d)+(1α)Sextdense(d), α[0,1]. Wybór α może być stały lub uczony (na kolekcji/na zapytanie).[27]

  • Normalizacja scoring'ów. Dla CombSUM/CombMNZ często stosuje się min‑max, z‑score i inne metody wyrównywania skal;[28] alternatywnie RRF opiera się wyłącznie na rangach.
  • Dynamiczne/adaptacyjne ważenie. Routing zapytań (query routing), cechy zapytania i modele LTR do wyboru/ważenia kanałów; współczesne prace pokazują, że prosta uczona mieszanina często przewyższa RRF i jest mało wrażliwa na normalizację.[29]

Reranking i wieloetapowe pipeline'y

Systemy hybrydowe zazwyczaj budowane są jako retrieval → fusion → rerank. Do rerankingu stosuje się:

  • Cross‑enkodery (BERT/T5). Najdokładniejsze, lecz kosztowne: MonoBERT/MonoT5 do przeuporzadkowywania top‑N kandydatów.[30][31]
  • Late‑interaction jako reranker. Rodzina ColBERT może pełnić również rolę rerankera; nowoczesne akceleratory (PLAID, WARP) obniżają latencję bez utraty jakości.[32][33]

Kompromis jakość ↔ latencja/koszt jest szczególnie istotny w RAG i przy rygorystycznych SLA (zob. latencje ogonowe p95/p99).[34]

Ocena na benchmark'ach

  • BEIR. Ujednolicony zestaw złożony z różnorodnych kolekcji/zadań do oceny retrieverów w trybie zero‑/out‑of‑domain (np. TREC‑COVID, NFCorpus, NQ, HotpotQA, FiQA‑2018, DBPedia‑entity, ArguAna, Webis‑Touché‑2020, FEVER/Climate‑FEVER, Scidocs, SciFact, CQADupStack i inne).[35]
  • TREC Deep Learning / MS MARCO. Klasyczne zasoby do uczenia/oceny retrieverów i rerankerów w trybie dużych danych.[36][37][38]
  • Metryki jakości. nDCG@k, Recall@k, MRR; dla wydajności — latency p50/p95/p99, QPS; dla eksploatacji — pamięć/koszt (CPU/GPU, indeks).[39][40]
  • Ablacje. Zaleca się rejestrowanie wkładu każdego kanału/wagi i wrażliwości na parametry k w RRF i α w mieszaniu; ocenianie odporności na przeformułowania i przesunięcia OOD.[41][42]

Aspekty inżynieryjne i praktyki produkcyjne

  • Indeksy i ANN. FAISS (Flat/HNSW/IVF‑PQ), HNSW, ScaNN dla MIPS/podobieństwa kosinusowego.[43][44][45]
  • Stos IR. Lucene/Anserini/Pyserini dla sparse/dense i hybrydowych pipeline'ów; odtwarzalność „dwuprzyciśnięciowa" na BEIR.[46][47]
  • Wektorowe bazy danych i silniki wyszukiwania. Qdrant, Weaviate, pgvector/PostgreSQL, Vespa, Elasticsearch/OpenSearch mają natywne tryby wyszukiwania hybrydowego (BM25F+vector) i/lub RRF/mieszanie liniowe.[48][49][50][51][52]
  • Wzorzec RAG. Architektura: retrieval → fusion → rerank → kontekst LLM z ograniczeniem tokenów i śledzeniem źródeł.[53]
  • Aktualizacja indeksów, deduplikacja, tokenizacja. Ważne jest uzgodnienie tokenizacji między BM25 a wektoryzatorem; kalibracja scoring'ów (normalizacja/skalowanie) przed mieszaniem.[54]

Ograniczenia i otwarte kwestie

  • Przenaszalność i wielojęzyczność. Modele dense (GTR/E5) poprawiają transfer, ale są wrażliwe na domenę/język; modele sparse (SPLADE) są często bardziej odporne na OOD.[55][56]
  • Integracja z LLM i halucynacje. Hybrydowy retrieval zmniejsza pominięcia i szum w kontekstach RAG, ale nie eliminuje całkowicie halucynacji; potrzebne są rygorystyczne rerankery i filtrowanie źródeł.[57]
  • Koszt i prywatność. Przechowywanie indeksów multi‑vector, kompresja, szyfrowanie i stos on‑prem; ocena TCO.
  • Trendy. HyDE/doc2query/PRF jako rozszerzenie dokumentów/zapytań;[58][59] uczenie mieszania (per‑query α), bardziej wydajne late‑interaction (PLAID/WARP), długie dokumenty i indeksy multiwektorowe.[60][61]

Tabela porównawcza metod

Stan na 2025‑09‑10 (przykład na kolekcji BEIR trec‑covid; nDCG@10 / Recall@100):[62]

Porównanie metod na trec‑covid
Metoda Typ (sparse/dense/hybrid) Pomysł/model Schemat łączenia Reranker nDCG@10 / R@100 Latencja (wzgl.) Źródła
BM25 sparse Dokładne dopasowanie termów (PRF/BM25) 0.595 / 0.109 bardzo niska [63][64]
SPLADE++ (ED) sparse (learned) Rzadkie rozszerzanie/wagi termów 0.727 / 0.128 niska–średnia [65][66]
Contriever (MS MARCO FT) dense Bi‑encoder uczenia kontrastywnego 0.596 / 0.091 średnia [67][68]
BGE‑base‑en‑v1.5 dense Mocny uniwersalny embedder 0.781 / 0.141 średnia [69]
Cohere embed‑english‑v3.0 dense Przemysłowy model embedding'ów tekstowych 0.818 / 0.159 średnia [70]
BM25 + dense (przykład: BM25+BGE) hybrid Równoległy retrieval + łączenie list RRF (k≈60) lub ważona mieszanina opcj.: MonoT5/ColBERT (zależy od implementacji; zazwyczaj > najlepszy pojedynczy kanał) średnia [71][72][73]

Uwaga: ostatni wiersz ilustruje schemat; dokładne liczby zależą od wyboru embeddera, normalizacji i parametrów łączenia (zob. źródła i odtwarzalne skrypty Pyserini).

Literatura

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

Odnośniki

  • Pyserini / Anserini: github.com/castorini/pyserini • github.com/castorini/anserini
  • FAISS: arXiv:1702.08734
  • Weaviate (Hybrid search): docs.weaviate.io/weaviate/search/hybrid
  • pgvector: github.com/pgvector/pgvector
  • Vespa (Hybrid search tutorial): docs.vespa.ai/en/tutorials/hybrid-search.html

Przypisy

  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.