Datenbank-unabhängige Skalierung mit nur einer API Das Potenzial der Vektorsuche

Ein Gastbeitrag von Julian Wingenfeld * 4 min Lesedauer

Anbieter zum Thema

Technologieunternehmen auf der ganzen Welt führen neben anderen KI-getriebenen Funktionen die Vektorsuche ein. Was genau steckt dahinter, warum ist die Technologie für Unternehmen wichtig und welche Voraussetzungen müssen sie schaffen, um davon zu profitieren?

Mit dem Indizieren von Vektoren will MongoDB den ANN-Algorithmus beschleunigen.
Mit dem Indizieren von Vektoren will MongoDB den ANN-Algorithmus beschleunigen.
(Bild: MongoDB)

Was genau ist die Vektorsuche?

Vektoren allgemein sind codierte Darstellungen unstrukturierter Daten wie Text, Bilder und Audio in Form eines Array. Diese Vektoren werden durch Techniken des maschinellen Lernens (ML) erzeugt, welche auch als „Einbettungsmodelle“ bezeichnet werden und auf großen Datenmengen trainiert werden.

Ihre Aufgabe ist es, effektiv sinnvolle Beziehungen und Ähnlichkeiten zwischen Daten zu erfassen. Dadurch wird es für Benutzer möglich, Daten auf Basis ihrer Bedeutung abzufragen. Das sorgt für ein effizienteres Funktionieren von Systemen, die auf Datenanalyse basieren, wie z.B. Empfehlungen, Sprachverständnis und Bilderkennung.

Jede Suche beginnt mit einer Abfrage. Bei der Vektorsuche wird diese Abfrage durch einen Vektor dargestellt und anschließend unter den in einer Datenbank gespeicherten Vektoren derjenige identifiziert, der dem Vektor der Abfrage am ähnlichsten ist. Es geht immer um Ähnlichkeit, weshalb die Vektorsuche oft auch als Ähnlichkeitssuche bezeichnet wird.

Die Funktionsweise von Vector Search

Das Konzept der Vektorähnlichkeit lässt sich am besten mithilfe eines dreidimensionalen Raums erklären, in dem die Position eines Datenpunkts vollständig durch drei Koordinaten bestimmt wird. So verhält es sich z.B. auch bei einem Raum mit 1.024 Dimensionen, hier sind ebenso viele Koordinaten erforderlich, um einen Datenpunkt zu lokalisieren.

Vektoren können auch die Position von Datenpunkten in mehrdimensionalen Räumen liefern. Die Werte in einem Vektor werden hierbei als ein Array behandelt. Sobald wir die Position der Datenpunkte – der Vektoren – haben, wird ihre Ähnlichkeit untereinander berechnet, indem der Abstand zwischen ihnen im Vektorraum gemessen wird. Punkte, die im Vektorraum näher beieinanderliegen, stellen Konzepte dar, deren Bedeutung ähnlicher ist.

Beispielsweise hat „Reifen“ eine größere Ähnlichkeit mit „Auto“ und eine geringere Ähnlichkeit mit „Flugzeug“. Allerdings hätte „Flügel“ nur eine Ähnlichkeit mit „Flugzeug“. Daher wäre der Abstand zwischen den Vektoren für „Reifen“ und „Auto“ kleiner als der Abstand zwischen den Vektoren für „Reifen“ und „Flugzeug“. Allerdings wäre der Abstand zwischen „Flügel“ und „Auto“ enorm.

Mit anderen Worten: „Reifen“ ist relevant, wenn wir von einem „Auto“ und in geringerem Maße von einem „Flugzeug“ sprechen. „Flügel“ ist dagegen nur relevant, wenn wir von einem „Flugzeug“ sprechen, und überhaupt nicht relevant, wenn wir von einem „Auto“ sprechen (zumindest, solange fliegende Autos noch nicht serienreif sind). Die Kontextualisierung von Daten – unabhängig vom Typ – ermöglicht es der Vektorsuche, die relevantesten Ergebnisse zu einer bestimmten Abfrage abzurufen.

Was Vektorsuche für Unternehmen bewirken kann

