stubs Vektoru datu bāzu loma mūsdienu ģeneratīvajās AI lietojumprogrammās — Unite.AI
Savienoties ar mums

Vispārējais mākslīgais intelekts

Vektoru datu bāzu loma mūsdienu ģeneratīvajās AI lietojumprogrammās

mm
Atjaunināts on
Vektoru datu bāzes iegulšanas vieta

Lai liela mēroga ģeneratīvās AI lietojumprogrammas darbotos efektīvi, tai ir nepieciešama laba sistēma, lai apstrādātu daudz datu. Viena no šādām svarīgām sistēmām ir vektoru datubāze. Šo datu bāzi atšķir tās spēja apstrādāt daudzu veidu datus, piemēram, tekstu, skaņu, attēlus un video skaitļu/vektoru formā.

Kas ir vektoru datu bāzes?

Vektoru datu bāze ir specializēta uzglabāšanas sistēma, kas izstrādāta, lai efektīvi apstrādātu augstas dimensijas vektorus. Šie vektori, kurus var uzskatīt par punktiem daudzdimensiju telpā, bieži vien ir sarežģītāku datu, piemēram, attēlu, teksta vai skaņas, iegulšanas vai saspiesti attēlojumi.

Vektoru datu bāzes nodrošina ātru līdzību meklēšanu starp šiem vektoriem, ļaujot ātri izgūt līdzīgākos vienumus no plašas datu kopas.

Tradicionālās datu bāzes salīdzinājumā ar vektoru datu bāzēm

Vektoru datu bāzes:

  • Apstrādā augstas dimensijas datus: vektoru datu bāzes ir paredzētas datu pārvaldībai un glabāšanai augstas dimensijas telpās. Tas ir īpaši noderīgi tādām lietojumprogrammām kā mašīnmācība, kur datu punktus (piemēram, attēlus vai tekstu) var attēlot kā vektorus daudzdimensiju telpās.
  • Optimizēta līdzības meklēšanai: Viena no vektoru datu bāzu iezīmēm ir to spēja veikt līdzību meklēšanu. Tā vietā, lai vaicātu datus, pamatojoties uz precīzām atbilstībām, šīs datu bāzes ļauj lietotājiem izgūt datus, kas ir “līdzīgi” konkrētajam vaicājumam, padarot tos nenovērtējamus tādos uzdevumos kā attēlu vai teksta izguve.
  • Mērogojams lielām datu kopām: Tā kā AI un mašīnmācīšanās lietojumprogrammas turpina pieaugt, pieaug arī to apstrādāto datu apjoms. Vektoru datu bāzes ir veidotas pēc mēroga, nodrošinot, ka tās var apstrādāt milzīgu datu apjomu, nekaitējot veiktspējai.

Tradicionālās datu bāzes:

  • Strukturēta datu krātuve: Tradicionālās datu bāzes, piemēram, relāciju datu bāzes, ir paredzētas strukturētu datu glabāšanai. Tas nozīmē, ka dati tiek sakārtoti iepriekš noteiktās tabulās, rindās un kolonnās, nodrošinot datu integritāti un konsekvenci.
  • Optimizēts CRUD operācijām: Tradicionālās datu bāzes galvenokārt ir optimizētas CRUD darbībām. Tas nozīmē, ka tie ir paredzēti, lai efektīvi izveidotu, lasītu, atjauninātu un dzēstu datu ierakstus, padarot tos piemērotus plašam lietojumu klāstam, sākot no tīmekļa pakalpojumiem līdz uzņēmuma programmatūrai.
  • Fiksētā shēma: Viens no daudzu tradicionālo datu bāzu raksturojošajiem raksturlielumiem ir to fiksētā shēma. Kad datu bāzes struktūra ir definēta, izmaiņu veikšana var būt sarežģīta un laikietilpīga. Šī stingrība nodrošina datu konsekvenci, taču tā var būt mazāk elastīga nekā dažu mūsdienu datu bāzu dinamiskās shēmas raksturs.

Tradicionālās datu bāzes bieži cīnās ar iegulšanas sarežģītību, kas ir izaicinājums, ko viegli risina vektoru datu bāzes.

Vektoru attēlojumi

Vektoru datu bāzu darbības centrā ir pamatkoncepcija par dažādu datu formu attēlošanu, izmantojot ciparu vektorus. Ņemsim attēlu kā piemēru. Kad redzat kaķa attēlu, lai gan tas mums varētu būt vienkārši burvīgs kaķa attēls, mašīnai to var pārveidot par unikālu 512 dimensiju vektoru, piemēram:

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

Izmantojot vektoru datu bāzes, ģeneratīvā AI lietojumprogramma var paveikt vairāk. Tas var atrast informāciju, pamatojoties uz nozīmi, un atcerēties lietas ilgu laiku. Interesanti, ka šī metode neaprobežojas tikai ar attēliem. Teksta datus, kas piepildīti ar kontekstuālām un semantiskām nozīmēm, var ievietot arī vektoru formās.

Ģeneratīvs AI un vektoru datu bāzu nepieciešamība

