BLOGAnnounced at MongoDB.local NYC 2024: A recap of all announcements and updates — Learn more >

Was sind Vektor-Datenbanken?

Inhaltsverzeichnis

Sie kennen den Hype um generative KI (auch bekannt als künstliche Intelligenz). Überall in der Wirtschaft – vom Gesundheitswesen über das Finanzwesen und den Einzelhandel bis hin zu Regierungsbehörden – suchen Unternehmen nach Möglichkeiten, diese Technologie zu nutzen. Es scheint, als wolle jeder CEO Anwendungen so schnell wie möglich auf den Markt bringen.

Es ist mehr als nur Hype. Laut einem McKinsey-Bericht könnte generative KI der Weltwirtschaft Billionen zuführen.

Im Mittelpunkt dieser Transformationstechnologie steht das mathematische Konzept des Vektors. Durch Vektorisierung und die Fähigkeiten von Large Language Models (LLMs) erreicht die generative KI ihr bahnbrechendes Potenzial. Im Zeitalter der generativen KI legen Vektoreinbettungen den Grundstein; Vektordatenbanken verstärken ihre Wirkung.

Was ist eine Vektordatenbank? Wie funktioniert das? Was sind einige häufige Anwendungsfälle? Und warum spielt MongoDB Atlas Vector Search eine wichtige Rolle in der Diskussion um generative KI?

Was sind Vektordatenbanken?

Um Vektordatenbanken zu verstehen, müssen Sie zunächst den Vektor verstehen.

In der Mathematik und Physik ist ein Vektor eine Größe, die sowohl einen Betrag (oder eine Größe) als auch eine Richtung hat. Ein Vektor kann in Komponenten unterteilt werden. In einem zweidimensionalen Raum hat ein Vektor beispielsweise eine X- (horizontal) und eine Y-Komponente (vertikal).

In der Datenwissenschaft und beim maschinellen Lernen ist ein Vektor eine geordnete Liste oder Zahlenfolge, die Daten darstellt. Ein Vektor kann jede Art von Daten darstellen, einschließlich unstrukturierter Daten (oder Daten ohne vordefiniertes Datenmodell oder Schema) – von Text über Bild und Audio bis hin zu Video. Ein Vektor wird in der Regel als Array oder Liste von Zahlen dargestellt, wobei jede Zahl in der Liste ein bestimmtes Merkmal oder Attribut dieser Daten darstellt.

Stellen Sie sich zum Beispiel vor, Sie haben eine große Sammlung von Katzenfotos. Jedes Bild ist ein Teil unstrukturierter Daten. Sie können jedoch jedes Bild als Vektor darstellen, indem Sie Merkmale wie die folgenden extrahieren:

  • Durchschnittsfarbe
  • Farbhistogramm
  • Texturhistogramm
  • Vorhandensein oder Fehlen von Ohren, Schnurrhaaren und einem Schwanz

Vektoreinbettung (oder Vektorisierung) ist der Prozess der Umwandlung solcher Wörter und anderer Daten in Zahlen, wobei jeder Datenpunkt durch einen Vektor im hochdimensionalen Raum dargestellt wird.

Eine Vektordatenbank – auch bekannt als Vektorsuchdatenbank oder Vektorähnlichkeitssuchmaschine – speichert, ruft ab und sucht nach Vektoren.

Anstelle von Zeilen und Spalten, wie sie für relationale Datenbanken typisch sind, stellen Vektordatenbanken Daten als Punkte in einem mehrdimensionalen Raum dar. Vektordatenbanken sind ideal für Anwendungen, die einen schnellen und präzisen Abgleich von Daten auf der Grundlage von Ähnlichkeit und nicht von exakten Werten erfordern.

„Stellen Sie sich eine Vektordatenbank als riesiges Lagerhaus und die künstliche Intelligenz als geschickten Lagerverwalter vor. In diesem Lagerhaus wird jedes Element (Daten) in einer Box (Vektor) aufbewahrt, die fein säuberlich auf Regalen im multidimensionalen Raum angeordnet ist“, schreibt Mark Hinkle in The New Stack.

