stub Vektorinių duomenų bazių vaidmuo šiuolaikinėse generacinėse AI programose – Unite.AI
Susisiekti su mumis

Bendrasis dirbtinis intelektas

Vektorinių duomenų bazių vaidmuo šiuolaikinėse generacinėse AI programose

mm
Atnaujinta on
Vektorinės duomenų bazės įterpimo erdvė

Kad didelio masto Generative AI programos veiktų efektyviai, reikia geros sistemos, kuri tvarkytų daug duomenų. Viena iš tokių svarbių sistemų yra vektorinė duomenų bazė. Šią duomenų bazę išskiria galimybė tvarkyti daugelio tipų duomenis, pvz., tekstą, garsą, paveikslėlius ir vaizdo įrašus skaičių / vektorių forma.

Kas yra vektorinės duomenų bazės?

Vektorių duomenų bazė yra specializuota saugojimo sistema, skirta efektyviai apdoroti didelių matmenų vektorius. Šie vektoriai, kurie gali būti laikomi taškais daugiamatėje erdvėje, dažnai yra sudėtingesnių duomenų, pvz., vaizdų, teksto ar garso, įterpimai arba suspausti atvaizdai.

Vektorinės duomenų bazės leidžia greitai ieškoti panašumų tarp šių vektorių, todėl iš didžiulio duomenų rinkinio galima greitai gauti panašiausius elementus.

Tradicinės duomenų bazės ir vektorinės duomenų bazės

Vektorinės duomenų bazės:

  • Tvarko didelių matmenų duomenis: Vektorinės duomenų bazės skirtos duomenims valdyti ir saugoti didelės apimties erdvėse. Tai ypač naudinga tokioms programoms kaip mašininis mokymasis, kai duomenų taškai (pvz., vaizdai ar tekstas) gali būti pavaizduoti kaip vektoriai daugiamatėse erdvėse.
  • Optimizuota panašumų paieškai: Viena išskirtinių vektorinių duomenų bazių savybių yra jų galimybė atlikti panašumo paieškas. Vietoj duomenų, pagrįstų tiksliomis atitiktimis, šios duomenų bazės leidžia vartotojams gauti duomenis, kurie yra „panašūs“ į pateiktą užklausą, todėl jie yra neįkainojami atliekant tokias užduotis kaip vaizdo ar teksto paieška.
  • Pritaikomas dideliems duomenų rinkiniams: Didėjant dirbtiniam intelektui ir mašininio mokymosi programoms, didėja ir jų apdorojamų duomenų kiekis. Vektorinės duomenų bazės sukurtos pagal mastelį, užtikrinant, kad jos gali apdoroti didelius duomenų kiekius nepakenkiant našumui.

Tradicinės duomenų bazės:

  • Struktūrizuota duomenų saugykla: Tradicinės duomenų bazės, kaip ir reliacinės duomenų bazės, yra skirtos struktūriniams duomenims saugoti. Tai reiškia, kad duomenys yra suskirstyti į iš anksto nustatytas lenteles, eilutes ir stulpelius, užtikrinant duomenų vientisumą ir nuoseklumą.
  • Optimizuotas CRUD operacijoms: Tradicinės duomenų bazės pirmiausia optimizuotos CRUD operacijoms. Tai reiškia, kad jie skirti efektyviai kurti, skaityti, atnaujinti ir ištrinti duomenų įrašus, todėl jie tinka įvairioms programoms – nuo ​​žiniatinklio paslaugų iki įmonės programinės įrangos.
  • Ištaisyta schema: Viena iš daugelio tradicinių duomenų bazių charakteristikų yra jų fiksuota schema. Apibrėžus duomenų bazės struktūrą, pakeitimų atlikimas gali būti sudėtingas ir atima daug laiko. Šis nelankstumas užtikrina duomenų nuoseklumą, bet gali būti ne toks lankstus, kaip kai kurių šiuolaikinių duomenų bazių be schemų arba dinaminės schemos.

Tradicinės duomenų bazės dažnai susiduria su įterpimų sudėtingumu, o tai iššūkis, kurį lengvai sprendžia vektorinės duomenų bazės.

Vektorinės vaizdinės

Pagrindinė vektorinių duomenų bazių veikimo dalis yra pagrindinė įvairių formų duomenų pateikimo naudojant skaitmeninius vektorius koncepcija. Paimkime vaizdą kaip pavyzdį. Kai matote katės nuotrauką, nors tai mums gali būti tiesiog žavingas katės vaizdas, mašinai jis gali būti paverstas unikaliu 512 matmenų vektoriumi, pavyzdžiui:

[0.23, 0.54, 0.32, …, 0.12, 0.45, 0.90]

Naudodama vektorines duomenų bazes, „Generative AI“ programa gali atlikti daugiau dalykų. Jis gali rasti informaciją, pagrįstą prasme, ir ilgai prisiminti dalykus. Įdomu tai, kad šis metodas neapsiriboja vien vaizdais. Tekstiniai duomenys, užpildyti kontekstinėmis ir semantinėmis reikšmėmis, taip pat gali būti sudėti į vektorines formas.

