artikels

Wat binne vector databases, hoe't se wurkje en potinsjele merk

In fektordatabank is in soart databank dat gegevens opslacht as heechdimensjonale fektors, dy't wiskundige foarstellings binne fan funksjes of attributen. 

Dizze fektors wurde normaal generearre troch it tapassen fan in soarte fan ynbêdefunksje op rauwe gegevens, lykas tekst, ôfbyldings, audio, fideo, en oaren.

Vector databases kin wêze definite as in ark dat fektor-ynbêden yndeksearret en opslacht foar fluch opheljen en sykjen nei oerienkomst, mei funksjes lykas metadatafiltering en horizontale skaalfergrutting.

Skatte lêstiid: 9 minuten

Groeiende ynvesteardersbelang

Yn 'e ôfrûne wiken is d'r in tanimming west fan ynvesteardersbelang yn vectordatabases. Sûnt it begjin fan 2023 hawwe wy opmurken dat:

Litte wy yn mear detail sjen wat fektordatabases binne.

Vectors as data fertsjintwurdiging

Fektordatabases fertrouwe sterk op fektor-ynbêding, in soarte fan gegevensfertsjintwurdiging dy't de semantyske ynformaasje dy't kritysk is foar AI binnen draacht om begryp te krijen en langtermynûnthâld te behâlden om te brûken by it útfieren fan komplekse aktiviteiten. 

Vector ynsletten

Vector-ynbêden binne as in kaart, mar ynstee fan ús te sjen wêr't dingen yn 'e wrâld binne, litte se ús sjen wêr't dingen binne yn wat neamd wurdt vector romte. Vector romte is in soarte fan grutte boarterstún dêr't alles hat syn plak om te spyljen. Stel jo foar dat jo in groep bisten hawwe: in kat, in hûn, in fûgel en in fisk. Wy kinne in fektor ynbêde meitsje foar elke ôfbylding troch it in spesjale posysje te jaan op 'e boarterstún. De kat kin yn ien hoeke wêze, de hûn oan 'e oare kant. De fûgel koe yn 'e loft wêze en de fisk koe yn 'e fiver. Dit plak is in multydimensionale romte. Elke diminsje komt oerien mei ferskate aspekten fan har, bygelyks, fisken hawwe finnen, fûgels hawwe wjukken, katten en hûnen hawwe skonken. In oar aspekt fan harren kin wêze dat fisken hearre ta wetter, fûgels benammen oan 'e himel, en katten en hûnen ta de grûn. As wy ienris dizze vectoren hawwe, kinne wy ​​wiskundige techniken brûke om se te groepearjen op basis fan har oerienkomst. Op grûn fan de ynformaasje dy't wy hâlde,

Dat, vector-ynbêdingen binne as in kaart dy't ús helpt te finen oerienkomst tusken dingen yn fektorromte. Krekt sa't in kaart ús helpt om de wrâld te navigearjen, helpe vector-ynbêden by it navigearjen fan de fektorboarterstún.

It wichtichste idee is dat ynbêden dy't semantysk lykje op elkoar hawwe in lytsere ôfstân tusken harren. Om út te finen hoe ferlykber se binne, kinne wy ​​​​fektorôfstânsfunksjes brûke lykas Euklidyske ôfstân, kosinusôfstân, ensfh.

Vector databases vs vector biblioteken

De vector biblioteken bewarje ynbêdingen fan fektors yn yndeksen yn it ûnthâld, om oerienkomstsykingen út te fieren. Vectorbiblioteken hawwe de folgjende skaaimerken / beheiningen:

  1. Bewarje allinich vectoren : Vector biblioteken allinne bewarje ynbêdings fan vectoren en net de assosjearre objekten út dêr't se waarden oanmakke. Dit betsjut dat as wy query, in vector bibleteek sil reagearje mei de oanbelangjende vectors en foarwerp IDs. Dit is beheind, om't de eigentlike ynformaasje wurdt opslein yn it objekt en net de id. Om dit probleem op te lossen, moatte wy de objekten opslaan yn sekundêre opslach. Wy kinne dan de ID's brûke dy't weromjûn binne troch de query en se oerienkomme mei objekten om de resultaten te begripen.
  2. Yndeksgegevens binne ûnferoarlik : Yndeksen produsearre troch vector biblioteken binne ûnferoarlik. Dit betsjut dat as wy ienris ús gegevens ymportearre hawwe en de yndeks boud hawwe, wy gjin wizigings kinne meitsje (gjin nije ynfoegingen, wiskjen of wizigingen). Om wizigingen oan ús yndeks te meitsjen, sille wy it fanôf it begjin moatte opbouwe
  3. Query wylst beheine ymport : De measte fektorbiblioteken kinne net opfrege wurde by it ymportearjen fan gegevens. Wy moatte earst al ús gegevensobjekten ymportearje. Sa wurdt de yndeks makke neidat de objekten ymporteare binne. Dit kin in probleem wêze foar applikaasjes dy't nedich binne om miljoenen of sels miljarden objekten te ymportearjen.