Wenn Sie generative KI-Anwendungen entwickeln, ist eine Vektordatenbank darauf zugeschnitten, große Mengen an vektorisierten Daten effizient zu verarbeiten und schnellere Abfragen und Verarbeitungsgeschwindigkeiten zu gewährleisten.

Ein Bild von Vektordatenbanken mit Vektoreinbettung und dem Einbettungsmodell.

Quelle: Dev.to

Wie funktionieren Vektordatenbanken?

Zentral für die Funktionalität einer Vektordatenbank ist das Prinzip der Einbettung. Im Grunde genommen übersetzt ein Vektor- oder Einbettungsmodell Daten in ein einheitliches Format: Vektoren.

Während ein Vektor im Grunde eine geordnete Menge von Zahlen ist, wird er durch eine Einbettung in eine Darstellung verschiedener Datentypen umgewandelt, darunter Text, Bilder und Audio.

Transformationen – der Prozess der Umwandlung von Daten von einem Format in ein anderes – ordnen Vektoren im mehrdimensionalen Vektorraum an. Eines der auffälligsten Merkmale dieser räumlichen Anordnung ist, dass Datenpunkte mit ähnlichen Attributen oder Merkmalen auf natürliche Weise zueinander tendieren und Cluster bilden.

Vektorielle Einbettungen sind nicht nur numerische Übersetzungen, sondern sie kapseln die tiefere semantische Essenz und die kontextuellen Nuancen der Originaldaten ein. Das macht sie zu unschätzbaren Ressourcen für eine Reihe von KI-Anwendungen – von der Verarbeitung natürlicher Sprache (NLP) über die Stimmungsanalyse bis hin zur Textkategorisierung.

Die Abfrage einer Vektordatenbank ist anders als die Abfrage einer herkömmlichen Datenbank. Anstatt nach exakten Übereinstimmungen zwischen identischen Vektoren zu suchen, verwendet eine Vektordatenbank die Ähnlichkeitssuche, um Vektoren zu identifizieren, die sich innerhalb des mehrdimensionalen Raums in unmittelbarer Nähe zu einem bestimmten Abfragevektor befinden. Dieser Ansatz ist nicht nur besser auf die Natur der Daten abgestimmt, sondern bietet auch eine Geschwindigkeit und Effizienz, mit der die traditionelle Suche nicht mithalten kann.

Wörter, Sätze und sogar ganze Dokumente können in Vektoren umgewandelt werden, die ihre Essenz erfassen. Eine Standardmethode zum Einbetten von Wörtern ist zum Beispiel Word2Vec. Mit Word2Vec werden Wörter mit ähnlichen Bedeutungen durch Vektoren dargestellt, die in einem mehrdimensionalen Raum nahe beieinander liegen. Das berühmteste Beispiel ist: König – Mann + Frau = Königin. Die Addition der Vektoren, die mit den Wörtern „König“ und „Frau“ verbunden sind, und die Subtraktion von „Mann“ ergibt den Vektor, der mit „Königin“ assoziiert ist.

Ein Bild, das beschreibt, wie die Suche in einer Vektordatenbank funktioniert, mit rosa Punkten, einer Katze, einer Banane, usw.

Quelle: Medium

Selbst mit ihren komplizierten Mustern und Farben können Bilder in Vektoren übersetzt werden. In einem Datensatz mit vielen Tierbildern würde ein trainiertes neuronales Faltungsnetzwerk (Convolutional Neural Network, CNN) beispielsweise alle Hundebilder dicht beieinander anordnen, deutlich getrennt von z. B. Katzen- oder Vogelbildern.

Durch die Erfassung der inhärenten Datenstruktur und der Muster innerhalb der Daten bieten Vektoreinbettungen semantisch angereicherte Darstellungen. Dieser Reichtum erleichtert nicht nur ein tieferes Verständnis der Daten, sondern beschleunigt auch die Berechnungen zur Ermittlung von Beziehungen und Ähnlichkeiten zwischen verschiedenen Entitäten.