Generatyvusis AI ir vektorinių duomenų bazių poreikis

Generatyvusis AI dažnai apima įterpimus. Paimkite, pavyzdžiui, žodžių įterpimą natūralios kalbos apdorojime (NLP). Žodžiai ar sakiniai paverčiami vektoriais, kurie fiksuoja semantinę prasmę. Kuriant į žmogų panašų tekstą, modeliai turi greitai palyginti ir gauti atitinkamus įterpimus, užtikrinant, kad sukurtas tekstas išlaikytų kontekstines reikšmes.

Panašiai, kuriant vaizdą ar garsą, įterpimai atlieka lemiamą vaidmenį koduojant šablonus ir funkcijas. Kad šie modeliai veiktų optimaliai, jiems reikalinga duomenų bazė, leidžianti akimirksniu gauti panašius vektorius, todėl vektorinės duomenų bazės yra esminė generatyvinio AI galvosūkio sudedamoji dalis.

Kuriant natūralios kalbos įterpimus paprastai reikia naudoti iš anksto paruoštus modelius, tokius kaip:

  • GPT-3 ir GPT-4: OpenAI GPT-3 (Generative Pre-trained Transformer 3) buvo puikus modelis NLP bendruomenėje su 175 milijardais parametrų. Po jo GPT-4 su dar didesniu parametrų skaičiumi ir toliau stumia ribas kurdamas aukštos kokybės įterpimus. Šie modeliai yra apmokyti naudojant įvairius duomenų rinkinius, todėl jie gali sukurti įterpimus, kurie fiksuoja daugybę kalbinių niuansų.
  • BERT ir jo variantai: ETRI „Google“ („Dvikryptis kodavimo priemonės iš Transformatorių“) yra dar vienas reikšmingas modelis, kuriame buvo įvairių atnaujinimų ir iteracijų, tokių kaip „RoBERTa“ ir „DistillBERT“. BERT dvikryptis mokymas, kuris skaito tekstą abiem kryptimis, yra ypač tinkamas suprasti kontekstą, supantį žodį.
  • ELECTRA: naujesnis modelis, kuris yra efektyvus ir veikia kaip daug didesni modeliai, pvz., GPT-3 ir BERT, o jam reikia mažiau skaičiavimo išteklių. ELECTRA Išankstinio mokymo metu atskiria tikrus ir netikrus duomenis, o tai padeda sukurti patobulintus įterpimus.

Suprasti aukščiau pateiktą procesą:

Iš pradžių naudojamas įterpimo modelis, norint transformuoti norimą turinį į vektorinius įterpimus. Sugeneravus šiuos įterpimus, jie saugomi vektorinėje duomenų bazėje. Kad būtų lengviau atsekti ir būti aktualūs, šie saugomi įterpimai palaiko nuorodą arba nuorodą į pradinį turinį, iš kurio jie buvo gauti.

Vėliau, kai vartotojas ar sistema pateikia klausimą programai, tas pats įterpimo modelis pradeda veikti. Ji paverčia šią užklausą į atitinkamus įterpimus. Tada šie naujai suformuoti įterpimai ieško vektorių duomenų bazėje, ieškodami panašių vektorinių vaizdų. Įterpimai, identifikuoti kaip atitiktys, yra tiesiogiai susiję su jų pirminiu turiniu, todėl naudotojo užklausa bus patenkinta atitinkamais ir tiksliais rezultatais.

Didėjantis finansavimas vektorinių duomenų bazių naujokams

Augant AI populiarumui, daugelis įmonių investuoja daugiau pinigų į vektorines duomenų bazes, kad jų algoritmai būtų geresni ir greitesni. Tai matyti iš pastarųjų metų investicijų į vektorinių duomenų bazių startuolius, tokius kaip Pušis, Chroma DBir Weviate.

Didelis bendradarbiavimas, pavyzdžiui, „Microsoft“, taip pat turi savo įrankius. Pavyzdžiui, Azure Cognitive Search leidžia įmonėms kurti AI įrankius naudojant vektorines duomenų bazes.

„Oracle“ taip pat neseniai paskelbė apie naujas savo funkcijas Duomenų bazė 23c, pristato integruotą vektorinę duomenų bazę. Pavadinta „AI Vector Search“, ji turės naują duomenų tipą, indeksus ir paieškos įrankius, skirtus saugoti ir ieškoti duomenų, pvz., dokumentų ir vaizdų naudojant vektorius. Tai palaiko Papildyta karta (RAG), kuriame dideli kalbų modeliai derinami su verslo duomenimis, kad būtų galima geriau atsakyti į kalbos klausimus, nesidalinant privačiais duomenimis.

Pagrindinės vektorinių duomenų bazių nuostatos

Atstumo metrika

Panašumo paieškos efektyvumas priklauso nuo pasirinktos atstumo metrikos. Įprastos metrikos apima Euklido atstumas ir kosinuso panašumas, kiekvienas atitinka skirtingus vektorių pasiskirstymo tipus.

Indeksavimo

