Estimeret læsetid: 9 minutter
I de seneste uger har der været en stigning i investorernes interesse for vektordatabaser. Siden begyndelsen af 2023 har vi bemærket, at:
Lad os se mere detaljeret, hvad vektordatabaser er.
Vektordatabaser er stærkt afhængige af vektorindlejring, en type datarepræsentation, der indeholder den semantiske information, der er afgørende for, at AI kan opnå forståelse og bevare langtidshukommelsen at trække på, når man udfører komplekse aktiviteter.
Vektorindlejringer er som et kort, men i stedet for at vise os, hvor tingene er i verden, viser de os, hvor tingene er i noget, der hedder vektor rum. Vector space er en slags stor legeplads, hvor alt har sin plads at lege. Forestil dig, at du har en gruppe dyr: en kat, en hund, en fugl og en fisk. Vi kan skabe en vektorindlejring for hvert billede ved at give det en særlig position på legepladsen. Katten kan være i det ene hjørne, hunden på den anden side. Fuglen kunne være på himlen, og fiskene kunne være i dammen. Dette sted er et multidimensionelt rum. Hver dimension svarer til forskellige aspekter af dem, for eksempel har fisk finner, fugle har vinger, katte og hunde har ben. Et andet aspekt af dem kan være, at fisk hører til vandet, fugle hovedsageligt til himlen og katte og hunde til jorden. Når vi har disse vektorer, kan vi bruge matematiske teknikker til at gruppere dem baseret på deres lighed. Baseret på de oplysninger, vi har,
Så vektorindlejringer er som et kort, der hjælper os med at finde ligheder mellem ting i vektorrummet. Ligesom et kort hjælper os med at navigere i verden, hjælper vektorindlejringer med at navigere på vektorlegepladsen.
Nøgleideen er, at indlejringer, der ligner hinanden semantisk, har en mindre afstand mellem dem. For at finde ud af hvor ens de er, kan vi bruge vektorafstandsfunktioner som euklidisk afstand, cosinusafstand osv.
Vektorbibliotekerne gemme indlejringer af vektorer i indekser i hukommelsen for at udføre lighedssøgninger. Vektorbiblioteker har følgende egenskaber/begrænsninger:
Der er mange vektorsøgningsbiblioteker tilgængelige: FAISS af Facebook, irritere af Spotify og ScanNN af Google. FAISS bruger klyngemetode, Annoy bruger træer og ScanNN bruger vektorkomprimering. Der er en præstationsafvejning for hver, som vi kan vælge baseret på vores applikation og præstationsmålinger.
Den vigtigste funktion, der adskiller vektordatabaser fra vektorbiblioteker, er evnen til at arkivere, opdatere og slette data. Vektordatabaser har CRUD-understøttelse komplet (opret, læs, opdater og slet), der løser begrænsningerne for et vektorbibliotek.
Kort sagt giver en vektordatabase en overlegen løsning til håndtering af vektorindlejringer ved at adressere begrænsningerne af selvstændige vektorindekser som diskuteret i de foregående punkter.
Men hvad gør vektordatabaser overlegne i forhold til traditionelle databaser?
Traditionelle databaser er designet til at gemme og hente strukturerede data ved hjælp af relationelle modeller, hvilket betyder, at de er optimeret til forespørgsler baseret på kolonner og rækker af data. Selvom det er muligt at gemme vektorindlejringer i traditionelle databaser, er disse databaser ikke optimeret til vektoroperationer og kan ikke udføre lighedssøgninger eller andre komplekse operationer på store datasæt effektivt.
Dette skyldes, at traditionelle databaser bruger indekseringsteknikker baseret på simple datatyper, såsom strenge eller tal. Disse indekseringsteknikker er ikke egnede til vektordata, som har høj dimensionalitet og kræver specialiserede indekseringsteknikker såsom omvendte indekser eller rumlige træer.
Traditionelle databaser er heller ikke designet til at håndtere de store mængder ustrukturerede eller semi-strukturerede data, der ofte er forbundet med vektorindlejringer. For eksempel kan en billed- eller lydfil indeholde millioner af datapunkter, som traditionelle databaser ikke kan håndtere effektivt.
Vektordatabaser er på den anden side specifikt designet til at gemme og hente vektordata og er optimeret til lighedssøgninger og andre komplekse operationer på store datasæt. De bruger specialiserede indekseringsteknikker og algoritmer designet til at arbejde med højdimensionelle data, hvilket gør dem meget mere effektive end traditionelle databaser til lagring og hentning af vektorindlejringer.
Nu hvor du har læst så meget om vektordatabaser, undrer du dig måske over, hvordan de fungerer? Lad os se.
Vi ved alle, hvordan relationelle databaser fungerer: de gemmer strenge, tal og andre typer skalardata i rækker og kolonner. På den anden side opererer en vektordatabase på vektorer, så måden den er optimeret og forespurgt på er helt anderledes.
I traditionelle databaser forespørger vi normalt efter rækker i databasen, hvor værdien normalt matcher vores forespørgsel nøjagtigt. I vektordatabaser anvender vi en lighedsmetrik for at finde en vektor, der minder mest om vores forespørgsel.
En vektordatabase bruger en kombination af flere algoritmer, der alle deltager i nærmeste nabosøgning (ANN). Disse algoritmer optimerer søgningen ved hashing, kvantisering eller grafbaseret søgning.
Disse algoritmer er samlet i en pipeline, der giver hurtig og præcis hentning af en forespurgt vektors naboer. Da vektordatabasen giver omtrentlige resultater, er de vigtigste afvejninger, vi overvejer, mellem nøjagtighed og hastighed. Jo mere præcist resultatet er, jo langsommere bliver forespørgslen. Et godt system kan dog give ultrahurtig søgning med næsten perfekt nøjagtighed.
Vektordatabaser er et kraftfuldt værktøj til lighedssøgninger og andre komplekse operationer på store datasæt, som ikke kan udføres effektivt ved hjælp af traditionelle databaser. For at opbygge en funktionel vektordatabase er indlejringer afgørende, da de fanger den semantiske betydning af dataene og muliggør nøjagtige lighedssøgninger. I modsætning til vektorbiblioteker er vektordatabaser designet til at passe til vores use case, hvilket gør dem ideelle til applikationer, hvor ydeevne og skalerbarhed er kritisk. Med fremkomsten af maskinlæring og kunstig intelligens bliver vektordatabaser stadig vigtigere for en lang række applikationer, herunder anbefalingssystemer, billedsøgning, semantisk lighed, og listen fortsætter. Efterhånden som feltet fortsætter med at udvikle sig, kan vi forvente at se endnu flere innovative anvendelser af vektordatabaser i fremtiden.
Ercole Palmeri
Coveware by Veeam vil fortsætte med at levere responstjenester til cyberafpresning. Coveware vil tilbyde kriminaltekniske og afhjælpende funktioner...
Forudsigende vedligeholdelse revolutionerer olie- og gassektoren med en innovativ og proaktiv tilgang til anlægsstyring...
Det britiske CMA har udsendt en advarsel om Big Techs adfærd på markedet for kunstig intelligens. Der…
Dekretet om "grønne huse", der er formuleret af Den Europæiske Union for at øge bygningers energieffektivitet, har afsluttet sin lovgivningsproces med...