Vek­to­ri­and­me­baas on and­me­ba­asi tüüp, mis salvestab, haldab ja otsib andmeid kõr­ge­di­men­sioo­ni­liste vek­to­ri­tena. Loe edasi, et saada rohkem teavet vek­to­ri­and­me­baaside toimimise ja ka­su­ta­mise kohta.

Mida teeb vek­to­ri­and­me­baas?

Nagu tra­dit­sioo­ni­li­sed struk­tu­ree­ri­tud and­me­baasid, võivad vek­to­ri­and­me­baasid sal­ves­tada palju erinevaid and­me­tüüpe, seal­hul­gas teksti, pilte ja muid mee­dia­tüüpe. Erinevus nende kahe vahel seisneb selles, kuidas andmeid sal­ves­ta­takse ja päringut tehakse. Kui ta­valis­tes and­me­baasi­des sal­ves­ta­takse andmed sageli in­deksee­ri­tud ta­be­li­vor­min­gus, siis vek­to­ri­and­me­baasi­des esi­ta­takse and­me­ob­jek­tid kõr­ge­di­men­sioo­ni­liste numb­ri­liste vek­to­ri­tena. Vektoris si­sal­du­vaid väärtusi võib mõista kui pa­ra­meetreid, mis kir­jel­da­vad igaüks al­gand­mete omadust. Sel viisil saab and­me­ko­gu­meid pa­ra­met­ree­rida ja seejärel võrrelda ning rühmitada sarnasuse mõõdikute alusel.

Vek­to­ri­and­me­baaside abil on palju lihtsam andmeid nende üldiste omaduste järgi ka­te­go­ri­see­rida ja otsida. See on eriti kasulik masinõppe ja süvaõppe süs­teemide puhul.

Kuidas vek­to­ri­and­me­baasid töötavad?

Võrreldes tra­dit­sioo­ni­liste re­lat­sioo­ni­liste and­me­baasi­dega pakuvad vek­to­ri­and­me­baasid palju eeliseid te­hisin­tel­lekti ja masinõppe vald­kon­nas. Vek­to­ri­and­mete sal­ves­ta­misel ja hal­da­misel on siiski mõned väl­ja­kut­sed. Nende and­me­baaside esimene suur väl­ja­kutse on tra­dit­sioo­ni­liste di­gi­taal­sete and­me­ob­jek­tide tei­sen­da­mine numb­ri­lis­teks vek­to­ri­teks, mis täpselt esindavad nende and­me­ob­jek­tide omadusi. Siin tulevad mängu vektori sis­se­ehi­ta­tud mudelid.

Vektoreid võib mõista kui koor­di­naat­punkte mit­me­mõõt­me­li­ses ruumis. Kõrg­mõõt­me­list ruumi, kus asuvad vektorite and­me­baasis sal­ves­ta­tud vektorid, ni­me­ta­takse vektori sis­se­vii­miseks. Di­gi­taal­sest and­me­ob­jek­tist vastava vektori sis­se­vii­miseni jõud­miseks on vaja vektori sis­se­vii­mise mudelit. Vektori sis­se­vii­mise mudel on spet­sia­li­see­ri­tud masinõppe mudel, mis analüüsib and­me­ob­jekte ja ge­ne­ree­rib nende tähenduse ja konteksti põhjal sobiva vektori esi­tus­viisi.

Võtame näiteks vek­to­ri­and­me­ba­asi, mis salvestab ja ka­te­go­ri­see­rib sõnu. Sõnad „sushi” ja „pasta” on küll erineva kir­ja­pil­diga, kuid nende se­man­ti­line tähendus on sarnane. Seetõttu peaks sis­se­ehi­ta­tud mudel looma nende sõnade jaoks sarnased vektori sis­se­ehi­ta­tud mudelid. Selleks võiks mudel ana­lüü­sida teks­ti­list konteksti, milles mõlemad sõnad ta­va­li­selt esinevad.

Andmete otsimine vek­to­ri­and­me­baasist toimub sarnaselt andmete si­ses­ta­mi­sega. Embedding-mudel ge­ne­ree­rib päringu jaoks sobiva vektori (koor­di­naat­punkti kõr­ge­di­men­sioo­ni­li­ses ruumis). Seejärel ka­su­ta­takse vektorite jaoks spet­siaal­seid ma­te­maa­tilisi algoritme, et leida lähimad vektorid. Selline lä­he­ne­mine võimaldab otsida mitte ainult täpseid vasteid, vaid ka and­me­ob­jekte, mille vektorid on sarnased päringu vektoriga. Näiteks kui teete päringu „toit”, võivad tulemused sisaldada selliseid kirjeid nagu „pasta” ja „sushi”. Kui aga teete päringu „jaapani toit”, on päringu vektor palju lähemal „sushi” vektorile kui „pasta” vektorile.

Millised on vek­to­ri­and­me­baaside eelised?

