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 LLM?
Was ist künstliche Intelligenz (KI)?
Prädiktive KI
Abonnieren Sie theNET und erhalten Sie monatlich die meistdiskutierten Internet-Insights von Cloudflare.
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.
Eine Vektordatenbank speichert Daten als mathematische Darstellungen, sogenannte Vektoren. Sie ist darauf ausgelegt, verwandte Elemente zu gruppieren, was leistungsstarke Funktionen wie Ähnlichkeitssuchen ermöglicht. Vektordatenbanken bilden die Grundlage für die Entwicklung fortschrittlicher KI-Anwendungen.
Jedes Objekt – sei es ein Wort, ein Bild oder ein Dokument – wird durch einen Vektor dargestellt, bei dem es sich um eine Liste von Zahlen handelt. Diese Zahlen definieren die Position des Objekts über viele verschiedene Dimensionen oder Merkmale hinweg. Die Datenbank gruppiert oder clustert dann Vektoren, die nahe beieinander liegen, sodass ein Modell für maschinelles Lernen schnell ähnliche Elemente finden kann.
Ein Vektor ist eine Reihe von numerischen Werten, die ein Objekt darstellt. Stellen Sie sich dies als eine Liste von Koordinaten vor, wie z. B. {12, 13, 19, 8, 9}, die die Position des Objekts in einem mehrdimensionalen Raum anhand seiner verschiedenen Attribute genau bestimmt.
Vektordatenbanken werden in erster Linie für Ähnlichkeits- und semantische Suchen, maschinelles Lernen und Deep Learning sowie für große Sprachmodelle (LLMs) verwendet, die KI-Agenten und andere fortschrittliche KI-Anwendungen unterstützen.
Die Verwendung einer Vektordatenbank ist viel schneller und kostengünstiger, als ein Modell für maschinelles Lernen für jede Aufgabe direkt abzufragen. Das Modell muss einen Datensatz nur einmal verarbeiten, um Einbettungen zu erstellen, die dann in der Vektordatenbank gespeichert werden. Dies spart eine enorme Menge an Verarbeitungszeit und ermöglicht die Erstellung von benutzerorientierten Anwendungen, die Ergebnisse in Millisekunden liefern.