Warum ist die Vektorsuche so wichtig?

Die Vektorsuche ist für Vektordatenbanken von entscheidender Bedeutung, da sie eine ganz eigene Methode zum Abrufen von Daten darstellt.

Im Gegensatz zu herkömmlichen Datenbanken, die auf exakte Übereinstimmungen angewiesen sind, basiert die Vektorsuche in einer Vektordatenbank auf Ähnlichkeit. Dieses semantische Verständnis bedeutet, dass selbst dann, wenn zwei Daten nicht identisch, aber kontextuell oder semantisch ähnlich sind, sie abgeglichen werden können.

Die herkömmliche Stichwortsuche eignet sich hervorragend, um bestimmte Begriffe in Dokumenten oder Tabellen zu finden. Bei unstrukturierten Daten wie Videos, Büchern, Beiträgen in sozialen Medien, PDFs und Audiodateien sind sie jedoch unzureichend.

Die Vektorsuche füllt diese Lücke, indem sie die Suche in unstrukturierten Daten ermöglicht. Es sucht nicht nur nach exakten Übereinstimmungen, sondern identifiziert Inhalte auf der Grundlage semantischer Ähnlichkeit und versteht die inhärenten Beziehungen zwischen Suchbegriffen.

Ein Bild eines Voronoi-Diagramms, das den „nächsten Nachbarn“ beschreibt

Quelle: TowardsDataScience

Die Effizienz der Vektorsuche wird beim Umgang mit hochdimensionalen Daten deutlich. Vektordatenbanken können mit Datenpunkten umgehen, die sich über Hunderte oder sogar Tausende von Dimensionen erstrecken. Algorithmen, die für die Vektorsuche von hochdimensionalen Vektoren optimiert sind, wie z. B. die ANN-Suche (Approximate Nearest Neighbour), können die ähnlichsten Vektoren in diesem riesigen Raum schnell identifizieren, ohne dass Sie jeden Vektor durchsuchen müssen. Diese Effizienz führt zu einer schnelleren und ressourcenschonenderen Suche.

Vom Standpunkt der Benutzerfreundlichkeit aus betrachtet, sind die Vorteile der Vektorsuche mannigfaltig. Anwendungen wie Empfehlungssysteme oder Bilderkennung können Ergebnisse liefern, die auf Ähnlichkeit und nicht auf exakten Übereinstimmungen basieren. In einem E-Commerce-Umfeld kann die Anzeige von Produkten, die der Suchanfrage eines Benutzers ähnlich sind, die Kundenzufriedenheit erhöhen und den Umsatz steigern. Wenn die Datensätze wachsen, wird die Skalierbarkeit der Vektorsuche deutlich. Während die Suche nach exakten Übereinstimmungen mit wachsenden Datenmengen immer langsamer wird, sorgt die Vektorsuche für eine gleichbleibende Abfrageleistung, so dass auch bei großen Datenmengen zeitnahe Ergebnisse erzielt werden.

Die Flexibilität, die die Vektorsuche bietet, ist ein weiterer bemerkenswerter Vorteil. Neue Datentypen, sich entwickelnde Datenstrukturen und veränderte Suchanforderungen werden mit minimalen Anpassungen berücksichtigt.

Darüber hinaus ist die Flexibilität in der sich schnell entwickelnden Datenverwaltungslandschaft von unschätzbarem Wert, zumal viele der heutigen KI- und maschinellen Lernmodelle, insbesondere diejenigen, die auf Deep Learning basieren, Daten in Vektorform erzeugen. Eine Datenbank, die Vektordaten nativ durchsuchen kann, ist für fortgeschrittene Anwendungen wie Gesichts- oder Spracherkennung unerlässlich.

Eine bildbeschreibende Vektorsuche mit unstrukturierten Daten, einem Kodierer und einem Vektorspeicher.
Anwendungsfälle für Vektordatenbanken

