paint-brush
Căutare Vector: A Reranker Algorithm Showdownde@datastax
123 lecturi

Căutare Vector: A Reranker Algorithm Showdown

de DataStax3m2024/11/26
Read on Terminal Reader

Prea lung; A citi

Rerankers-urile sunt modele ML care preiau un set de rezultate de căutare și le reordonează pentru a îmbunătăți relevanța. Am testat 6 dintre ele.
featured image - Căutare Vector: A Reranker Algorithm Showdown
DataStax HackerNoon profile picture
0-item

Căutarea vectorială oferă în mod eficient similaritate semantică pentru generarea de recuperare augmentată, dar se descurcă prost cu căutări scurte de cuvinte cheie sau termeni de căutare din afara domeniului. Suplimentarea regăsării vectorului cu căutări de cuvinte cheie precum BM25 și combinarea rezultatelor cu un reranker devine modalitatea standard de a obține cele mai bune din ambele lumi.


Rerankers-urile sunt modele ML care preiau un set de rezultate de căutare și le reordonează pentru a îmbunătăți relevanța. Ei examinează în detaliu interogarea asociată cu fiecare rezultat candidat, ceea ce este costisitor din punct de vedere computațional, dar produce rezultate mai precise decât metodele simple de recuperare. Acest lucru poate fi făcut fie ca o a doua etapă în plus față de o singură căutare (trageți 100 de rezultate din căutarea vectorială, apoi cereți rerankerului să identifice primele 10) sau, mai des, pentru a combina rezultate din diferite tipuri de căutare; în acest caz, căutare vectorială și căutare prin cuvinte cheie.


Dar cât de buni sunt rerankerii de pe raft? Pentru a afla, am testat șase rerankeri pe textul din Benchmark ViDoRe , folosind Gemini Flash pentru a extrage text din imagini. Detalii despre seturile de date pot fi găsite în secțiunea 3.1 din hârtia ColPali . În special, sursele TabFQuAD și Shift Project sunt în franceză; restul sunt in engleza.


Am testat acești rerankere:

  • Fuziunea de rang reciproc (RRF), o formulă de combinare a rezultatelor din mai multe surse fără a ști nimic despre interogări sau documente; depinde doar de ordonarea relativă în cadrul fiecărei surse. RRF este utilizat în Elastic și LlamaIndex, printre alte proiecte.





Reclasificatorii au primit primele 20 de rezultate atât din DPR, cât și din BM25, iar NDCG@5 reclasat a fost evaluat.


În rezultate, căutarea vectorială brută (cu înglobări din modelul bge-m3) este etichetată dpr (recuperare densă a pasajelor). BGE-m3 a fost ales pentru a calcula înglobările, deoarece aceasta este ceea ce autorii ColPali au folosit ca bază.


Iată datele despre relevanță (NDCG@5):

Și iată cât de repede sunt la reclasificarea căutărilor în setul de date arxiv; latența este proporțională cu lungimea documentului. Aceasta este latența grafică, așa că mai mică este mai bine. Modelul bge auto-găzduit a fost rulat atât pe un NVIDIA 3090 folosind cel mai simplu cod posibil, preluat direct de la cardul model Hugging Face .

În cele din urmă, iată cât a costat cu fiecare model reclasificarea celor aproape 3.000 de căutări din toate cele șase seturi de date. Prețurile coerente pe căutare (cu taxe suplimentare pentru documentele lungi), în timp ce celelalte prețuri pe token.

Analiză

  • Toate modelele se descurcă aproximativ la fel de bine pe seturile de date franceze ca și pe cele englezești.


  • Cohere este semnificativ mai scump și oferă o relevanță puțin (dar în mod constant) mai slabă decât ceilalți rerankers ML – dar este de 3 ori mai rapid decât următoarele servicii cele mai rapide. În plus, Limitele standard ale ratei Cohere sunt cei mai generosi.


  • Voyage rerank-2 este regele relevanței reclasării în toate seturile de date, pentru o atingere suplimentară a latenței. În special, este singurul model care nu se descurcă mai rău decât DPR singur în setul de date arxiv, care pare a fi deosebit de complicat.


  • Voyage rerank-2-lite și jina reranker v2 sunt foarte, foarte asemănătoare: au aceeași viteză, găzduite la același preț și aproape de aceeași relevanță (cu un ușor avantaj pentru Voyage). Dar Limita standard de rată a călătoriei este dublu a lui jina , iar cu Voyage obțineți un „adevărat” Client Python în loc să trebuiască să facă solicitări http brute.


  • BGE-reranker-v2-m3 este un model atât de ușor (sub 600 de milioane de parametri) încât chiar și pe un GPU de consum mai vechi este ușor de utilizat.

Concluzie

RRF adaugă puțin sau deloc valoare scenariilor de căutare hibridă; pe jumătate din seturile de date, a avut performanțe mai slabe decât BM25 sau numai DPR. Spre deosebire de aceasta, toți evaluatorii bazați pe ML testați au adus îmbunătățiri semnificative față de căutarea pur vector sau cu cuvinte cheie, Voyage rerank-2 stabilind ștacheta pentru relevanță.


Sunt încă prezente compromisuri: acuratețe superioară de la Voyage rerank-2, procesare mai rapidă de la Cohere sau performanță solidă la mijloc de la Jina sau modelul lite de la Voyage. Chiar și rerankerul BGE open-source, în timp ce urmărește opțiunile comerciale, adaugă o valoare semnificativă pentru echipele care aleg să se autogăzduiască.


Pe măsură ce modelele de fundație continuă să avanseze, ne putem aștepta la performanțe și mai bune. Dar rerankerii ML de astăzi sunt deja suficient de maturi pentru a fi implementați cu încredere în conținutul multilingv.



De Jonathan Ellis, DataStax