pgvector eða sérhæfður vigragrunnur: milljón vigra fela málamiðlunina

|Höfundur: Ritstjórn QUASA|6 mín. lestur
pgvector eða sérhæfður vigragrunnur: milljón vigra fela málamiðlunina

pgvector er skynsamlegt fyrsta val fyrir RAG-kerfi sem notar þegar PostgreSQL, svo lengi sem endurheimt og svartími standast kröfur á eigin gögnum. Qdrant eða Weaviate geta réttlætt sérstaka þjónustu þegar síaðar fyrirspurnir eða samhliða álag þrengja að þeirri lausn. Fjöldi vigra einn og sér segir ekki til um hvar mörkin liggja.

Í SIFT1M-prófi á einni milljón vigra, þar sem endurheimt, afköst og p99-töf voru mæld, náði Weaviate 0,996 í Recall@100 og 87 fyrirspurnum á sekúndu. Qdrant náði 0,959 og 216 fyrirspurnum á sekúndu, en pgvector 0,937 og 154; Qdrant hafði jafnframt lægstu miðgildistöf fullra gagnagrunna, 4,55 millisekúndur. Prófið notaði að mestu sjálfgefnar stillingar og ósíaða leit á myndvigum. Málamiðlunin er því sýnileg við þessa stærð, en tölurnar raða ekki kerfunum sjálfkrafa fyrir textaleit í RAG.

Berið hraða saman við sömu endurheimt

Fyrirspurnir á sekúndu eru aðeins sambærilegar þegar gæði niðurstaðna eru sambærileg. Endurheimt mælir hversu stór hluti niðurstaðna úr nákvæmri leit birtist líka í nálgunarleitinni. Ef eitt kerfi leitar lengur til að finna fleiri rétta nágranna en annað, er hraðamunurinn að hluta verð fyrir ólík gæði. Fyrir raunhæfan samanburð þarf að stilla hvert kerfi að sama lágmarki í endurheimt og mæla afköstin þar.

Niðurstöðudýpt skiptir líka máli. Kerfi sem sækir fáa kafla beint í svar þarf ekki endilega sömu vísastillingu og kerfi sem sækir stærra safn kandídata fyrir endurröðun. Mælið endurheimt á þeirri dýpt sem RAG-ferlið notar. Miðgildistöf lýsir venjulegri fyrirspurn, en p99-töf sýnir biðtíma við hægari enda dreifingarinnar. Þjónusta með ströng svartímamörk getur því þurft að hafna stillingu sem lítur vel út á miðgildi.

Gæði vigra og tíminn sem fer í að mynda þá eru aðrir þættir í heildarsvarinu. BigVectorBench-rannsóknin mældi meðal annars áhrif samsettra fyrirspurna og vigramyndunar á endurheimt og töf; þar voru Qdrant og Weaviate prófuð, en pgvector var ekki í þeim kerfissamanburði. Þessi niðurstaða undirstrikar hvers vegna gagnagrunnstíma og tíma alls RAG-ferlisins þarf að skrá sitt í hvoru lagi. Annars getur hæg vigramyndun ranglega virst vera galli í leitargrunninum.

Síur geta breytt niðurstöðunni

RAG-leit er oft bundin við viðskiptavin, skjalaflokk, tungumál eða útgáfu gagna. Þá skiptir máli hvort kerfið finnur nægilega marga hæfa kafla innan síunnar, ekki aðeins nálæga vigra í öllu safninu. Prófið bæði víðar og þröngar síur með þeirri dreifingu lýsigagna sem þjónustan mun nota. Há endurheimt án síu tryggir ekki sömu niðurstöðu þegar aðeins lítill hluti safnsins stenst skilyrðið.

Í leiðbeiningum pgvector um síun kemur fram að við notkun nálgunarvísis er sían lögð á eftir yfirferð vísisins. Því geta of fáar færslur staðist skilyrðið nema leitin fari lengra; ítrekuð skönnun getur hjálpað við það. Nákvæm leit með vísi á síudálki, hlutvísar og töfluskipting eru einnig mögulegar leiðir. Val þeirra fer eftir því hve margar færslur sían velur og hvernig gögnin skiptast milli hópa. SQL-tengingin er nytsamleg þegar sömu gögn og aðgangsreglur eru þegar í PostgreSQL, en vísar og skipting krefjast líka geymslu og viðhalds.

