AGI og fremtidens AI

Rollen til vektorbaserte databaser i moderne generative AI-applikasjoner

mm
Legg til Unite.AI blant dine foretrukne kilder på Google

For å få stor skala generative AI-applikasjoner til å fungere effektivt, trenger det et godt system for å håndtere store mengder data. Et slikt viktig system er vektorbasert database. Det som skiller denne databasen fra andre er dens evne til å håndtere mange typer data, som tekst, lyd, bilder og videoer, i en numerisk vektorform.

Hva er vektorbaserte databaser?

Vektorbasert database er et spesialisert lagringssystem designet for å håndtere høydimensjonale vektorer effektivt. Disse vektorer, som kan betraktes som punkter i et flerdimensjonalt rom, representerer ofte innpakning eller komprimerte representasjoner av mer komplekse data, som bilder, tekst eller lyd.

Vektorbaserte databaser tillater rask søk etter liknende vektorer, og gjør det mulig å hente ut de mest liknende elementene fra en stor datasett.

Tradisjonelle databaser vs. vektorbaserte databaser

Vektorbaserte databaser:

  • Håndtering av høydimensjonale data: Vektorbaserte databaser er designet for å håndtere og lagre data i høydimensjonale rom. Dette er spesielt nyttig for applikasjoner som maskinlæring, der datapunkter (som bilder eller tekst) kan representeres som vektorer i flerdimensjonale rom.
  • Optimalisert for søk etter liknende vektorer: En av de mest fremtredende egenskapene ved vektorbaserte databaser er deres evne til å utføre søk etter liknende vektorer. I stedet for å søke etter data basert på eksakte treff, tillater disse databasene brukerne å hente ut data som er “liknende” en gitt forespørsel, og gjør dem uvurderlige for oppgaver som bilde- eller tekstgjenkjenning.
  • Skalbarhet for store datasett: Ettersom AI- og maskinlæringapplikasjoner fortsetter å vokse, øker også mengden data de behandler. Vektorbaserte databaser er bygget for å skalere, og sikrer at de kan håndtere store mengder data uten å gå på kompromiss med ytelsen.

Tradisjonelle databaser:

  • Strukturert data lagring: Tradisjonelle databaser, som relasjonsdatabaser, er designet for å lagre strukturert data. Dette betyr at data er organisert i forhåndsdefinerte tabeller, rader og kolonner, og sikrer dataintegritet og konsistens.
  • Optimalisert for CRUD-operasjoner: Tradisjonelle databaser er primært optimalisert for CRUD-operasjoner. Dette betyr at de er designet for å effektivt opprette, lese, oppdatere og slette dataposter, og gjør dem egnet for en rekke applikasjoner, fra websider til bedriftsprogramvare.
  • Faste skjema: En av de definerende egenskapene ved mange tradisjonelle databaser er deres faste skjema. Når databasestrukturen er definert, kan det være komplekst og tidskrevende å gjøre endringer. Denne rigiditeten sikrer datakonsistens, men kan være mindre fleksibel enn skjema-løse eller dynamiske skjema i noen moderne databaser.

Tradisjonelle databaser har ofte problemer med kompleksiteten ved innpakning, en utfordring som lett kan håndteres av vektorbaserte databaser.

Veektorelle representasjoner

Sentrale for funksjonen av vektorbaserte databaser er det grunnleggende konseptet om å representere ulike former for data ved hjelp av numeriske vektorer. La oss ta et bilde som eksempel. Når du ser på et bilde av en katt, kan det for en maskin bli transformert til en unik 512-dimensjonal vektor, som:

[0,23, 0,54, 0,32, …, 0,12, 0,45, 0,90]

Med vektorbaserte databaser kan generative AI-applikasjoner gjøre mer. De kan finne informasjon basert på mening og huske ting over lang tid. Interessant nok er denne metoden ikke begrenset til bilder alene. Tekstlige data fylt med kontekstuelle og semantiske betydninger kan også bli lagt i vektorformer.

Generative AI og behovet for vektorbaserte databaser