Vek­to­ri­and­me­baasid, nagu ChromaDB, pakuvad tra­dit­sioo­ni­liste re­lat­sioo­ni­liste and­me­baasi­dega võrreldes mitmeid eeliseid, mis on eriti väär­tus­li­kud te­hisin­tel­lekti ra­ken­duste jaoks. Allpool arutame mõningaid neist ük­sik­as­ja­li­ku­malt.

Tõhus sarnasuse otsing

Esitades and­me­ob­jekti punktina kõr­ge­di­men­sioo­ni­li­ses ruumis, on võimalik rakendada vektori tööt­le­misele spet­sia­li­see­ru­nud algoritme. See võimaldab kiiresti ja tõhusalt tuvastada lähedal asuvaid vektoreid (või te­maa­ti­li­selt as­ja­ko­hast sisu). See võime on oluline sellistes ra­ken­dus­tes nagu pil­di­tu­vas­tus, kus on vaja tuvastada sarnaseid pilte, ning soo­vi­tus­süs­teemi­des, mis pakuvad välja sarnaseid tooteid või sisu.

Jõudlus ja ska­lee­ri­ta­vus

Vek­to­ri­and­me­baaside süsteemid kasutavad sageli mit­me­su­gu­seid tehnikaid, et tõhusalt kii­ren­dada päringute kiirust ja andmete tööt­le­mist. Lisaks kõr­ge­di­men­sioo­ni­liste vek­to­ri­and­mete tõhusale tööt­le­misele on vek­to­ri­and­me­baasid sageli ka­van­da­tud nii, et paljusid ope­rat­sioone saab teostada pa­ral­leel­selt. Komp­leks­sete andmete esitamine vek­to­ri­tena võimaldab ka väga kee­ru­liste and­me­st­ruk­tuu­ride tõhusat kä­sit­le­mist. Kok­ku­võt­tes aitavad need tehnikad kaasa sellele, et vek­to­ri­and­me­baasid suudavad sisaldada ja töödelda suuri and­me­hulki ilma olulise jõudluse kaotuseta.

Masinõppe mudelite in­teg­ree­ri­mine

Kuna neu­ro­võr­gud kasutavad sisendina ja väl­jun­dina sageli vektoreid, saab paljusid AI-mudeleid sujuvalt in­teg­ree­rida vek­to­ri­and­me­baasi­desse. See võimaldab mudeli sisendi ja väljundi otsest sal­ves­ta­mist, haldamist ja päringute tegemist, mis liht­sus­tab ja kiirendab AI-ra­ken­duste aren­da­mise ja ka­su­tuse­le­võtu protsessi.

Kus ka­su­ta­takse vek­to­ri­and­me­baase?

Üks tä­na­päe­val väga oluline vek­to­ri­and­me­baaside ka­su­tus­ala on masinõpe ja ge­ne­ra­tiivne te­hisin­tel­lekt. Ma­si­nõp­pes ka­su­ta­takse vek­to­ri­and­me­baase sar­na­suste ot­si­miseks, mis on vajalik selliste üles­an­nete jaoks nagu klas­si­fit­see­ri­mine, klastrite moo­dus­ta­mine ja soo­vi­tus­süs­tee­mid. Mudeleid saab treenida, et need suudaksid kiiresti tuvastada sarnaseid and­me­punkte ja teha nende põhjal ennustusi või otsuseid. Näiteks võib soo­vi­tus­algo­ritm põhineb vek­to­ri­and­me­baasil, et soovitada ka­su­ta­ja­tele tooteid või sisu, mis sarnaneb nende vara­se­ma­tele eelis­tus­tele.

Lisaks saab vek­to­ri­and­me­baase kasutada uute neu­ro­võrk­ude õppimise kii­ren­da­miseks. Vek­to­ri­and­me­baasid või­mal­da­vad väga suuri õp­pi­mis­and­meid tõhusalt hallata ja otsida, mis parandab oluliselt nii mudeli täpsust kui ka õppimise aega.

Üks konk­reetne rakendus, mis sellest op­ti­mee­ri­mi­sest kasu saab, on ge­ne­ra­tiiv­sed AI-mudelid, nagu OpenAI GPT. Need kasutavad vek­to­ri­and­me­baase, et tun­nus­tada andmetes keerukaid mustreid ja luua uut sisu. Vek­to­ri­and­me­baaside tõhususe kasv on nende süs­teemide toimimise sei­su­ko­halt otsustava täht­su­sega.

Tip

Suurte kee­le­mu­de­lite (LLM), nagu GPT, oluline puudus on kõrged koo­li­tus­ku­lud ja pikk koo­li­tus­aeg. Nende kahe teguri tõttu ei ole LLM-e võimalik re­gu­laar­selt aja­ko­haste andmetega ümber õpetada. Üks meetod selle puuduse kõr­val­da­miseks on otsingu abil täien­da­tud ge­ne­ree­ri­mine (RAG). Selle tehnika kohta leiate li­sa­tea­vet meie artiklist sellel teemal.

Go to Main Menu