Primärer Vorteil der Vektorsuche ist Zeit- und damit langfristig Kostenersparnis. Unternehmen können jetzt Datensätze jeder Größe erfolgreich bedienen und sie erheblich schneller und präziser durchforsten. Das sorgt für bessere Ergebnisse in kürzeren Zeiträumen und damit für effizientere Arbeitsprozesse. Dabei unterstützt die Möglichkeit, bereits erstellte Vektordarstellungen zu speichern und wiederzuverwenden.

Auf Basis dieser präziseren Suchergebnisse können personalisierte und individuellere Inhalte für Kunden bereitgestellt werden, was die Kundenzufriedenheit und -bindung langfristig stärkt. Zudem bietet Vektorsuche eine ernstzunehmende und einfacher bedienbare Alternative zur zuvor alleinigen Nutzung deutlich komplexerer k-Nearest-Neighbor-Indizes (k-NN), die in ihrer Applikation ein hohes Maß an Fachwissen und Technik benötigen.

In der Anwendungsentwicklung für künstliche Intelligenz erfreut sich Vektorsuche großer Beliebtheit, da durch sie die Anwendungsentwicklung beschleunigt und die Operationalisierung von KI-gestützten Anwendungs-Workloads vereinfacht werden kann. Zudem vereinfacht Vektorsuche die Einbindung von generativer KI und semantischen Suchfunktionen in Echtzeitanwendungen unter Verwendung unternehmenseigener Daten, da Vektor Suche als skalierbare Vektordatenbank fungiert.

Diese ist wiederum in eine global verteilte operative Datenbank integriert, in der alle Daten eines Unternehmens gespeichert und verarbeitet werden können. So benötigen Entwickler nur eine API, um generative KI-Anwendungen für praktisch jede Art von Workload über die wichtigsten Cloud-Anbieter hinweg zu erstellen.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Die Zukunft der Vektorsuche

Vektorsuche ist die Antwort für Entwickler, die generative KI zur Optimierung ihrer Geschäftsmodelle und ihrer Kundenangebote nutzen möchten, in der Umsetzung aber dann auf Herausforderungen treffen, die die bisher gängigen Tools an ihre Grenzen bringen. Auch in der alltäglichen Entwicklungsarbeit ist Vektorsuche ein vielversprechender Katalysator für neue, bessere Entwicklungsprozesse und Ideen. Im Hinblick auf den steigenden Hype rund um KI-basierte Anwendungen aber auch die zunehmende Entwicklung unterschiedlichster Anwendungssysteme bietet Vektorsuche bereits jetzt großes Potenzial.

Vector Search bei MongoDB Atlas

MongoDB Atlas Vector Search bietet derzeit drei Ansätze zur Berechnung der Vektorähnlichkeit. Diese werden auch als Distanzmetriken bezeichnet und bestehen aus:

Euklidischer Entfernung

Kosinusprodukt

Skalarprodukt

Obwohl sich die drei Metriken in der Art der Berechnung unterscheiden, messen alle drei die Entfernung. Atlas Vector Search speist diese Distanzmetriken in einen sogenannten „Approximate Nearest Neighbor“- oder kurz ANN-Algorithmus ein, um die gespeicherten Vektoren zu finden, die dem Vektor der Abfrage am ähnlichsten sind.

Um diesen Prozess zu beschleunigen, werden Vektoren mithilfe eines weiteren Algorithmus namens Hierarchical Navigable Small World (HNSW) indexiert. HNSW leitet die Suche dabei durch ein Netzwerk miteinander verbundener Datenpunkte, so dass nur die relevantesten Datenpunkte berücksichtigt werden.

* Über den Autor
Julian Wingenfeld verfügt über ein breites Spektrum an Erfahrungen, die er als technischer Berater und Data Engineer sowohl in Start-ups als auch in etablierten Unternehmen gesammelt hat. Bei Accenture übernahm er das Design und die Entwicklung von Datenpipelines in der Cloud und arbeitete dabei sowohl mit SQL- als auch mit NoSQL-Datenbanken, Datenmodellierung, Datenstreaming und verschiedenen Data Warehouses. In seiner Funktion als Associate Solutions Architect unterstützt er Kunden aus verschiedenen Branchen dabei, MongoDB für eine breite Palette von Anwendungsfällen optimal zu nutzen.

Bildquelle: MongoDB

(ID:49911179)