D'r binne in protte bibleteken foar fektorsykjen beskikber: FAISS fan Facebook, Annoy troch Spotify en ScanNN troch Google. FAISS brûkt clustering metoade, Annoy brûkt beammen en ScanNN brûkt vector kompresje. D'r is foar elk in ôfwikseling foar prestaasjes, dy't wy kinne kieze op basis fan ús applikaasje en prestaasjesmetriken.

CRUD

De haadfunksje dy't fektordatabases ûnderskiedt fan fektorbiblioteken is de mooglikheid om gegevens te argivearjen, te aktualisearjen en te wiskjen. Vector databases hawwe CRUD-stipe kompleet (meitsje, lêze, fernije en wiskje) dat lost de beheinings fan in vector bibleteek.

  1. Argyf vectoren en objekten : Databanken kinne sawol gegevensobjekten as vectoren opslaan. Sûnt beide wurde opslein, kinne wy ​​kombinearje vector sykopdracht mei strukturearre filters. Filters kinne ús derfoar soargje dat de tichtste buorlju oerienkomme mei it metadatafilter.
  2. Mutabiliteit : as vector databases folslein stipe krûd, wy kinne maklik yngongen tafoegje, fuortsmite of bywurkje yn ús yndeks nei't it makke is. Dit is benammen nuttich as jo wurkje mei konstant feroarjende gegevens.
  3. Real-time sykjen : Oars as fektorbiblioteken, kinne databases ús ús gegevens opfreegje en wizigje tidens it ymportproses. Wylst wy miljoenen objekten laden, bliuwe de ymporteare gegevens folslein tagonklik en operasjoneel, dus jo hoege net te wachtsjen oant de ymport is foltôge om te begjinnen te wurkjen oan wat der al is.

Koartsein, in fektordatabank biedt in superieure oplossing foar it behanneljen fan vector-ynbêden troch it oanpakken fan de beheiningen fan selsstannige vektorindices lykas besprutsen yn 'e foarige punten.

Mar wat makket fektordatabases superieur oan tradisjonele databases?

Vector databases vs tradisjonele databases

Tradysjonele databases binne ûntworpen om strukturearre gegevens op te slaan en op te heljen mei help fan relaasjemodellen, wat betsjut dat se binne optimalisearre foar queries basearre op kolommen en rigen gegevens. Wylst it mooglik is om fektor-ynbêdingen op te slaan yn tradisjonele databases, binne dizze databases net optimalisearre foar fektoroperaasjes en kinne net effisjint sykjen nei oerienkomst of oare komplekse operaasjes op grutte datasets útfiere.

Dit komt om't tradisjonele databases yndeksearjende techniken brûke basearre op ienfâldige gegevenstypen, lykas snaren of sifers. Dizze yndeksearringstechniken binne net geskikt foar fektorgegevens, dy't hege dimensjes hawwe en spesjalisearre yndekseringstechniken nedich binne lykas omkearde yndeksen of romtlike beammen.

Tradysjonele databases binne ek net ûntworpen om de grutte hoemannichten net-strukturearre as semy-strukturearre gegevens te behanneljen dy't faaks ferbûn binne mei fektor-ynbêden. Bygelyks, in ôfbylding of audiobestân kin miljoenen gegevenspunten befetsje, dy't tradisjonele databases net effisjint kinne omgean.

Vector-databases, oan 'e oare kant, binne spesifyk ûntworpen om fektorgegevens op te slaan en op te heljen en binne optimalisearre foar sykaksjes op oerienkomst en oare komplekse operaasjes op grutte datasets. Se brûke spesjalisearre yndeksearringstechniken en algoritmen ûntworpen om te wurkjen mei heechdimensjonale gegevens, wêrtroch't se folle effisjinter binne as tradisjonele databases foar it opslaan en opheljen fan vector-ynbêden.

No't jo safolle lêzen hawwe oer fektordatabases, freegje jo jo miskien ôf, hoe wurkje se? Lit ús ris efkes sjen.