Generative AI innebærer ofte innpakning. La oss ta ordinnpakning i naturlig språkbehandling (NLP) som eksempel. Ord eller setninger blir transformert til vektorer som fanger semantisk mening. Når generative modeller skal produsere menneskelignende tekst, må de raskt sammenligne og hente ut relevante innpakninger, og sikre at den produserte teksten beholder kontekstuelle betydninger.

Tilsvarende, i bilde- eller lydgjenkjenning, spiller innpakning en avgjørende rolle i å kode mønster og egenskaper. For at disse modellene skal fungere optimalt, trenger de en database som tillater øyeblikkelig henting av like vektorer, og gjør vektorbaserte databaser til en essensiell komponent i generative AI-puslespillet.

Opprettelse av innpakninger for naturlig språk vanligvis innebærer å bruke forhåndsdefinerte modeller som:

  • GPT-3 og GPT-4: OpenAI’s GPT-3 (Generative Pre-trained Transformer 3) har vært et monumentalt modell i NLP-samfunnet med 175 milliarder parametre. Etter det, GPT-4, med enda flere parametre, fortsetter å drive grensene for å produsere høykvalitetsinnpakninger. Disse modellene er trent på diverse datasett, og gjør det mulig for dem å produsere innpakninger som fanger en rekke lingvistiske nyanser.
  • BERT og dens varianter: BERT (Bidirectional Encoder Representations from Transformers) fra Google (GOOGL ), er et annet betydelig modell som har sett flere oppdateringer og iterasjoner som RoBERTa og DistillBERT. BERTs toveis trening, som leser tekst i begge retninger, er spesielt dyktig til å forstå konteksten rundt et ord.
  • ELECTRA: Et mer nylig modell som er effektivt og utfører like godt som større modeller som GPT-3 og BERT, samtidig som det krever færre beregningsressurser. ELECTRA skiller mellom ekte og falske data under forhåndsdefinert trening, og hjelper til å produsere mer raffinerte innpakninger.

Forståelse av ovennevnte prosess:

Først blir en innpakningsmodell brukt til å transformere ønsket innhold til vektorelle innpakninger. Når disse innpakningene er generert, blir de lagret i en vektorbasert database. For enkel sporing og relevans, beholder disse lagrede innpakningene en kobling eller referanse til det opprinnelige innholdet de ble avledet fra.

Senere, når en bruker eller system stiller et spørsmål til applikasjonen, kommer samme innpakningsmodell i aksjon. Den transformerer denne forespørselen til tilhørende innpakninger. Disse nydannede innpakningene søker så i vektorbasert database etter like vektorelle representasjoner. Innpakningene som blir funnet som treff, har en direkte assosiasjon med deres opprinnelige innhold, og sikrer at brukerens forespørsel møtes med relevante og nøyaktige resultater.

Økende investeringer i vektorbaserte databaser

Med AI’s økende popularitet, setter mange selskaper mer penger i vektorbaserte databaser for å forbedre sine algoritmer og gjøre dem raskere. Dette kan sees i de nylige investeringene i vektorbaserte database-startups som Pinecone, Chroma DB og Weviate.

Store selskaper som Microsoft (MSFT ) har også sine egne verktøy. For eksempel, lar Azure Cognitive Search bedrifter opprette AI-verktøy ved hjelp av vektorbaserte databaser.

Oracle (ORCL ) har nylig annonsert nye funksjoner for sin Database 23c, og introduserte en integrert vektorbasert database. Den kalles “AI Vector Search”, og vil ha en ny datatyp, indekser og søkeverktøy for å lagre og søke gjennom data som dokumenter og bilder ved hjelp av vektorer. Den støtter Retrieval Augmented Generation (RAG), som kombinerer store språkmodeller med bedriftsdata for å gi bedre svar på språkspørsmål uten å dele private data.

Primære overveielser for vektorbaserte databaser

Avgjørelsesmetrikker

Effektiviteten av et søk etter liknende vektorer avhenger av det valgte avgjørelsesmetrikken. Vanlige metrikker inkluderer Euclidisk avstand og kosinuslikhet, hver tilpasset forskjellige typer vektordistribusjoner.

Indeksering