Ģeneratīvā AI bieži ietver iegulšanu. Ņemiet, piemēram, vārdu iegulšanu dabiskās valodas apstrādē (NLP). Vārdi vai teikumi tiek pārveidoti vektoros, kas uztver semantisko nozīmi. Ģenerējot cilvēkiem līdzīgu tekstu, modeļiem ir ātri jāsalīdzina un jāatgūst attiecīgie ieguljumi, nodrošinot, ka ģenerētais teksts saglabā kontekstuālas nozīmes.

Līdzīgi attēla vai skaņas ģenerēšanā iegulumiem ir izšķiroša nozīme modeļu un funkciju kodēšanā. Lai šie modeļi darbotos optimāli, tiem ir nepieciešama datu bāze, kas ļauj nekavējoties izgūt līdzīgus vektorus, padarot vektoru datu bāzes par būtisku ģeneratīvās AI mīklas sastāvdaļu.

Iegulumu izveide dabiskajai valodai parasti ietver iepriekš apmācītu modeļu izmantošanu, piemēram:

  • GPT-3 un GPT-4: OpenAI GPT-3 (Generative Pre-trained Transformer 3) ir bijis monumentāls modelis NLP kopienā ar 175 miljardiem parametru. Pēc tam GPT-4 ar vēl lielāku parametru skaitu turpina virzīt robežas augstas kvalitātes iegulšanu radīšanā. Šie modeļi ir apmācīti par dažādām datu kopām, ļaujot tiem izveidot iegulšanu, kas aptver plašu lingvistisko nianšu klāstu.
  • BERT un tās varianti: BERT (Bidirectional Encoder Representations from Transformers), ko piedāvā Google, ir vēl viens nozīmīgs modelis, kas ir pieredzējis dažādus atjauninājumus un atkārtojumus, piemēram, RoBERTa un DistillBERT. BERT divvirzienu apmācība, kas nolasa tekstu abos virzienos, ir īpaši piemērota vārda konteksta izpratnei.
  • ELECTRA: jaunāks modelis, kas ir efektīvs un darbojas līdzvērtīgi daudz lielākiem modeļiem, piemēram, GPT-3 un BERT, vienlaikus prasot mazāk skaitļošanas resursu. ELECTRA pirmsapmācības laikā nošķir reālus un viltus datus, kas palīdz ģenerēt precīzākus iegulumus.

Iepriekš minētā procesa izpratne:

Sākotnēji tiek izmantots iegulšanas modelis, lai pārveidotu vēlamo saturu vektoru iegulumos. Pēc ģenerēšanas šīs iegulšanas tiek saglabātas vektoru datu bāzē. Lai atvieglotu izsekojamību un atbilstību, šīs saglabātās iegulšanas saglabā saiti vai atsauci uz sākotnējo saturu, no kura tie tika iegūti.

Vēlāk, kad lietotājs vai sistēma lietojumprogrammai uzdod jautājumu, tas pats iegulšanas modelis sāk darboties. Tas pārveido šo vaicājumu atbilstošos iegulumos. Šie jaunizveidotie ieguljumi pēc tam meklē vektoru datu bāzē, meklējot līdzīgus vektoru attēlojumus. Iegulumiem, kas identificēti kā atbilstības, ir tieša saistība ar to sākotnējo saturu, nodrošinot, ka lietotāja vaicājums tiek izpildīts ar atbilstošiem un precīziem rezultātiem.

Pieaugošs finansējums vektoru datu bāzes jaunpienācējiem

Pieaugot mākslīgā intelekta popularitātei, daudzi uzņēmumi iegulda vairāk naudas vektoru datubāzēs, lai padarītu savus algoritmus labākus un ātrākus. To var redzēt ar nesenajām investīcijām vektoru datu bāzu jaunuzņēmumos, piemēram Priežu čiekurs, Chroma DB, un Weviate.

Lielai sadarbībai, piemēram, Microsoft, ir arī savi rīki. Piemēram, Azure Kognitīvā meklēšana ļauj uzņēmumiem izveidot AI rīkus, izmantojot vektoru datu bāzes.

Oracle arī nesen paziņoja par jaunām tā funkcijām Datu bāze 23c, ieviešot integrēto vektoru datu bāzi. Ar nosaukumu “AI vektoru meklēšana” tam būs jauns datu tips, indeksi un meklēšanas rīki, lai saglabātu un meklētu datus, piemēram, dokumentus un attēlus, izmantojot vektorus. Tā atbalsta Atgūšanas paplašinātā paaudze (RAG), kas apvieno lielus valodu modeļus ar biznesa datiem, lai iegūtu labākas atbildes uz jautājumiem par valodu, nekoplietojot privātos datus.

Galvenie vektoru datu bāzu apsvērumi

Attāluma metrika

Līdzības meklēšanas efektivitāte ir atkarīga no izvēlētās attāluma metrikas. Kopējie rādītāji ietver Eiklīda attālums un kosinusa līdzība, katrs nodrošina dažāda veida vektoru sadalījumu.

Indeksācija

