Een vec­tor­da­ta­ba­se is een type database dat gegevens opslaat, beheert en ophaalt als hoog­d­i­men­si­o­na­le vectoren. Lees verder voor meer in­for­ma­tie over hoe vec­tor­da­ta­ba­ses werken en wanneer ze worden gebruikt.

Wat doet een vec­tor­da­ta­ba­se?

Net als tra­di­ti­o­ne­le ge­struc­tu­reer­de databases kunnen vector databases veel ver­schil­len­de soorten gegevens opslaan, waaronder tekst, af­beel­din­gen en andere soorten media. Het verschil tussen beide ligt in de manier waarop de gegevens worden op­ge­sla­gen en op­ge­vraagd. Terwijl gegevens in gewone databases vaak worden op­ge­sla­gen in een ge­ïn­dexeerd ta­bel­for­maat, worden ge­ge­vens­ob­jec­ten in vec­tor­da­ta­ba­ses weer­ge­ge­ven als hoog­d­i­men­si­o­na­le numerieke vectoren. De waarden in een vector kunnen worden opgevat als pa­ra­me­ters die elk een ei­gen­schap van de oor­spron­ke­lij­ke gegevens be­schrij­ven. Op deze manier kunnen ge­ge­vens­sets worden ge­pa­ra­me­tri­seerd en ver­vol­gens worden ver­ge­le­ken en gebundeld op basis van ge­lij­ke­nis­me­trie­ken.

Met vec­tor­da­ta­ba­ses is het veel een­vou­di­ger om gegevens op basis van hun algemene ei­gen­schap­pen te ca­te­go­ri­se­ren en op te vragen. Dit is met name voordelig voor machine learning- en deep learning-systemen.

Hoe werken vec­tor­da­ta­ba­ses?

In ver­ge­lij­king met tra­di­ti­o­ne­le re­la­ti­o­ne­le databases bieden vector databases veel voordelen op het gebied van kunst­ma­ti­ge in­tel­li­gen­tie en machine learning. Er zijn echter enkele uit­da­gin­gen bij het opslaan en beheren van vector­ge­ge­vens. De eerste grote uitdaging van deze databases is de conversie van tra­di­ti­o­ne­le digitale ge­ge­vens­ob­jec­ten naar numerieke vectoren die de ei­gen­schap­pen van deze ge­ge­vens­ob­jec­ten nauw­keu­rig weergeven. Hier komen vector embedding-modellen om de hoek kijken.

Vectoren kunnen worden gezien als co­ör­di­na­ten­pun­ten in een mul­ti­di­men­si­o­na­le ruimte. De hoog­d­i­men­si­o­na­le ruimte waarin de vectoren in een vector database zijn op­ge­sla­gen, wordt vector embedding genoemd. Om van een digitaal da­ta­ob­ject naar een bij­be­ho­ren­de vector embedding te komen, heb je een vector embedding model nodig. Een vector embedding model is een ge­spe­ci­a­li­seerd machine learning model dat da­ta­ob­jec­ten ana­ly­seert en op basis van hun betekenis en context een geschikte vec­tor­re­pre­sen­ta­tie genereert.

Laten we als voorbeeld eens kijken naar een vec­tor­da­ta­ba­se waarin woorden worden op­ge­sla­gen en ge­ca­te­go­ri­seerd. De woorden ‘Sushi’ en ‘Pasta’ hebben, ondanks hun ver­schil­len­de spelling, een ver­ge­lijk­ba­re se­man­ti­sche betekenis. Daarom zou het in­bed­dings­mo­del ver­ge­lijk­ba­re vec­tor­in­bed­din­gen voor deze woorden moeten pro­du­ce­ren. Om dit te bereiken, zou het model de tekstuele contexten kunnen ana­ly­se­ren waarin beide woorden vaak voorkomen.

Het ophalen van gegevens uit de vec­tor­da­ta­ba­se gebeurt op dezelfde manier als het invoeren van gegevens. Het in­bed­dings­mo­del genereert een geschikte vector (co­ör­di­naat­punt in een hoog­d­i­men­si­o­na­le ruimte) voor de zoek­op­dracht. Ver­vol­gens worden ge­spe­ci­a­li­seer­de wis­kun­di­ge al­go­rit­men voor vectoren gebruikt om de dichtst­bij­zijn­de vectoren te vinden. Met deze aanpak kunnen niet alleen exacte over­een­kom­sten worden opgehaald, maar ook ge­ge­vens­ob­jec­ten waarvan de vectoren ver­ge­lijk­baar zijn met de zoek­vec­tor. Als u bij­voor­beeld ‘voedsel’ opvraagt, kunnen de re­sul­ta­ten ver­mel­din­gen bevatten als ‘pasta’ en ‘sushi’. Als u echter ‘Japans eten’ opvraagt, zal de zoek­vec­tor veel dichter bij de ‘sushi’-vector liggen dan bij de ‘pasta’-vector.

Wat zijn de voordelen van vec­tor­da­ta­ba­ses?

