Was ist eine Vektordatenbank?

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.

Was ist eine Vektordatenbank?

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).

Einbettungen – Dokumente im Vektorraum, die zusammengefasst werden

In dieser einfachen Vektorendatenbank sind die Dokumente in der oberen rechten Ecke wahrscheinlich ähnlich zueinander.

Ressource
Kontrolle zurückgewinnen – mit der Connectivity Cloud

Was ist ein Vektor?

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“).

Wie funktionieren Vektordatenbanken?

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.

Wie werden Vektorendatenbanken verwendet?

  • Ähnlichkeit und semantische Suche: Vektorendatenbanken ermöglichen es Anwendungen, relevante Elemente miteinander zu verbinden. Vektoren, die in einer Gruppe zusammengefasst sind, sind ähnlich und wahrscheinlich zueinander relevant. Dies kann Nutzern bei der Suche nach relevanten Informationen helfen (z. B. bei einer Bildersuche), aber es hilft auch Anwendungen:
    • Ähnliche Produkte zu empfehlen
    • Lieder, Filme oder Serien vorzuschlagen
    • Bilder oder Videos vorzuschlagen
  • Maschinelles Lernen und Deep Learning: Die Fähigkeit, relevante Informationen miteinander zu verknüpfen, ermöglicht die Entwicklung von Modellen für maschinelles Lernen (und Deep Learning), die komplexe kognitive Aufgaben erfüllen können.
  • Große Sprachmodelle (LLMs) und generative KI: LLMs, wie das Modell, auf dem ChatGPT und Bard basieren, stützen sich auf die kontextuelle Analyse von Text, die durch Vektorendatenbanken ermöglicht wird. Indem sie Wörter, Sätze und Ideen miteinander assoziieren, können LLMs die natürliche menschliche Sprache verstehen und sogar Text generieren.
Registrieren
Erstellen, Bereitstellen und Bereitstellen vertrauenswürdiger Apps

Was sind Einbettungen?

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.

Welche Vorteile bietet die Verwendung einer Vektorendatenbank?

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.

Bietet Cloudflare die Möglichkeit, Vektordatenbanken zu nutzen?

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.

FAQs

Was ist eine Vektordatenbank?

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.

Wie funktionieren Vektordatenbanken?

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.

Was ist ein „Vektor” im Zusammenhang mit KI?

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.

Was sind die Hauptanwendungsbereiche für Vektordatenbanken?

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.

Welche Vorteile bietet die Verwendung einer Vektorendatenbank mit einem Modell für maschinelles Lernen?

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.