Gitt den høye dimensjonaliteten til vektorer, fungerer tradisjonelle indekseringsmetoder ikke. Vektorbaserte databaser bruker tekniker som Hierarkisk Navigerbar Liten Verden (HNSW)-grafer eller ANNOY-trær, som tillater effektiv partitionering av vektorrommet og rask nærmeste nabo-søk.

ANNOY-tre

ANNOY-tre (Kilde)

ANNOY er en metode som bruker binære søketær. Den splitter vårt dataspace mange ganger og ser bare på en del av det for å finne nærmeste naboer.

Hierarkisk Navigerbar Liten Verden (HNSW)-grafer

Hierarkisk Navigerbar Liten Verden (HNSW)-grafer (Kilde)

HNSW-grafer, på den andre siden, er som nettverk. De kobler datapunkter på en spesiell måte for å gjøre søking raskere. Disse grafene hjelper til å finne nærmeste punkter i data raskt.

Skalbarhet

Ettersom datasett vokser, øker også utfordringen med å opprettholde rask hentingstid. Distribuerte systemer, GPU-akselerasjon og optimalt minnehåndtering er noen måter vektorbaserte databaser takler skalbarhet.

Rollen til vektorbaserte databaser: Implikasjoner og muligheter

1. Treningdata for fremtredende generative AI-modeller: Generative AI-modeller, som DALL-E og GPT-3, blir trent ved hjelp av store mengder data. Disse dataene består ofte av vektorer utviklet fra en rekke kilder, inkludert bilder, tekst, kode og andre domener. Vektorbaserte databaser kuraterer og håndterer disse datasettene nøye, og lar AI-modellene assimilere og analysere verdens kunnskap ved å identifisere mønster og relasjoner innen disse vektorer.

2. Fremme av few-shot læring: Few-shot læring er en AI-treningsteknikk der modeller blir trent med begrenset data. Vektorbaserte databaser forsterker denne tilnærmingen ved å opprettholde en robust vektorindeks. Når en modell blir eksponert for bare noen få vektorer – for eksempel noen bilder av fugler – kan den raskt utvide det bredere konseptet om fugler ved å gjenkjenne likheter og relasjoner mellom disse vektorer.

3. Forbedring av anbefalingsystemer: Anbefalingsystemer bruker vektorbaserte databaser for å foreslå innhold som er nært knyttet til en brukers preferanser. Ved å analysere en brukers atferd, profil og forespørsler, blir vektorer som indikerer deres interesser utviklet. Systemet søker så i vektorbasert database for å finne innholdvektorer som ligner på disse interessevektorene, og sikrer nøyaktige anbefalinger.

4. Semantisk informasjonsgjenkjenning: Tradisjonelle søkemetoder baserer seg på eksakte nøkkelordstreff. Vektorbaserte databaser muliggjør imidlertid systemer som forstår og henter ut innhold basert på semantisk likhet. Dette gjør søk mer intuitive, og fokuserer på den underliggende meningen i forespørselen, snarere enn bare å matche ord.

5. Multimodal søk: Multimodal søk er en fremvoksende teknikk som integrerer data fra flere kilder, som tekst, bilder, lyd og video. Vektorbaserte databaser fungerer som ryggraden i denne tilnærmingen ved å tillate kombinert analyse av vektorer fra ulike modaliteter. Dette resulterer i en helhetlig søkeopplevelse, der brukere kan hente informasjon fra en rekke kilder basert på en enkelt forespørsel, og får rikere innsikt og mer omfattende resultater.

Konklusjon

AI-verden utvikler seg raskt. Den berører mange bransjer, og bringer både positive og negative endringer. De raske fremstegene i generative AI understreker den viktige rollen vektorbaserte databaser spiller i å håndtere og analysere flerdimensjonale data.

Jeg har brukt de siste fem årene på å dykke ned i den fasiniserende verden av Maskinlæring og Dypt Læring. Min lidenskap og ekspertise har ledet meg til å bidra til over 50 ulike programvareprosjekter, med særlig fokus på AI/ML. Min pågående nysgjørhet har også trukket meg mot Naturlig Språkbehandling, et felt jeg er ivrig etter å utforske videre.