Atsižvelgiant į didelį vektorių matmenį, tradiciniai indeksavimo metodai jo nesumažina. Vektorinės duomenų bazės naudoja tokius metodus kaip Hierarchinis navigacinis mažas pasaulis (HNSW) grafikai arba Erzina medžiai, leidžianti efektyviai padalinti vektorinę erdvę ir greitai ieškoti artimiausio kaimyno.

Erzina medis

erzinantis medis (Šaltinis)

Annoy yra metodas, kuris naudoja tai, kas vadinama dvejetainiais paieškos medžiais. Ji daug kartų padalija mūsų duomenų erdvę ir žiūri tik į jos dalį, kad surastų artimus kaimynus.

Hierarchiniai navigaciniai mažojo pasaulio (HNSW) grafikai

Hierarchiniai navigaciniai mažojo pasaulio (HNSW) grafikai (Šaltinis)

Kita vertus, HNSW grafikai yra kaip tinklai. Jie ypatingu būdu sujungia duomenų taškus, kad paieška būtų greitesnė. Šios grafikos padeda greitai surasti artimus duomenų taškus.

Mastelis

Duomenų rinkiniams didėjant, didėja ir greito paieškos laiko išlaikymo iššūkis. Paskirstytos sistemos, GPU spartinimas ir optimizuotas atminties valdymas yra keletas būdų, kaip vektorinės duomenų bazės sprendžia mastelio keitimą.

Vektorinių duomenų bazių vaidmuo: pasekmės ir galimybės

1. Mokomieji duomenys, skirti pažangiausioms technologijoms Generatyvieji AI modeliai: Generatyvieji AI modeliai, tokie kaip DALL-E ir GPT-3, yra mokomi naudojant didžiulius duomenų kiekius. Šiuos duomenis dažnai sudaro vektoriai, išgauti iš daugybės šaltinių, įskaitant vaizdus, ​​tekstus, kodą ir kitus domenus. Vektorinės duomenų bazės kruopščiai kuruoja ir valdo šiuos duomenų rinkinius, leisdamos AI modeliams įsisavinti ir analizuoti pasaulio žinias, nustatant modelius ir ryšius šiuose vektoriuose.

2. Mokymosi keliu pažanga: Mokymasis iš kelių kartų yra AI mokymo technika, kai modeliai mokomi naudojant ribotus duomenis. Vektorinės duomenų bazės sustiprina šį metodą, išlaikydamos patikimą vektorinį indeksą. Kai modelis yra veikiamas tik kelių vektorių, tarkime, kelių paukščių vaizdų, jis gali greitai ekstrapoliuoti platesnę paukščių sampratą, atpažindamas šių vektorių panašumus ir ryšius.

3. Rekomendavimo sistemų tobulinimas: Rekomendavimo sistemos naudoja vektorines duomenų bazes, kad pasiūlytų turinį, glaudžiai suderintą su vartotojo pageidavimais. Analizuojant vartotojo elgesį, profilį ir užklausas, išgaunami jo interesus nurodantys vektoriai. Tada sistema nuskaito vektorių duomenų bazę, kad surastų turinio vektorius, labai panašius į šiuos interesų vektorius, užtikrindama tikslias rekomendacijas.

4. Semantinė Informacijos paieška: Tradiciniai paieškos metodai remiasi tiksliomis raktinių žodžių atitiktimis. Tačiau vektorinės duomenų bazės suteikia sistemoms galimybę suprasti ir gauti turinį, pagrįstą semantiniu panašumu. Tai reiškia, kad paieškos tampa intuityvesnės, sutelkiant dėmesį į pagrindinę užklausos prasmę, o ne tik į atitinkamus žodžius. Pavyzdžiui, kai vartotojai įveda užklausą, atitinkamas vektorius lyginamas su vektoriais duomenų bazėje, kad būtų galima rasti turinį, atitinkantį užklausos tikslą, o ne tik jos frazę.

5. Multimodalinė paieška: Multimodalinė paieška yra nauja technika, integruojanti duomenis iš kelių šaltinių, pvz., teksto, vaizdų, garso ir vaizdo įrašų. Vektorinės duomenų bazės yra šio požiūrio pagrindas, nes leidžia kartu analizuoti įvairių metodų vektorius. Taip pasiekiama holistinė paieškos patirtis, kai naudotojai gali gauti informaciją iš įvairių šaltinių pagal vieną užklausą ir gauti išsamesnių įžvalgų ir išsamesnių rezultatų.

Išvada

AI pasaulis greitai keičiasi. Tai paliečia daugelį pramonės šakų, atneša gerų dalykų ir naujų problemų. Sparti Generative AI pažanga pabrėžia gyvybiškai svarbų vektorinių duomenų bazių vaidmenį tvarkant ir analizuojant daugiamačius duomenis.

Pastaruosius penkerius metus praleidau pasinerdamas į žavų mašininio mokymosi ir giluminio mokymosi pasaulį. Mano aistra ir patirtis paskatino mane prisidėti prie daugiau nei 50 įvairių programinės įrangos inžinerijos projektų, ypatingą dėmesį skiriant AI/ML. Mano nuolatinis smalsumas taip pat patraukė mane į natūralios kalbos apdorojimą – sritį, kurią noriu tyrinėti toliau.