paint-brush
Вектарны пошук: разборка алгарытму Rerankerпа@datastax
123 чытанні

Вектарны пошук: разборка алгарытму Reranker

па DataStax3m2024/11/26
Read on Terminal Reader

Занадта доўга; Чытаць

Рэранжыроўшчыкі - гэта мадэлі ML, якія бяруць набор вынікаў пошуку і змяняюць іх парадак для павышэння рэлевантнасці. Мы пратэставалі 6 з іх.
featured image - Вектарны пошук: разборка алгарытму Reranker
DataStax HackerNoon profile picture
0-item

Вектарны пошук эфектыўна забяспечвае семантычнае падабенства для пошукавай дапоўненай генерацыі, але ён дрэнна спраўляецца з пошукам па кароткіх ключавых словах або па-за даменнымі тэрмінамі пошуку. Дапаўненне вектарнага пошуку пошукам па ключавых словах, такім як BM25, і аб'яднанне вынікаў з пераўпарадкаваннем становіцца стандартным спосабам атрымаць лепшае з абодвух сьветаў.


Рэранжыроўшчыкі - гэта мадэлі ML, якія бяруць набор вынікаў пошуку і змяняюць іх парадак для павышэння рэлевантнасці. Яны дэталёва вывучаюць запыт у спалучэнні з кожным магчымым вынікам, што патрабуе вылічэнняў, але дае больш дакладныя вынікі, чым простыя метады пошуку. Гэта можа быць зроблена або як другі этап у дадатак да адзінага пошуку (выцягнуць 100 вынікаў з вектарнага пошуку, затым папрасіць рэранжыроўшчыка вызначыць 10 лепшых), або, часцей за ўсё, аб'яднаць вынікі з розных відаў пошуку; у дадзеным выпадку вектарны пошук і пошук па ключавых словах.


Але наколькі добрыя стандартныя рэрэйкеры? Каб даведацца пра гэта, я пратэставаў шэсць рэранжыроўшчыкаў тэксту з Тэст ViDoRe , выкарыстоўваючы Gemini Flash для здабывання тэксту з малюнкаў. Падрабязную інфармацыю аб наборах даных можна знайсці ў раздзеле 3.1 дакумент ColPali . Характэрна, што зыходныя коды TabFQuAD і Shift Project на французскай мове; астатнія на англійскай.


Мы пратэставалі гэтыя рэранжыроўшчыкі:

  • Узаемнае зліццё рангаў (RRF), формула для аб'яднання вынікаў з некалькіх крыніц, не ведаючы нічога пра запыты або дакументы; гэта залежыць выключна ад адноснага парадку ўнутры кожнай крыніцы. RRF выкарыстоўваецца сярод іншых праектаў Elastic і LlamaIndex.



  • BGE-reranker-v2-m3 , самая высокая мадэль з адкрытым зыходным кодам (ліцэнзія Apache).



Перастаўшчыкі атрымалі 20 лепшых вынікаў як з DPR, так і з BM25, і быў ацэнены перастаўлены NDCG@5.


У выніках неапрацаваны вектарны пошук (з убудаваннямі з мадэлі bge-m3) пазначаны як dpr (шчыльны пошук праходу). BGE-m3 быў абраны для вылічэння ўкладанняў, таму што аўтары ColPali выкарыстоўвалі яго ў якасці базавага ўзроўню.


Вось дадзеныя аб рэлевантнасці (NDCG@5):

І вось наколькі хутка яны перастаўляюць пошукі ў наборы дадзеных arxiv; затрымка прапарцыйная даўжыні дакумента. Гэта затрымка графіка, таму меншая, тым лепш. Самастойна размешчаная мадэль bge запускалася як на NVIDIA 3090, выкарыстоўваючы найпросты магчымы код, узяты прама з карта мадэлі Hugging Face .

Нарэшце, вось колькі каштуе з кожнай мадэллю пераранжыраваць амаль 3000 пошукавых запытаў з усіх шасці набораў даных. Cohere цэны за пошук (з дадатковымі зборамі за доўгія дакументы), у той час як іншыя цэны за маркер.

Аналіз

  • Усе мадэлі працуюць прыкладна гэтак жа добра на французскіх наборах даных, як і на англійскіх.


  • Cohere значна даражэйшы і забяспечвае крыху (але пастаянна) горшую рэлевантнасць, чым іншыя рэранжыроўшчыкі ML, але ён у 3 разы хутчэйшы за наступныя па хуткасці сэрвісы. Акрамя таго, Стандартныя ліміты ставак Cohere з'яўляюцца самымі шчодрымі.


  • Voyage rerank-2 з'яўляецца каралём рэлевантнасці пераранжыравання ва ўсіх наборах даных для дадатковага ўдару па затрымцы. Варта адзначыць, што гэта адзіная мадэль, якая працуе не горш, чым DPR у наборы дадзеных arxiv, што здаецца асабліва складаным.


  • Voyage rerank-2-lite і jina reranker v2 вельмі і вельмі падобныя: яны маюць аднолькавую хуткасць, аднолькавы кошт і амаль аднолькавую рэлевантнасць (з невялікай перавагай перад Voyage). Але Стандартны ліміт стаўкі Voyage двайны Джыны , і з Voyage вы атрымаеце "сапраўдны" Кліент Python замест таго, каб рабіць неапрацаваныя http-запыты.


  • BGE-reranker-v2-m3 - такая лёгкая мадэль (пад параметрамі 600M), што нават на старым спажывецкім графічным працэсары яна досыць хуткая.

Заключэнне

RRF практычна не дадае значэння гібрыдным сцэнарыям пошуку; на палове набораў дадзеных ён працаваў горш, чым BM25 або DPR у адзіночку. У адрозненне ад гэтага, усе правераныя рэранжыроўшчыкі на аснове ML далі значныя паляпшэнні ў параўнанні з простым вектарным пошукам або пошукам па ключавых словах, а Voyage rerank-2 задаў планку рэлевантнасці.


Кампрамісы па-ранейшаму прысутнічаюць: найвышэйшая дакладнасць ад Voyage rerank-2, больш хуткая апрацоўка ад Cohere або добрая сярэдняя прадукцыйнасць ад Jina або палегчанай мадэлі Voyage. Нават рэранжыроўшчык BGE з адкрытым зыходным кодам, адстаючы ад камерцыйных варыянтаў, дадае значную каштоўнасць для каманд, якія выбіраюць самастойнае размяшчэнне.


Паколькі асноўныя мадэлі працягваюць развівацца, мы можам чакаць яшчэ лепшай прадукцыйнасці. Але сучасныя рэранжыроўшчыкі ML ужо дастаткова дарослыя, каб упэўнена разгортвацца ў шматмоўным змесце.



Джонатан Эліс, DataStax