PathSeerrel gyorsíthatja a szűrt vektorkeresést a Weaviate szerint

A Weaviate bemutatta a PathSeer nevű algoritmust, amely csomópontonként, dinamikusan választja ki a szűrt vektorkeresés megfelelő stratégiáját. A megoldás a Weaviate 1.40-ben használható, és a vállalat mérései szerint több adathalmazon is gyorsabb az eddigi módszereknél.
- A PathSeer csomópontonként választ a szűrési és távolságszámítási lépések között.
- A megoldás a Weaviate 1.40-ben érhető el.
- A stratégia meglévő HNSW-indexen, újraépítés nélkül is módosítható.
- A forrás szerint a PathSeer több teszten gyorsabb volt a sweepingnél és az ACORN-nál.
- Nagyon ritka szűrésnél a Weaviate brute force keresésre válthat.
A szűrt keresésnél nehéz eldönteni, mi legyen az első lépés
A vektorkeresés gyakran szemantikus lekérdezést és strukturált feltételt kombinál. Ilyen lehet például az építészetről szóló könyvek keresése úgy, hogy csak a 2000 után megjelent, angol nyelvű művek szerepeljenek az eredmények között.
A Weaviate szerint a korábban használt megközelítések eltérő helyzetekben teljesítenek jól. A szűrésre előre felkészített módszerek alacsony kardinalitású, statikus adatoknál hatékonyak, de dinamikus környezetben kevésbé működnek jól. Az úgynevezett szűrésfüggetlen eljárások, köztük az ACORN, a közelítő legközelebbi szomszédok gráfjának bejárását módosítják.
A Weaviate 2024 végén az elsők között tette elérhetővé az ACORN-t HNSW-szűrési stratégiaként, amely az 1.34-es verzióban alapértelmezetté vált. A cég szerint az ACORN különösen negatívan korreláló szűrőknél teljesít jól, ritka szűréseknél viszont romolhat a visszahívása, 40 százalék feletti szelektivitásnál pedig a kéthoppos kiterjesztés költsége meghaladhatja az előnyeit.
A PathSeer csomópontonként vált stratégiát
A PathSeer alapötlete, hogy minden csomópontnál külön dönti el, mikor számoljon vektortávolságot, és mikor ellenőrizze előbb a szűrőt. A távolságközpontú módszer minden szomszéd távolságát kiszámítja, majd a szűrés csak később lép életbe. Ez megőrzi a gráf összekapcsoltságát, de ritka szűrőknél sok számítás olyan csomópontokra jut, amelyek végül nem felelnek meg a feltételnek.
A szűrésközpontú stratégia előbb ellenőrzi a feltételt, és csak az egyező szomszédoknál számol távolságot. Ez csökkenti a felesleges számításokat, ugyanakkor a gráf egyes részei elszakadhatnak egymástól, ami ronthatja a visszahívást. A PathSeer a két eljárást egyetlen keresésben vegyíti, előre rögzített lekérdezésenkénti hangolás nélkül.
A Weaviate módosított megvalósításában ehhez nincs szükség külön szomszédlistákra, így a módszer normál HNSW-indexekkel is kompatibilis. A szűrési stratégia meglévő indexen is megváltoztatható, újraépítés nélkül.
Mérésekben az ACORN-nál és a sweepingnél is gyorsabb volt
A Weaviate 1.40-es buildjét egy 16 vCPU-s, 60 GB memóriával rendelkező GCP c4-standard-16 példányon tesztelték. A méréshez több adathalmazt használtak, köztük 500 ezres és 1,1 milliós BEIR és Cohere készleteket, egy 1 millió darabos, 768 dimenziós Sphere DPR-adathalmazt, valamint egy 10 millió Wiki-passzust tartalmazó wiki-dpr készletet.
A szerzők Faiss-megvalósításában a PathSeer a forrás szerint a sima HNSW-nél 1,2 és 13,5 közötti, az ACORN-nál pedig 1,6 és 10,6 közötti áteresztőképességet ért el 90 százalékos recall@10 mellett. A vizsgált szelektivitás 100 százaléktól 0,1 százalékig terjedt.
A Weaviate méréseiben a PathSeer minden vizsgált szelektivitási tartományban elérte vagy felülmúlta a sweeping és az ACORN eredményeit a Cohere és BEIR adatokon. A wiki-dpr készlet tematikus szűrőin szintén felülmúlta mindkét stratégiát. A vállalat ugyanakkor jelzi, hogy 0,1 százalékos szelektivitásnál a Weaviate alapértelmezés szerint a szűrt halmazon végzett brute force keresésre válthat, amely ilyen méretnél jobb választás lehet.
A hat, kombinált szűrést tartalmazó wiki-dpr teszten a PathSeer 0,90-es visszahívásnál 1,1 és 1,4 közötti szorzóval bizonyult gyorsabbnak a sweeping és az ACORN közül jobb eredményt elérő stratégiánál. A Weaviate szerint a megoldás a 1.40-es verzióban használható, így a fejlesztők meglévő HNSW-indexeken is kipróbálhatják a stratégiát.
Weaviate: PathSeer: Adaptive Filtered Vector Search