Ņemot vērā vektoru lielo dimensiju, tradicionālās indeksēšanas metodes to nesamazina. Vektoru datubāzēs tiek izmantotas tādas metodes kā Hierarhiskā navigējamā mazā pasaule (HNSW) grafiki vai Kaitina kokus, kas ļauj efektīvi sadalīt vektoru telpu un ātri meklēt tuvāko kaimiņu.

Kaitina koks

Kaitina koks (avots)

Annoy ir metode, kas izmanto to, ko sauc par binārajiem meklēšanas kokiem. Tas daudzkārt sadala mūsu datu telpu un aplūko tikai daļu no tās, lai atrastu tuvus kaimiņus.

Hierarhiskās navigējamās mazās pasaules (HNSW) grafiki

Hierarhiskās navigējamās mazās pasaules (HNSW) diagrammas (avots)

No otras puses, HNSW grafiki ir kā tīkli. Tie savieno datu punktus īpašā veidā, lai paātrinātu meklēšanu. Šīs diagrammas palīdz ātri atrast tuvus punktus datos.

Mērogojamība

Pieaugot datu kopām, pieaug izaicinājums nodrošināt ātru izguves laiku. Izkliedētās sistēmas, GPU paātrinājums un optimizēta atmiņas pārvaldība ir daži veidi, kā vektoru datu bāzes risina mērogojamību.

Vektoru datu bāzu loma: sekas un iespējas

1. Mācību dati jaunākajām prasībām Ģeneratīvie AI modeļi: Ģeneratīvie AI modeļi, piemēram, DALL-E un GPT-3, tiek apmācīti, izmantojot milzīgu datu apjomu. Šie dati bieži ietver vektorus, kas iegūti no neskaitāmiem avotiem, tostarp attēliem, tekstiem, koda un citiem domēniem. Vektoru datu bāzes rūpīgi pārvalda un pārvalda šīs datu kopas, ļaujot AI modeļiem asimilēt un analizēt pasaules zināšanas, identificējot modeļus un attiecības šajos vektoros.

2. Dažu metienu apmācības veicināšana: Mācīšanās ar dažiem kadriem ir AI apmācības paņēmiens, kurā modeļi tiek apmācīti ar ierobežotiem datiem. Vektoru datu bāzes pastiprina šo pieeju, uzturot stabilu vektoru indeksu. Ja modelis ir pakļauts tikai nedaudziem vektoriem, piemēram, dažiem putnu attēliem, tas var ātri ekstrapolēt plašāku putnu jēdzienu, atpazīstot līdzības un attiecības starp šiem vektoriem.

3. Ieteicēju sistēmu uzlabošana: Ieteikumu sistēmas izmanto vektoru datu bāzes, lai ieteiktu saturu, kas ir cieši saskaņots ar lietotāja vēlmēm. Analizējot lietotāja uzvedību, profilu un vaicājumus, tiek iegūti vektori, kas norāda uz viņa interesēm. Pēc tam sistēma skenē vektoru datu bāzi, lai atrastu satura vektorus, kas ļoti līdzinās šiem interešu vektoriem, nodrošinot precīzus ieteikumus.

4. Semantiskais Informācijas iegūšana: Tradicionālās meklēšanas metodes balstās uz precīzu atslēgvārdu atbilstību. Tomēr vektoru datu bāzes ļauj sistēmām saprast un izgūt saturu, pamatojoties uz semantisko līdzību. Tas nozīmē, ka meklēšana kļūst intuitīvāka, koncentrējoties uz vaicājuma pamatjēgu, nevis tikai vārdu saskaņošanu. Piemēram, kad lietotāji ievada vaicājumu, attiecīgais vektors tiek salīdzināts ar vektoriem datu bāzē, lai atrastu saturu, kas rezonē ar vaicājuma nolūku, nevis tikai tā formulējumu.

5. Multimodālā meklēšana: Multimodāla meklēšana ir jauna tehnika, kas integrē datus no vairākiem avotiem, piemēram, tekstu, attēlu, audio un video. Vektoru datu bāzes kalpo kā šīs pieejas pamats, ļaujot kombinēt vektoru analīzi no dažādām modalitātēm. Tādējādi tiek nodrošināta holistiska meklēšanas pieredze, kurā lietotāji var izgūt informāciju no dažādiem avotiem, pamatojoties uz vienu vaicājumu, tādējādi nodrošinot plašāku ieskatu un visaptverošākus rezultātus.

Secinājumi

AI pasaule strauji mainās. Tas skar daudzas nozares, nesot labas lietas un jaunas problēmas. Straujie sasniegumi ģeneratīvā mākslīgā intelekta jomā uzsver vektoru datu bāzu būtisko lomu daudzdimensiju datu pārvaldībā un analīzē.

Pēdējos piecus gadus esmu pavadījis, iegremdējot sevi aizraujošajā mašīnmācīšanās un dziļās mācīšanās pasaulē. Mana aizraušanās un pieredze lika man piedalīties vairāk nekā 50 dažādos programmatūras inženierijas projektos, īpašu uzmanību pievēršot AI/ML. Mana pastāvīgā ziņkārība mani ir piesaistījusi arī dabiskās valodas apstrādei, jomai, kuru vēlos izpētīt tālāk.