In einer Vektordatenbank werden Informationen als Vektoren gespeichert. Vektorendatenbanken bündeln verwandte Objekte und ermöglichen so die Suche nach Ähnlichkeiten und die Erstellung von leistungsstarken KI-Modellen.
Nach Lektüre dieses Artikels können Sie Folgendes:
Ähnliche Inhalte
Was sind Einbettungen?
Was ist maschinelles Lernen?
Was ist ein Large Language Model (LLM)?
Was ist künstliche Intelligenz (KI)?
Prädiktive KI
Abonnieren Sie theNET, Cloudflares monatliche Zusammenfassung der beliebtesten Einblicke in das Internet!
Link zum Artikel kopieren
Eine Vektordatenbank ist eine Sammlung von Daten, die als mathematische Repräsentationen gespeichert sind. Vektordatenbanken erleichtern es den Modellen für maschinelles Lernen, sich an frühere Eingaben zu erinnern, sodass maschinelles Lernen für die Suche, für Empfehlungen und für die Texterstellung eingesetzt werden kann. Daten können auf der Grundlage von Ähnlichkeitsmetriken anstelle von exakten Übereinstimmungen identifiziert werden, was es einem Computermodell ermöglicht, Daten kontextbezogen zu verstehen.
Beim Besuch eines Schuhgeschäfts kann ein Verkäufer Schuhe vorschlagen, die dem bevorzugten Paar ähnlich sind. Ebenso kann der Shop beim Einkauf in einem E-Commerce-Geschäft ähnliche Artikel unter einem Header wie „Kunden kauften auch ...“ vorschlagen. Vektordatenbanken ermöglichen es maschinellen Lernmodellen, ähnliche Objekte zu identifizieren, so wie der Verkäufer vergleichbare Schuhe finden und der E-Commerce-Shop ähnliche Produkte vorschlagen kann. (In der Tat kann der E-Commerce-Shop ein solches maschinelles Lernmodell dafür verwenden).
Zusammenfassend lässt sich sagen, dass Vektordatenbanken es Computerprogrammen ermöglichen, Vergleiche anzustellen, Beziehungen zu erkennen und Zusammenhänge zu verstehen. Dies ermöglicht die Erstellung von fortschrittlichen Programmen der künstlichen Intelligenz (KI) wie z. B. großen Sprachmodellen (LLMs).
In dieser einfachen Vektorendatenbank sind die Dokumente in der oberen rechten Ecke wahrscheinlich ähnlich zueinander.
Ein Vektor ist eine Reihe von numerischen Werten, die die Position eines Gleitkommas entlang mehrerer Dimensionen ausdrückt.
In der Alltagssprache ist ein Vektor eine Liste von Zahlen, wie z. B.: {{12, 13, 19, 8, 9}}. Diese Zahlen geben eine Position innerhalb eines Raums an, so wie eine Zeilen- und Spaltennummer eine bestimmte Zelle in einer Tabellenkalkulation angibt (z. B. „B7“).
Jeder Vektor in einer Vektorendatenbank entspricht einem Objekt oder Element, egal ob es sich dabei um ein Wort, ein Bild, ein Video, einen Film, ein Dokument oder ein anderes Datenelement handelt. Diese Vektoren sind wahrscheinlich lang und komplex und drücken die Position jedes Objekts entlang Dutzender oder sogar Hunderter von Dimensionen aus.
Eine Vektorendatenbank von Filmen kann zum Beispiel Filme entlang von Dimensionen wie Laufzeit, Genre, Erscheinungsjahr, Altersfreigabe, Anzahl der gleichen Schauspieler, Anzahl der gleichen Zuschauer und so weiter lokalisieren. Wenn diese Vektoren genau erstellt werden, ist es wahrscheinlich, dass ähnliche Filme in der Vektorendatenbank in Gruppen gebündelt werden.
Einbettungen sind Vektoren, die von neuronalen Netzwerken erzeugt werden. Eine typische Vektorendatenbank für ein Deep-Learning-Modell besteht aus Einbettungen. Sobald ein neuronales Netzwerk richtig abgestimmt ist, kann es Einbettungen selbständig erzeugen, sodass diese nicht mehr manuell erstellt werden müssen. Diese Einbettungen können dann, wie oben beschrieben, für die Ähnlichkeitssuche, die Kontextanalyse, die generative KI und so weiter verwendet werden.
Die Abfrage eines maschinellen Lernmodells ist ohne eine Vektorendatenbank weder schnell noch kostengünstig. Modelle für maschinelles Lernen können sich nichts anderes merken als das, worauf sie trainiert wurden. Sie müssen jedes Mal den Kontext angeben (so funktionieren viele einfache Chatbots).
Den Kontext einer Abfrage jedes Mal an das Modell weiterzugeben, ist sehr langsam, da es sich wahrscheinlich um eine Menge Daten handelt – und auch teuer, da die Daten hin- und hergeschoben werden müssen und Rechenleistung aufgewendet werden muss, damit das Modell immer wieder die gleichen Daten parsen kann. Und in der Praxis können die meisten APIs für maschinelles Lernen ohnehin nur eine begrenzte Anzahl von Daten auf einmal verarbeiten.
Hier kommt eine Vektordatenbank ins Spiel: Ein Datensatz durchläuft das Modell nur einmal (oder in regelmäßigen Abständen, wenn er sich ändert), und die Einbettungen des Modells für diese Daten werden in einer Vektordatenbank gespeichert.
Das spart enorm viel Verarbeitungszeit. Es ermöglicht die Entwicklung von Anwendungen für Nutzer, die sich mit semantischer Suche, Klassifizierung und dem Erkennen von Anomalien befassen, da die Ergebnisse innerhalb von zehn Millisekunden zurückkommen, ohne zu warten, bis das Modell den gesamten Datensatz durchforstet hat.
Bei Abfragen fragen die Entwickler das maschinelle Lernmodell nach einer Darstellung (Einbettung) genau dieser Abfrage. Die Einbettung kann dann an die Vektorendatenbank weitergegeben werden und diese kann ähnliche Einbettungen zurückgeben – die bereits durch das Modell gelaufen sind. Diese Einbettungen können dann auf ihren ursprünglichen Inhalt zurückgeführt werden: sei es eine URL für eine Seite, ein Link zu einem Bild oder die Artikelnummern von Produkten.
Zusammengefasst: Vektorendatenbanken funktionieren in großem Maßstab, arbeiten schnell und sind kostengünstiger als die Abfrage von maschinellen Lernmodellen ohne sie.
Vectorize ist eine global verteilte Vektorendatenbank, die von Cloudflare angeboten wird. Anwendungen, die auf Cloudflare Workers aufbauen, können mit Vectorize in Workers KV gespeicherte Dokumente, in R2 gespeicherte Bilder oder in D1 gespeicherte Nutzerprofile abfragen. So wie Workers es Entwicklern ermöglicht, Anwendungen zu erstellen, ohne eine Backend-Infrastruktur aufbauen zu müssen, ermöglicht Vectorize es Entwicklern, KI-Funktionen in ihre Anwendungen einzubauen, ohne eine eigene Infrastruktur für die Vektorendatenbank aufbauen zu müssen. Und für die Erstellung von Einbettungen bietet Cloudflare Workers AI.
Erfahren Sie mehr über die Erstellung von KI-gesteuerten Anwendungen auf Cloudflare.