Die globale Wirtschaftslandschaft ist komplex und wettbewerbsintensiv – und Daten sind nach wie vor das Herzstück dieser Landschaft. In der Vergangenheit haben viele Menschen Daten als das „neue Öl“ bezeichnet. Im Zeitalter der generativen KI sind Vektoreinbettungen das Öl und Vektordatenbanken haben sich als hochentwickelte Raffinerien entpuppt, die in der Lage sind, hochdimensionale Daten zu verarbeiten und Ähnlichkeitssuchen auszuführen.

Für die Chefetage ist generative KI nicht nur ein Schlagwort, sondern eine Strategie. Für Entwickler liegt der Hauptvorteil von Vektordatenbanken in der Effizienz. Herkömmliche Datenbanken erfordern unter Umständen komplexe Abfragestrukturen, um relevante Daten abzurufen, insbesondere wenn es sich um große Datenmengen handelt. Vektordatenbanken vereinfachen dies, indem sie es Entwicklern ermöglichen, Daten auf der Grundlage von Ähnlichkeiten abzurufen, was sowohl die Komplexität des Codes als auch die für den Datenabruf benötigte Zeit reduziert.

Eine Auswahl von Anwendungsfällen für Vektordatenbanken
Eine bildbeschreibende Vektorsuche mit unstrukturierten Daten, einem Kodierer und einem Vektorspeicher.

Quelle: Medium

Bild- und Videoerkennung: Visuelle Inhalte dominieren unsere visuelle Kultur, und Vektordatenbanken glänzen in ihr. Sie sind geschickt darin, riesige Bestände an Bildern und Videos zu durchforsten, um diejenigen zu finden, die einer bestimmten Eingabe verblüffend ähnlich sind. Dabei geht es nicht nur darum, Pixel für Pixel abzugleichen, sondern auch darum, die zugrunde liegenden Muster und Merkmale zu verstehen. Diese Fähigkeiten sind entscheidend für Anwendungen wie Gesichtserkennung, Objekterkennung und sogar für die Erkennung von Urheberrechtsverletzungen auf Medienplattformen.

Natürliche Sprachverarbeitung und Textsuche: Synonyme, Umschreibungen und Kontext können den exakten Textabgleich zu einer enormen Herausforderung machen. Vektordatenbanken können jedoch die semantische Essenz von Phrasen oder Sätzen erkennen, sodass sie Übereinstimmungen identifizieren können, die zwar vom Wortlaut her nicht identisch, aber kontextuell ähnlich sind. Diese Fähigkeit ist ein entscheidender Faktor für Chatbots, denn sie stellt sicher, dass sie angemessen auf Benutzeranfragen reagieren. Ebenso können Suchmaschinen relevantere Ergebnisse liefern und so das Benutzererlebnis verbessern.

Empfehlungssysteme: Vektordatenbanken spielen eine zentrale Rolle bei der Personalisierung. Indem sie die Vorlieben der Benutzer verstehen und Muster analysieren, können diese Datenbanken Lieder vorschlagen, die den Geschmack des Hörers treffen, oder Produkte, die den Vorlieben eines Käufers entsprechen. Es geht darum, die Ähnlichkeit zu messen und Inhalte oder Produkte zu liefern, die den Nerv des Nutzers treffen.

Neue Anwendungen: Der Horizont von Vektordatenbanken erweitert sich ständig. Im Gesundheitswesen helfen sie bei der Entdeckung von Medikamenten, indem sie Molekularstrukturen auf potenzielle therapeutische Eigenschaften hin analysieren. Im Finanzsektor helfen Vektordatenbanken bei der Erkennung von Anomalien und erkennen ungewöhnliche Muster, die auf betrügerische Aktivitäten hinweisen könnten.

Mit dem Aufschwung der generativen KI werden Vektordatenbanken zu unverzichtbaren Hilfsmitteln, die Entwicklern dabei helfen, komplizierte KI-Entwürfe in praktische, wertorientierte Tools zu verwandeln.