Skjöl Qdrant um síaða vísagerð lýsa lýsigagnavísi og aukatengingum í HNSW-grafi sem styðja leit með síum. Fyrir mjög þrönga síu getur fyrirspurnaráætlunin einnig valið leit yfir þau gögn sem standast skilyrðið. Aukatengingarnar auka hins vegar vinnu við vísagerð og notkun minnis og disks. Lýsigagnareitirnir og röð vísagerðar þurfa því að endurspegla fyrirhugað álag þegar þessi leið er metin.

Hjá Weaviate er listi gjaldgengra hluta myndaður með öfugum vísi áður en vigurleitin fer fram. Lýsing Weaviate á síun segir jafnframt að ACORN sé sjálfgefin síunarleið frá útgáfu v1.34 og nýtist sérstaklega þegar sían hefur litla fylgni við líkustu vigrana. Það gefur ástæðu til að mæla Weaviate á þröngum síum, en útfærslan ein segir ekki hvaða kerfi nær gæðamarkinu hraðast á eigin gögnum.

Rekstrarbyrðin er hluti af samanburðinum

Ef PostgreSQL geymir þegar skjöl, lýsigögn og aðgangsreglur getur pgvector haldið leitinni innan sama gagnalíkans og sömu rekstrarleiða. Það sparar sérstaka samstillingu milli grunnanna. Ávinningurinn minnkar ef vigurvísir og leit taka minni eða vinnsluafl frá öðrum fyrirspurnum, eða ef innlestur og uppfærsla vísis trufla þjónustuna. Þar þarf að mæla áhrif á allan PostgreSQL-reksturinn, ekki aðeins svartíma vigurleitar.

Sérhæfður grunnur aðskilur leitarálagið frá PostgreSQL og getur gefið því eigið afkastarými. Á móti þarf að flytja eða tvítaka gögn, fylgjast með því hvort uppfærslur skili sér og ákveða hvernig þjónustan bregst við misræmi. Afritun, vöktun og endurheimt verða einnig verkefni fyrir annað kerfi. Hraðari leit hefur raunverulegt gildi þegar hún stenst gæðakröfur og ávinningurinn vegur upp þessa vinnu.

Ákvörðunarfylki fyrir pgvector, Qdrant og Weaviate

  • pgvector hentar þegar PostgreSQL er þegar miðja gagnavinnslunnar, síurnar falla vel að SQL-gögnunum og mæld endurheimt og p99-töf standast mörk við fyrirhugað samhliða álag. Færri sjálfstæð kerfi eru þá ávinningur, svo lengi sem vigurleitin þrengir ekki að annarri vinnslu.
  • Qdrant kemur til greina þegar síaðar vigurfyrirspurnir þurfa sérstakt afkastarými og mælingar við sama gæðamark sýna betri töf eða afköst en pgvector. Takið vísagerð, minnisnotkun og samstillingu gagna með í samanburðinn.
  • Weaviate kemur til greina þegar mikil endurheimt og hegðun þröngra sía ráða valinu og eigin próf sýna að svartímamörk haldast. Sterk endurheimt í ósíuðu SIFT1M-prófi er ástæða til að prófa það, en kemur ekki í stað mælingar á eigin textavigum.

Prófið sem ræður valinu

Setjið sömu skjöl, vigra og lýsigögn í kerfin þrjú og notið fyrirspurnir sem líkjast fyrirhugaðri umferð. Hafið með bæði algengar og sjaldgæfar síur og reiknið nákvæma næstu nágranna fyrir úrtak sem viðmið um endurheimt. Skráið útgáfur, vísastillingar, vélbúnað og hvort gögn og vísar rúmast í minni. Án þessara skilyrða er erfitt að rekja hvers vegna niðurstöður breytast þegar prófið er endurtekið.

Mælið síðan endurheimt við raunverulega niðurstöðudýpt, p50- og p99-töf, afköst við föst gæðamörk, vísagerð og auðlindanotkun. Blandið samhliða leit og innsetningum ef hvort tveggja verður í þjónustunni. Skráið jafnframt tíma vigramyndunar og endurröðunar sérstaklega svo val gagnagrunns byggist á þeim hluta svartímans sem hann getur breytt.

Ef pgvector nær gæðamarki og svartímamörkum án þess að þrengja að PostgreSQL er sérstakur grunnur fyrst og fremst viðbót við reksturinn. Ef síur, uppfærslur eða samhliða leit brjóta þau mörk, geta mælingar á sama álagi sýnt hvort Qdrant eða Weaviate skilar nægum ávinningi til að réttlæta þá viðbót.

Lestu einnig:

Deila:

Gerstu áskrifandi að fréttabréfinu okkar

Fáðu nýjustu fréttir af Web3, gervigreind og rafmyntum beint í pósthólfið.

0