Predvideni čas branja: 9 min
V zadnjih tednih se je povečalo zanimanje vlagateljev za vektorske baze podatkov. Od začetka leta 2023 smo opazili, da:
Oglejmo si podrobneje, kaj so vektorske baze podatkov.
Vektorske zbirke podatkov so v veliki meri odvisne od vdelave vektorjev, vrste predstavitve podatkov, ki v sebi nosi semantične informacije, ki so ključne za AI, da pridobi razumevanje in ohrani dolgoročni spomin, ki ga lahko uporabi pri izvajanju zapletenih dejavnosti.
Vektorski vdelavi so kot zemljevid, vendar namesto da bi nam pokazali, kje so stvari na svetu, nam pokažejo, kje so stvari v nečem, kar se imenuje vektorski prostor. Vektorski prostor je nekakšno veliko igrišče, kjer ima vse svoje mesto za igro. Predstavljajte si, da imate skupino živali: mačko, psa, ptico in ribo. Za vsako sliko lahko ustvarimo vektorsko vdelano sliko tako, da ji damo poseben položaj na igrišču. Mačka je lahko v enem kotu, pes na drugi strani. Ptica je lahko na nebu in riba v ribniku. Ta kraj je večdimenzionalen prostor. Vsaka dimenzija ustreza njihovim različnim vidikom, na primer ribe imajo plavuti, ptice imajo krila, mačke in psi imajo noge. Drug njihov vidik je morda ta, da ribe pripadajo vodi, ptice predvsem nebu, mačke in psi pa tlom. Ko imamo te vektorje, jih lahko z matematičnimi tehnikami razvrstimo v skupine glede na njihovo podobnost. Na podlagi informacij, ki jih imamo,
Torej so vektorske vdelave kot zemljevid, ki nam pomaga najti podobnosti med stvarmi v vektorskem prostoru. Tako kot nam zemljevid pomaga pri krmarjenju po svetu, vektorski vdelavi pomagajo pri krmarjenju po vektorskem igrišču.
Ključna ideja je, da imajo vdelani elementi, ki so si pomensko podobni, manjšo razdaljo med seboj. Da ugotovimo, kako podobni sta si, lahko uporabimo funkcije vektorske razdalje, kot so evklidska razdalja, kosinusna razdalja itd.
Vektorske knjižnice shranite vdelave vektorjev v indekse v pomnilniku, da lahko izvedete iskanje po podobnosti. Vektorske knjižnice imajo naslednje značilnosti/omejitve:
Na voljo je veliko knjižnic za vektorsko iskanje: FAISS iz Facebooka, Nadležen od Spotify in ScanNN s strani Googla. FAISS uporablja metodo združevanja v gruče, Annoy uporablja drevesa in ScanNN uporablja vektorsko stiskanje. Za vsakega obstaja kompromis glede zmogljivosti, ki ga lahko izberemo glede na našo aplikacijo in meritve učinkovitosti.
Glavna značilnost, po kateri se vektorske zbirke podatkov razlikujejo od vektorskih knjižnic, je možnost arhiviranja, posodabljanja in brisanja podatkov. Vektorske baze podatkov imajo podporo za CRUD popolno (ustvarjanje, branje, posodabljanje in brisanje), ki rešuje omejitve vektorske knjižnice.
Skratka, vektorska podatkovna zbirka zagotavlja vrhunsko rešitev za ravnanje z vdelanimi vektorji z obravnavanjem omejitev samostojnih vektorskih indeksov, kot je razloženo v prejšnjih točkah.
Toda zakaj so vektorske baze podatkov boljše od tradicionalnih baz podatkov?
Tradicionalne baze podatkov so zasnovane za shranjevanje in pridobivanje strukturiranih podatkov z uporabo relacijskih modelov, kar pomeni, da so optimizirane za poizvedbe, ki temeljijo na stolpcih in vrsticah podatkov. Medtem ko je mogoče shraniti vdelave vektorjev v tradicionalnih zbirkah podatkov, te baze podatkov niso optimizirane za vektorske operacije in ne morejo učinkovito izvajati iskanja podobnosti ali drugih kompleksnih operacij na velikih nizih podatkov.
To je zato, ker tradicionalne baze podatkov uporabljajo tehnike indeksiranja, ki temeljijo na preprostih vrstah podatkov, kot so nizi ali številke. Te tehnike indeksiranja niso primerne za vektorske podatke, ki imajo visoko dimenzionalnost in zahtevajo posebne tehnike indeksiranja, kot so obrnjeni indeksi ali prostorska drevesa.
Poleg tega tradicionalne baze podatkov niso zasnovane za obdelavo velikih količin nestrukturiranih ali polstrukturiranih podatkov, ki so pogosto povezani z vdelanimi vektorji. Na primer, slika ali zvočna datoteka lahko vsebuje na milijone podatkovnih točk, ki jih tradicionalne zbirke podatkov ne morejo učinkovito obravnavati.
Po drugi strani pa so vektorske baze podatkov posebej zasnovane za shranjevanje in pridobivanje vektorskih podatkov ter so optimizirane za iskanje podobnosti in druge zapletene operacije na velikih zbirkah podatkov. Uporabljajo specializirane tehnike indeksiranja in algoritme, zasnovane za delo z visokodimenzionalnimi podatki, zaradi česar so veliko učinkovitejše od tradicionalnih baz podatkov za shranjevanje in pridobivanje vektorskih vdelav.
Zdaj, ko ste prebrali toliko o vektorskih bazah podatkov, se morda sprašujete, kako delujejo? Pa si poglejmo.
Vsi vemo, kako delujejo relacijske baze podatkov: shranjujejo nize, števila in druge vrste skalarnih podatkov v vrsticah in stolpcih. Po drugi strani vektorska baza podatkov deluje na vektorjih, zato je način optimizacije in poizvedovanja precej drugačen.
V tradicionalnih bazah podatkov običajno iščemo vrstice v bazi podatkov, kjer se vrednost običajno natančno ujema z našo poizvedbo. V vektorskih bazah podatkov uporabimo metriko podobnosti, da poiščemo vektor, ki je najbolj podoben naši poizvedbi.
Vektorska zbirka podatkov uporablja kombinacijo več algoritmov, ki vsi sodelujejo pri iskanju najbližjega soseda (ANN). Ti algoritmi optimizirajo iskanje z zgoščevanjem, kvantizacijo ali iskanjem na podlagi grafov.
Ti algoritmi so sestavljeni v cevovod, ki zagotavlja hitro in natančno iskanje sosedov poizvedovanega vektorja. Ker vektorska zbirka podatkov zagotavlja približne rezultate, so glavni kompromisi, ki jih upoštevamo, med natančnostjo in hitrostjo. Bolj kot je rezultat natančen, počasnejša bo poizvedba. Vendar lahko dober sistem zagotovi izjemno hitro iskanje s skoraj popolno natančnostjo.
Vektorske baze podatkov so močno orodje za iskanje podobnosti in druge zapletene operacije na velikih nizih podatkov, ki jih ni mogoče učinkovito izvesti z uporabo tradicionalnih baz podatkov. Za izgradnjo funkcionalne vektorske baze podatkov so vdelave bistvenega pomena, saj zajamejo semantični pomen podatkov in omogočajo natančno iskanje podobnosti. Za razliko od vektorskih knjižnic so vektorske baze podatkov zasnovane tako, da ustrezajo našemu primeru uporabe, zaradi česar so idealne za aplikacije, kjer sta zmogljivost in razširljivost kritični. Z vzponom strojnega učenja in umetne inteligence postajajo vektorske baze podatkov vse pomembnejše za široko paleto aplikacij, vključno s sistemi priporočil, iskanjem slik, semantično podobnostjo in seznam se lahko nadaljuje. Ker se področje še naprej razvija, lahko pričakujemo, da bomo v prihodnosti videli še več inovativnih aplikacij vektorskih baz podatkov.
Ercole Palmeri
Prejšnji ponedeljek je Financial Times objavil dogovor z OpenAI. FT licencira svoje vrhunsko novinarstvo ...
Milijoni ljudi plačujejo storitve pretakanja in plačujejo mesečne naročnine. Splošno mnenje je, da si…
Coveware by Veeam bo še naprej zagotavljal storitve odzivanja na incidente kibernetskega izsiljevanja. Coveware bo nudil forenziko in zmogljivosti sanacije ...
Prediktivno vzdrževanje revolucionira sektor nafte in plina z inovativnim in proaktivnim pristopom k upravljanju obratov.…