MongoDB Atlas Vector Search: Ein Game-Changer

MongoDB Atlas Vector Search ist die neueste Ergänzung der MongoDB-Plattform für Entwicklerdaten. Es ermöglicht Kunden die Entwicklung intelligenter Anwendungen auf der Grundlage semantischer Suche und generativer KI für jede Art von Daten.

In der Vergangenheit standen Entwicklungsteams, die eine Vektordatenbank für Aufgaben wie die Bild- oder effiziente Ähnlichkeitssuche suchten, vor einem Dilemma: Entscheiden Sie sich für eine aufgeschraubte Vektordatenbank und fügen Sie dem Tech-Stack ein weiteres Tool hinzu, oder jonglieren Sie mit einer Mischung aus Suchtools und Open-Source-Lösungen. Die Verwendung einer Volltextsuche für semantische Funktionen bedeutete für die Entwickler oft, dass sie sich mit einer umfangreichen Synonymzuordnung herumschlagen mussten. Die Einschränkungen waren klar: Wenn die Benutzer ihre Suchanfragen nicht präzise formulierten, waren die Ergebnisse alles andere als relevant.

Solche Herausforderungen bedeuteten:

  • Ein zusätzliches System, das überwacht werden muss.
  • Der Bedarf an speziellen Fähigkeiten.
  • Die geistige Belastung durch die ständige Aktualisierung der Synonymzuordnungen.
  • Eine unterdurchschnittliche Benutzererfahrung bei ungenauen Abfragen.
  • Wertvolle Engineering-Zeit wird von Kernaufgaben abgezweigt.

Atlas Vector Search vereinfacht die Entwicklung von Anwendungen, die durch semantische Suche und generative KI angereichert sind und eine Reihe von Datentypen verarbeiten können, von Videos bis hin zu Social-Media-Inhalten. Vector Search macht sich die Robustheit von MongoDB Atlas zunutze und ermöglicht es Entwicklern, hochmoderne, relevanzbasierte Suchwerkzeuge auf einer vertrauenswürdigen Plattform mit einer einheitlichen Abfrageoberfläche zu erstellen.

Die Vektorsuche versorgt MongoDB Atlas mit dem Wissen, das erforderlich ist, um eine Abfrage zu verstehen, ohne dass Synonyme definiert werden müssen. Selbst wenn Benutzer nicht wissen, wonach sie suchen, ist Vector Search in der Lage, relevante Ergebnisse auf der Grundlage der Bedeutung der Abfrage zu liefern. Eine Suche nach „Eis“ würde zum Beispiel „Eisbecher ergeben, auch wenn der Benutzer nicht wusste, dass es Eisbecher gibt.

Wenn Sie die Vektorsuche verwenden, speichern Sie die Vektoreinbettungen zusammen mit den Originaldaten und Metadaten in Atlas. Dadurch wird sichergestellt, dass alle Aktualisierungen oder Ergänzungen Ihrer Vektordaten sofort synchronisiert werden, was die Architektur rationalisiert und den Entwicklern eine einheitliche Erfahrung bietet.

Mit der Vektorsuche können Sie Daten mit einem der leistungsstärksten Vektorsuchalgorithmen indizieren und abfragen: k-NN (approximate k-nearest neighbors), der hierarchische navigierbare kleine Weltgraphen (Hierarchical Navigable Small World, HNSW) verwendet, um Vektorähnlichkeit zu finden.

Spiralmodell