Hoe wurket in vector databank?

Wy witte allegear hoe't relationele databases wurkje: se bewarje snaren, sifers en oare soarten skalêre gegevens yn rigen en kolommen. Oan 'e oare kant wurket in fektordatabase op fektors, dus de manier wêrop it is optimalisearre en frege is hiel oars.

Yn tradisjonele databases freegje wy gewoanlik nei rigen yn 'e databank wêr't de wearde gewoanlik krekt oerienkomt mei ús query. Yn fektordatabases tapasse wy in oerienkomstmetriek om in fektor te finen dy't it meast liket op ús query.

In vector databank brûkt in kombinaasje fan ferskate algoritmen dy't allegearre meidwaan oan tichtst buorman sykje (ANN). Dizze algoritmen optimalisearje it sykjen troch hashing, kwantisaasje, of op grafyk basearre sykjen.

Dizze algoritmen wurde gearstald yn in pipeline dy't rappe en krekte opheljen leveret fan 'e buorlju fan in ûnderfrege vector. Sûnt de vector databank jout likernôch resultaten, de wichtichste tradeoffs wy beskôgje binne tusken krektens en snelheid. Hoe krekter it resultaat, hoe stadiger de query sil wêze. In goed systeem kin lykwols ultrasnelle sykjen leverje mei hast perfekte krektens.

  • Yndeksearje : De fektordatabase yndeksearret vectoren mei in algoritme lykas PQ, LSH of HNSW. Dizze stap assosjearret de fektors mei in gegevensstruktuer dy't rapper sykjen mooglik makket.
  • Query : fektordatabank fergeliket de yndeksearre queryvektor mei yndekseare fektors yn 'e dataset om de tichtste buorlju te finen (tapassen fan in oerienkomstmetrik brûkt troch dy yndeks)
  • Post-ferwurking : Yn guon gefallen hellet de fektordatabase de lêste neiste buorlju út de dataset en ferwurket se nei om de definitive resultaten werom te jaan. Dizze stap kin omfetsje it opnij klassifisearjen fan de neiste buorlju mei in oare oerienkomstmaat.

foardielen

Vector-databases binne in krêftich ark foar sykaksjes op oerienkomst en oare komplekse operaasjes op grutte datasets, dy't net effektyf kinne wurde útfierd mei tradisjonele databases. Om in funksjonele fektordatabase te bouwen, binne ynbêden essensjeel, om't se de semantyske betsjutting fan 'e gegevens fange en krekte oerienkomstsykjen ynskeakelje. Oars as fektorbiblioteken binne fektordatabases ûntworpen om te passen by ús gebrûksgefal, wêrtroch se ideaal binne foar applikaasjes wêr't prestaasjes en skalberens kritysk binne. Mei de opkomst fan masine learen en keunstmjittige yntelliginsje, fektordatabases wurde hieltyd wichtiger foar in breed skala oan applikaasjes, ynklusyf oanbefellingssystemen, ôfbyldingssykjen, semantyske oerienkomst en de list giet troch. As it fjild trochgiet te evoluearjen, kinne wy ​​​​ferwachtsje om yn 'e takomst noch mear ynnovative applikaasjes fan fektordatabases te sjen.

Ercole Palmeri

Ynnovaasje nijsbrief
Mis it wichtichste nijs oer ynnovaasje net. Meld jo oan om se fia e-post te ûntfangen.

Recent articles

De foardielen fan kleurplaten foar bern - in wrâld fan magy foar alle leeftiden

It ûntwikkeljen fan fynmotoryske feardigens troch kleurjen taret bern op mear komplekse feardigens lykas skriuwen. Kleurje...

2 mei 2024

De takomst is hjir: hoe't de skipfeartsektor de wrâldekonomy revolúsjonearret

De marinesektor is in wiere wrâldwide ekonomyske macht, dy't navigearre is nei in merk fan 150 miljard ...

1 mei 2024

Utjouwers en OpenAI tekenje oerienkomsten om de stream fan ynformaasje te regeljen ferwurke troch Artificial Intelligence

Ofrûne moandei kundige de Financial Times in deal oan mei OpenAI. FT lisinsje har sjoernalistyk fan wrâldklasse ...

30 april 2024

Online betellingen: Hjir is hoe streamingtsjinsten jo foar altyd betelje

Miljoenen minsken betelje foar streamingtsjinsten, beteljen moanlikse abonnemintskosten. It is gewoane miening dat jo ...

29 april 2024