Reranking v RAG: Cross-Encoder vs. Bi-Encoder
Reranking je druhý stupeň retrievalu v RAG pipeline: Cross-Encoder opätovne ohodnotí top kandidátov nájdených rýchlym Bi-Encoderom a zoradí ich podľa skutočnej relevancie voči query. Podľa Anthropic reranking výrazne znižuje chybovosť retrievalu oproti čistému vektorovému retrievalu – za cenu vyššej latencie.
Key Takeaways
- ✓Bi-Encoder kódujú query a dokument oddelene a sú dostatočne rýchle na úvodný retrieval cez milióny chunkov; Cross-Encoder spracúvajú query a dokument spoločne a sú presnejšie, ale príliš drahé na prvý prechod.
- ✓Reranking je post-retrieval stupeň: hybrid retrieval dodá top-50 až top-100 kandidátov, reranker ich zredukuje na najrelevantnejších top-5 až top-10 pre LLM prompt.
- ✓Anthropic Contextual Retrieval znižuje chybovosť top-20 retrievalu o 49 percent; v kombinácii s rerankingom o 67 percent (z 5,7 na 1,9 percenta).
- ✓Prakticky relevantné modely (stav 2026): Cohere Rerank v3/v3.5 (API, multilingual vrátane nemčiny), BGE-Reranker a Jina Reranker v2 (Open Source), Voyage rerank-2 a LLM-as-Judge reranker.
- ✓Tradeoff znie latencia verzus presnosť: hybrid retrieval plus reranking sa typicky pohybuje okolo 100 až 800 milisekúnd celkovej latencie.
- ✓Príliš veľké top-k odovzdané LLM spôsobuje 'Lost-in-the-Middle' a vyššie náklady; reranking plus top-k 5 až 10 je štandardné protiopatrenie.
Reranking je druhý stupeň retrievalu v RAG pipeline: Cross-Encoder opätovne ohodnotí top kandidátov nájdených rýchlym Bi-Encoderom a zoradí ich podľa skutočnej relevancie voči query. Podľa Anthropic reranking výrazne znižuje chybovosť retrievalu oproti čistému vektorovému retrievalu – za cenu vyššej latencie. Reranking tým nie je voliteľné nice-to-have, ale v produkčných systémoch najspoľahlivejšia páka medzi „sémanticky podobné" a „skutočne relevantné".
- Čo robí: Reranking preusporiada kandidátov nájdených prvým retrievalom skôr, než sa dostanú do LLM promptu.
- Prečo dva stupne: Rýchly Bi-Encoder zabezpečuje recall cez milióny chunkov, presný Cross-Encoder precision na finálnych top-k.
- Konkrétny efekt: Anthropic uvádza redukciu chybovosti top-20 retrievalu až o 67 percent, keď sa Contextual Retrieval skombinuje s rerankingom.
Prečo jednostupňový retrieval nestačí
Klasický vektorový retrieval pracuje s Bi-Encoderom. Ten vopred zakóduje každý dokumentový chunk do vektora a uloží ho v ANN indexe (väčšinou HNSW). V čase dopytu sa query premietne do toho istého vektorového priestoru a podobnosť sa počíta pomocou cosine vzdialenosti. To je extrémne rýchle a škáluje na milióny záznamov – ale je to aproximácia. Query a dokument sa nikdy „nevidia" spoločne; model porovnáva iba dva nezávisle vytvorené zhustené reprezentácie.
Dôsledkom je typický anti-pattern: top-k zásahy sú sémanticky podobné, ale nie nevyhnutne relevantné pre konkrétnu otázku. Práve tu nastupuje reranking. Je to post-retrieval stupeň, ktorý aplikuje presnejší – ale pomalší – mechanizmus na malú množinu kandidátov, namiesto na celý korpus.
Bi-Encoder vs. Cross-Encoder: kľúčový rozdiel
Architektonickým jadrom rerankingu je prechod z Bi-Encodera na Cross-Encoder.
Bi-Encoder spracúva query a dokument oddelene. Oba sa zakódujú každý do vektora, relevancia vznikne až následne zo vzdialenosti týchto vektorov. Keďže embeddingy dokumentov sa dajú vopred vypočítať a indexovať, Bi-Encoder je jediná praktická voľba pre úvodný retrieval cez veľké korpusy.
Cross-Encoder spracúva query a dokument spoločne v jednom jedinom forward-passe. Model vidí oba texty spolu a dokáže zohľadniť interakcie slovo za slovom, negácie a jemné významové rozdiely. Výsledkom je výrazne presnejšie ohodnotenie relevancie – musí sa však počítať pre každý pár query-dokument. Cez milióny chunkov by to bolo prohibitívne drahé; cez 50 až 100 predfiltrovaných kandidátov je to únosné.
Vlastnosť | Bi-Encoder | Cross-Encoder |
|---|---|---|
Vstup | Query a dokument oddelene | Query a dokument spoločne |
Vopred-indexovanie | Áno (vektory dokumentov ukladateľné) | Nie (párovo za behu) |
Rýchlosť | Veľmi rýchle | Pomalé (forward-pass na pár) |
Presnosť | Aproximácia | Vysoká |
Rola v pipeline | Úvodný retrieval (recall) | Reranking (precision) |
Škáluje na | Milióny chunkov | Desiatky až málo stoviek kandidátov |
Medzi nimi leží Late-Interaction prístup (ColBERT): ukladá token-level embeddingy na dokument a počíta relevanciu pomocou MaxSim operácie medzi tokenmi query a dokumentu. To ponúka vyššiu presnosť než klasický Bi-Encoder pri lepšej škálovateľnosti než plný Cross-Encoder, stojí však výrazne viac pamäte pre token vektory.
Pozícia v pipeline a stratégia top-k
Reranking je pevne definovaný stupeň v query ceste. Kanonické usporiadanie vyzerá takto:
```
[Hybrid Retrieval, top_k = 50-100]
-> [Cross-Encoder Reranker (Cohere Rerank / BGE / Jina)]
-> [top_k = 5-10]
-> [Prompt + citovanie zdrojov]
-> [LLM]
```
Rozhodujúci bod: reranker prichádza až po nákladovo úspornom Bi-Encoder recalle. Úvodný hybrid retrieval (dense plus BM25, fúzovaný cez Reciprocal Rank Fusion) zámerne dodá veľkorysý pool kandidátov 50 až 100 záznamov, aby sa maximalizoval recall. Cross-Encoder potom tento pool zredukuje na 5 až 10 skutočne relevantných chunkov, ktoré sa dostanú do promptu.
Toto zúženie nie je len otázka nákladov. Príliš veľké top-k odovzdané LLM vedie k efektu „Lost-in-the-Middle": relevantné informácie v strede dlhého kontextu sa spracúvajú horšie a náklady na tokeny rastú. Reranking plus tesné top-k 5 až 10 je štandardné protiopatrenie – s dodatočným odporúčaním umiestniť najdôležitejšie chunky vpredu v prompte.
Prehľad reranking modelov (stav 2026)
Model | Typ | Hosting / Licencia | Jazyky | Poznámka |
|---|---|---|---|---|
Cohere Rerank v3 / v3.5 | Cross-Encoder | multilingual vrát. DE | API štandard | |
BGE-Reranker (large / v2-m3) | Cross-Encoder | Open Source, Apache 2.0 | multilingual | On-Prem schopný |
Jina Reranker v2 | Cross-Encoder | Open Source | multilingual | DACH poskytovateľ (Berlín) |
Voyage rerank-2 | Cross-Encoder | API | multilingual | API alternatíva |
LLM-as-Judge (Haystack LLMRanker) | LLM-prompt | vlastný GPT-/Claude-prompt | ľubovoľné | flexibilné, ale drahšie |
Pre DACH scenáre s požiadavkou na suverenitu sú relevantné Open-Source možnosti BGE-Reranker a v Berlíne vyvinutý Jina Reranker v2, keďže sa dajú prevádzkovať On-Prem alebo v EU regiónoch. Kto akceptuje API a potrebuje multilingual kvalitu vrátane nemčiny, siahne v praxi po Cohere Rerank. LLM-as-Judge prístup (napríklad LLMRanker v Haystacku) je najflexibilnejší, ale na dopyt najdrahší a mal by sa nasadzovať len tam, kde je kvalita rerankingu kritická a latenčný rozpočet veľkorysý.
Tradeoff latencia/kvalita
Reranking je najdrahší jednotlivý stupeň v online ceste, pretože Cross-Encoder počíta na každého kandidáta. V produkčných systémoch sa celková latencia z hybrid retrievalu plus rerankingu typicky pohybuje okolo 100 až 800 milisekúnd. Toto rozpätie sa dá priamo ovládať:
- Veľkosť vstupného poolu: rerankovať 100 kandidátov stojí viac než 30. Podľa korpusu často stačí menší pool.
- Voľba modelu: API rerankery ako Cohere sú optimalizované na priepustnosť; LLM-as-Judge je výrazne pomalší.
- Hardvér: Open-Source rerankery výrazne profitujú z GPU inferencie; na CPU latencia citeľne rastie.
Tradeoff teda neznie „reranking áno alebo nie", ale „koľko kandidátov pri akom latenčnom rozpočte". Pre väčšinu enterprise use-casov za nárast presnosti dodatočná latencia stojí.
Numerický príklad: nárast precision
Anthropic v publikácii „Introducing Contextual Retrieval" (19.09.2024) nameral konkrétne čísla cez vlastné benchmarky (Code, Fiction, ArXiv-Papers, Science). Treba ich čítať ako vendor-eval s vlastným záujmom, ale metodicky zdokumentovaný:
- Báza (čistý retrieval): chybovosť top-20 retrievalu 5,7 percenta.
- Contextual Embeddings samostatne: redukcia o 35 percent na 3,7 percenta.
- Contextual Retrieval (Embeddings plus BM25): redukcia o 49 percent na 2,9 percenta.
- Contextual Retrieval plus Reranking: redukcia o 67 percent na 1,9 percenta.
Konkrétne to znamená: z pôvodných 57 chýb na 1 000 dopytov zostáva s plnou pipeline už len 19. Reranking samotný – ako krok z 2,9 na 1,9 percenta – v tomto setupe eliminuje zhruba ďalšiu tretinu zvyšných chýb. Pre produkčný RAG systém znamená každá odvrátená chyba retrievalu o jeden chunk menej, ktorý zvádza LLM k nesprávnej alebo nepodloženej odpovedi. Práve preto RAG prax uvádza „žiadny reranking" ako jasný anti-pattern: top-k sú potom síce sémanticky podobné, ale nie relevantné.
Pre agentúry a B2B rozhodovateľov
Kto v DACH nasadzuje produkčný RAG systém, mal by reranking od začiatku plánovať ako pevný stupeň pipeline – nie ako následné ladenie. Páka je veľká, implementačná náročnosť zvládnuteľná: jeden dodatočný API-call (Cohere) alebo vlastne hostovaný Open-Source reranker (BGE, Jina) medzi retrievalom a LLM. Pre agentúry, ktoré stavajú znalostných asistentov alebo interné vyhľadávania pre klientov, je reranking najlepším pomerom medzi nárastom kvality a námahou – a merateľným argumentom v pitchi, pretože nárast precision sa dá doložiť v evaluačných frameworkoch ako RAGAS (Context Precision). Blck Alpaca koncipuje takéto dvojstupňové retrieval architektúry vrátane EU-konformnej voľby modelu a rozpočtovania latencie. Nechajte si svoju existujúcu RAG pipeline preveriť, či správne chunky skutočne prichádzajú vpredu.
Často kladené otázky
Aký je rozdiel medzi Bi-Encoderom a Cross-Encoderom?
Potrebujem reranking, ak už používam Hybrid Search?
Ktoré reranking modely sú relevantné v roku 2026?
Koľko latencie stojí reranking?
Čo je ColBERT respektíve Late Interaction?
Ísť hlbšie?
Získajte nové analýzy priamo do schránky – alebo sa pozrite, ako tieto poznatky nasadzujeme pre firmy.