Sie können erheblich verbesserte Sucherlebnisse schaffen, die Anwendungsfälle ansprechen, die mit herkömmlichen Suchwerkzeugen nicht möglich sind, z. B.:

  • Semantische Suche: Dies ermöglicht eine kontextbezogene Suche. Zum Beispiel könnte eine Suche nach „Eiscreme“ Ergebnisse wie „Eisbecher“ ohne vorgegebene Synonyme liefern.* Verbesserte Empfehlungen: Wenn ein Nutzer nach einem Rasenmäher sucht, kann das System auch verwandte Produkte zur Rasenpflege vorschlagen.
  • Vielfältige Mediensuchen: Ob Sie nach Bildern suchen, die mit Begriffen wie „glückliche Familien“ übereinstimmen, oder ob Sie Audioprotokolle nach bestimmten Begriffen durchsuchen, Vector Search ist der Aufgabe gewachsen.
  • Hybridsuche: Diese kombiniert die Stärken der Vektorsuche mit der herkömmlichen Volltextsuche und bereichert die Ergebnisse.
  • Langzeitgedächtnis für LLMs: Dies stellt großen Sprachmodellen proprietären Geschäftsdatenkontext zur Verfügung und verfeinert so deren Ausgabegenauigkeit.

Atlas Vector Search ist mit gängigen Anwendungsframeworks wie LlamaIndex und LangChain kompatibel. Die Lösung lässt sich außerdem nahtlos in Ökosystempartner wie Google Vertex AI, AWS, Azure und Databricks integrieren und sorgt dafür, dass geschützte Geschäftsdaten die Leistung und Genauigkeit von KI-gestützten Anwendungen verbessern.

Atlas Vector Search: Für intelligente Anwendungen mit semantischer Suche

Vektordatenbanken mit ihrem einzigartigen Ansatz für die Speicherung und den Abruf von Daten verändern die Art und Weise, wie wir über Datenbanken denken. Ihre Fähigkeit, schnelle Ähnlichkeitssuchen durchzuführen, macht sie in der heutigen datengesteuerten Welt unverzichtbar. Und in Kombination mit der Leistungsfähigkeit und Flexibilität von MongoDB Atlas bieten sie eine Lösung, die nur schwer zu schlagen ist.

Atlas Vector Search ermöglicht fortgeschrittene Anwendungsfälle – wie semantische Suche, Bildsuche und Ähnlichkeitssuche – die von der herkömmlichen Volltextsuche nicht abgedeckt werden können. Entwickler können ihre Vektoreinbettungen in MongoDB speichern, ihre bestehenden Suchfunktionen mit maschinellen Lernmodellen ergänzen und diese abfragen, um relevante, kontextbezogene Ergebnisse zu erhalten. Führende Ingenieure profitieren von der Sicherheit, die der Betrieb von Atlas mit sich bringt: eine vollständig verwaltete, praxiserprobte Multi-Cloud-Plattform für Entwicklerdaten.

Ob Sie ein Empfehlungssystem, eine Suchmaschine oder eine andere Anwendung entwickeln, die einen schnellen und präzisen Datenabgleich erfordert, Sie sollten die kombinierte Leistung von Vektordatenbanken und MongoDB nutzen. Die Zukunft ist vektorisiert und MongoDB hilft Ihnen dabei, sich darin zurechtzufinden.

FAQs

Was ist die MongoDB Atlas Vector Search?
MongoDB Atlas Vector Search ist die neueste Ergänzung der MongoDB-Plattform für Entwicklerdaten. Es ermöglicht Kunden die Entwicklung intelligenter Anwendungen auf der Grundlage semantischer Suche und generativer KI für jede Art von Daten.
Was ist die ungefähre Suche nach dem nächsten Nachbarn?
Eine ungefähre Suche nach dem nächsten Nachbarn liegt vor, wenn ein Algorithmus Punkte zurückgeben darf, deren Abstand zur Abfrage höchstens das c-fache des Abstands der Abfrage zu den nächstgelegenen Punkten beträgt. Mit anderen Worten: Die zurückgegebenen Punkte können bis zu c-mal weiter vom Abfragepunkt entfernt sein als sein nächster Nachbar. Dies ist nützlich, da der Algorithmus so schnell genügend gute Nachbarn finden kann.
Was ist ein Vektorindex?
Ein Vektorindex ist eine Datenstruktur zum Speichern und Verwalten von Vektoreinbettungen aus einem großen Datensatz von Datenobjekten.

Erste Schritte mit MongoDB Atlas

Kostenlos testen