Vector databases zoals ChromaDB bieden een aantal voordelen ten opzichte van tra­di­ti­o­ne­le re­la­ti­o­ne­le databases die bijzonder waardevol zijn voor AI-toe­pas­sin­gen. Hieronder gaan we hier dieper op in.

Ef­fi­ci­ën­te zoek­op­dracht op basis van ge­lij­ke­nis

Door een data-object weer te geven als een punt in een hoog­d­i­men­si­o­na­le ruimte, kunnen al­go­rit­men worden toegepast die ge­spe­ci­a­li­seerd zijn in vec­tor­ver­wer­king. Hierdoor kunnen na­bij­ge­le­gen vectoren (of the­ma­tisch relevante inhoud) snel en efficiënt worden ge­ï­den­ti­fi­ceerd. Deze mo­ge­lijk­heid is cruciaal voor toe­pas­sin­gen zoals beeld­her­ken­ning, waarbij het iden­ti­fi­ce­ren van ver­ge­lijk­ba­re beelden nood­za­ke­lijk is, en voor aan­be­ve­lings­sys­te­men die ver­ge­lijk­ba­re producten of inhoud sug­ge­re­ren.

Pres­ta­ties en schaal­baar­heid

Vector da­ta­ba­se­sys­te­men maken vaak gebruik van een hele reeks tech­nie­ken om de zoek­snel­heid en ge­ge­vens­ver­wer­king efficiënt te ver­snel­len. Naast de ef­fi­ci­ën­te ver­wer­king van hoog­d­i­men­si­o­na­le vector­ge­ge­vens, zijn vector databases vaak zo ontworpen dat veel be­wer­kin­gen parallel kunnen worden uit­ge­voerd. Door complexe gegevens als vectoren weer te geven, kunnen ook zeer complexe ge­ge­vens­struc­tu­ren efficiënt worden verwerkt. Al met al dragen deze tech­nie­ken ertoe bij dat vector databases grote hoe­veel­he­den gegevens kunnen bevatten en verwerken zonder dat dit ten koste gaat van de pres­ta­ties.

In­te­gra­tie van machine learning-modellen

Aangezien neurale netwerken vaak vectoren als input en output gebruiken, kunnen veel AI-modellen naadloos worden ge­ïn­te­greerd in vec­tor­da­ta­ba­ses. Dit maakt directe opslag, beheer en opvraging van mo­de­lout­put en -input mogelijk, wat het ont­wik­ke­lings- en im­ple­men­ta­tie­pro­ces van AI-toe­pas­sin­gen ver­een­vou­digt en versnelt.

Waar worden vec­tor­da­ta­ba­ses gebruikt?

Een toe­pas­sing van vec­tor­da­ta­ba­ses die te­gen­woor­dig erg relevant is, is machine learning en ge­ne­ra­tie­ve AI. Bij machine learning worden vec­tor­da­ta­ba­ses gebruikt om zoek­op­drach­ten op basis van ge­lij­ke­nis uit te voeren, wat nodig is voor taken zoals clas­si­fi­ca­tie, clus­te­ring en aan­be­ve­lings­sys­te­men. Modellen kunnen worden getraind om snel ver­ge­lijk­ba­re ge­ge­vens­pun­ten te iden­ti­fi­ce­ren en op basis daarvan voor­spel­lin­gen of be­slis­sin­gen te doen. Een aan­be­ve­lingsal­go­rit­me kan bij­voor­beeld gebaseerd zijn op een vec­tor­da­ta­ba­se om ge­brui­kers producten of inhoud aan te bevelen die ver­ge­lijk­baar zijn met hun eerdere voor­keu­ren.

Daarnaast kunnen vec­tor­da­ta­ba­ses worden gebruikt om de training van nieuwe neurale netwerken te ver­snel­len. Vec­tor­da­ta­ba­ses maken het mogelijk om zeer grote trai­nings­da­ta­sets efficiënt te beheren en te door­zoe­ken, wat zowel de nauw­keu­rig­heid als de trai­nings­tijd van het model aan­zien­lijk verbetert.

Een spe­ci­fie­ke toe­pas­sing die van deze op­ti­ma­li­sa­tie pro­fi­teert, zijn ge­ne­ra­tie­ve AI-modellen zoals GPT van OpenAI. Deze maken gebruik van vec­tor­da­ta­ba­ses om complexe patronen in gegevens te herkennen en nieuwe content te creëren. De ef­fi­ci­ën­tie­winst van vec­tor­da­ta­ba­ses is cruciaal voor de pres­ta­ties van deze systemen.

Tip

Een be­lang­rijk nadeel van grote taal­mo­del­len (LLM’s) zoals GPT zijn de hoge trai­nings­kos­ten en lange trai­nings­tij­den. Door deze twee factoren kunnen LLM’s niet re­gel­ma­tig worden getraind met actuele gegevens. Een methode om deze zwakte te verhelpen is retrieval-augmented ge­ne­ra­ti­on (RAG). Meer in­for­ma­tie over deze techniek vindt u in ons artikel over dit onderwerp.

Ga naar hoofdmenu