Eine Vektordatenbank speichert, verwaltet und indiziert hochdimensionale Vektordaten. Datenpunkte werden als Zahlenreihen, sogenannte „Vektoren“, gespeichert, die auf der Grundlage von Ähnlichkeiten gruppiert werden. Dieses Design ermöglicht Abfragen mit geringer Latenz und eignet sich daher ideal für KI-gesteuerte Anwendungen.
Vektordatenbanken erfreuen sich wachsender Beliebtheit, da sie die Geschwindigkeit und Leistung bieten, die für Anwendungsfälle und Anwendungen der generativen künstlichen Intelligenz (KI) erforderlich sind. Laut Gartner® werden bis 2026 mehr als 30 % der Unternehmen Vektordatenbanken eingeführt haben, um ihre Basismodelle mit relevanten Geschäftsdaten aufzubauen.1
Im Gegensatz zu herkömmlichen relationalen Datenbanken mit Zeilen und Spalten werden Datenpunkte in einer Vektordatenbank durch Vektoren mit einer festen Anzahl von Dimensionen dargestellt. Da sie hochdimensionale Vektoreinbettungen verwenden, sind Vektordatenbanken besser in der Lage, unstrukturierte Datensätze zu verarbeiten.
Die Natur der Daten hat einen tiefgreifenden Wandel erfahren. Sie sind nicht mehr länger darauf beschränkt, strukturierte Informationen problemlos in herkömmlichen Datenbanken zu speichern. Unstrukturierte Daten– einschließlich Social-Media-Beiträge, Bilder, Videos, Audio-Clips und mehr – nehmen jährlich um 30 % bis 60 % zu.2
Relationale Datenbanken eignen sich hervorragend für die Verwaltung strukturierter und halbstrukturierter Datensätze in bestimmten Formaten. Das Laden unstrukturierter Datenquellen in eine herkömmliche relationale Datenbank zur Speicherung, Verwaltung und Vorbereitung der Daten für künstliche Intelligenz (KI) ist ein arbeitsintensiver Prozess, insbesondere bei neuen generativen Anwendungsfällen wie der Ähnlichkeitssuche.
Herkömmliche Suche stellt in der Regel Daten dar, indem einzelne Token oder Features wie Schlüsselwörter, Tags oder Metadaten verwendet werden. Herkömmliche Suchanfragen beruhen auf exakten Übereinstimmungen, um relevante Ergebnisse zu erhalten. Beispielsweise würde eine Suche nach „Smartphone“ Ergebnisse zurückgeben, die das Wort „Smartphone“ enthalten.
Im Gegensatz dazu stellt die Vektorsuche Daten als dichte Vektoren dar, d. h. als Vektoren, bei denen die meisten oder alle Elemente ungleich Null sind. Vektoren werden in einem kontinuierlichen Vektorraum dargestellt, dem mathematischen Raum, in dem die Daten als Vektoren dargestellt werden.
Vektorrepräsentationen ermöglichen die Ähnlichkeitssuche. Beispielsweise könnte eine Vektorsuche nach „Smartphone“ auch Ergebnisse für „Mobiltelefon“ und „Mobilgeräte“ liefern.
Jede Dimension des dichten Vektors entspricht einem latenten Merkmal oder Aspekt der Daten. Ein latentes Merkmal ist ein zugrunde liegendes Merkmal oder Attribut, das nicht direkt beobachtet, sondern von den Daten durch mathematische Modelle oder Algorithmen abgeleitet wird.
Latente Merkmale erfassen die verborgenen Muster und Beziehungen in den Daten und ermöglichen so aussagekräftigere und genauere Darstellungen von Elementen als Vektoren in einem hochdimensionalen Raum.
Vektoren sind eine Untergruppe von Tensoren,die im maschinellen Lernen (ML) ein Oberbegriff für eine Gruppe von Zahlen – oder eine Gruppierung von Zahlengruppen – im n-dimensionalen Raum ist. Tensoren dienen als mathematisches Buchhaltungsinstrument für Daten. Arbeiten Sie sich vom kleinsten Element nach oben:
Vektorzahlen können komplexe Objekte wie Wörter, Bilder, Videos und Audio darstellen, die von einem ML-Modell generiert wurden. Diese hochdimensionalen Vektordaten, die mehrere Merkmale enthalten, sind unerlässlich für maschinelles Lernen, Verarbeitung natürlicher Sprache (NLP) und andere KI-Aufgaben. Einige Beispiele für die Verwendung von Vektordaten sind:
Vektoreinbettungen sind numerische Darstellungen von Datenpunkten, die verschiedene Arten von Daten – auch nicht-mathematische Daten wie Wörter, Audio oder Bilder – in Zahlenreihen umwandeln, die ML-Modelle verarbeiten können.
KI-Modelle, von einfachen linearen Regression -Algorithmen bis hin zu den komplizierten Neural Networks, die beim Deep Learning verwendet werden, funktionieren durch mathematische Logik.
Alle Daten, die ein KI-Modell verwendet, einschließlich unstrukturierter Daten, müssen numerisch erfasst werden. Die Vektoreinbettung ist eine Möglichkeit, einen unstrukturierten Datenpunkt in ein Zahlenfeld umzuwandeln, das die ursprüngliche Bedeutung dieser Daten ausdrückt.
Hier ist ein vereinfachtes Beispiel für Worteinbettungen für einen sehr kleinen Korpus (2 Wörter), bei dem jedes Wort als dreidimensionaler Vektor dargestellt wird:
In diesem Beispiel ist jedes Wort (z. B. „Katze“) einem eindeutigen Vektor zugeordnet ([0.2, -0.4, 0.7]). Die Werte im Vektor repräsentieren die Position des Wortes in einem kontinuierlichen 3-dimensionalen Vektorraum.
Es wird erwartet, dass Wörter mit ähnlichen Bedeutungen oder Kontexten ähnliche Vektordarstellungen haben. Zum Beispiel liegen die Vektoren für „Katze“ und „Hund“ nahe beieinander, was ihre semantische Beziehung widerspiegelt.
Einbettungsmodelle werden geschult, um Datenpunkte in Vektoren umzuwandeln. Vektordatenbanken speichern und indizieren die Ausgaben dieser Einbettungsmodelle. Innerhalb der Datenbank können Vektoren in praktisch jedem Datentyp auf der Grundlage semantischer Bedeutung oder Merkmale gruppiert oder als Gegensätze identifiziert werden.
Vektoreinbettungen sind das Rückgrat von Empfehlungen, Chatbots und generativen Apps wie ChatGPT.
Nehmen wir zum Beispiel die Wörter „Auto“ und „Fahrzeug“. Sie haben ähnliche Bedeutungen, werden aber unterschiedlich geschrieben. Damit eine KI-Anwendung eine effektive semantische Suche ermöglicht, müssen Vektordarstellungen von „Auto“ und „Fahrzeug“ ihre semantische Ähnlichkeit erkennen. Beim maschinellen Lernen stellen Einbettungen hochdimensionale Vektoren dar, die diese semantischen Informationen kodieren.
Vektordatenbanken erfüllen drei Schlüsselfunktionen in KI- und ML-Anwendungen:
In der Praxis arbeiten Vektordatenbanken, indem sie mehrere Algorithmen verwenden, um eine Suche nach dem Approximate Nearest Neighbor (ANN) durchzuführen. Die Algorithmen werden dann in einer Pipeline zusammengefasst, um schnell und präzise Daten in der Nähe des abgefragten Vektors abzurufen und zu liefern.
Eine ANN-Suche könnte zum Beispiel nach Produkten suchen, die sich in einem E-Commerce-Katalog visuell ähneln. Weitere Einsatzmöglichkeiten sind Anomalieerkennung, Klassifizierung und semantische Suche. Da ein Datensatz ein Modell nur einmal durchläuft, werden die Ergebnisse innerhalb von Millisekunden zurückgegeben.
Vektordatenbanken speichern die Ausgabe eines Einbettungsmodellalgorithmus, der Vektoreinbettungen. Sie speichern auch die Metadaten jedes Vektors – einschließlich Titel, Beschreibung und Datentyp –, die mithilfe von Metadatenfiltern abgefragt werden können.
Durch die Aufnahme und Speicherung dieser Einbettungen kann die Datenbank das schnelle Abrufen einer Ähnlichkeitssuche erleichtern, indem sie die Eingabeaufforderung des Benutzers mit einer ähnlichen Vektoreinbettung abgleicht.
Vektoren müssen indiziert werden, um die Suche in hochdimensionalen Datenräumen zu beschleunigen. Vektordatenbanken erstellen Indizes für Vektoreinbettungen für Suchfunktionen.
Die Vektordatenbank indiziert Vektoren mithilfe eines ML-Algorithmus. Bei der Indexierung werden Vektoren neuen Datenstrukturen zugeordnet, die schnellere Ähnlichkeits- oder Entfernungssuchen ermöglichen, z. B. die Suche nach dem nächsten Nachbarn zwischen Vektoren.
Vektoren können mit Algorithmen wie Hierarchical Navigable Small World (HNSW), Locality-Sensitive Hashing (LSH) oder Product Quantization (PQ) indiziert werden.
Abfragevektoren sind Vektordarstellungen von Suchanfragen. Wenn ein Benutzer ein KI-Modell befragt oder auffordert, berechnet das Modell eine Einbettung der Anfrage oder Aufforderung. Die Datenbank berechnet dann die Abstände zwischen den Vektoren der Abfrage und den im Index gespeicherten Vektoren, um ähnliche Ergebnisse zu erhalten.
Datenbanken können den Abstand zwischen Vektoren mit verschiedenen Algorithmen messen, beispielsweise mit der Suche nach nächsten Nachbarn. Messungen können auch auf verschiedenen Ähnlichkeitsmetriken basieren, wie z. B. der Kosinusähnlichkeit.
Die Datenbank gibt die ähnlichsten Vektoren oder nächsten Nachbarn des Abfragevektors gemäß der Ähnlichkeitsrangfolge zurück. Diese Berechnungen unterstützen verschiedene Aufgaben des maschinellen Lernens wie Empfehlungssysteme, semantische Suche, Bilderkennung und andere Aufgaben bei der Verarbeitung natürlicher Sprache.
Vektordatenbanken sind ein beliebter Weg, um KI-basierte Anwendungen in Unternehmen zu betreiben, da sie viele Vorteile bieten können:
Vektordatenbanken verwenden verschiedene Indizierungstechniken, um eine schnellere Suche zu ermöglichen. Vektorindizierung und abstandsberechnende Algorithmen wie die Suche nach dem nächsten Nachbarn können dazu beitragen, die Leistung bei der Suche nach relevanten Ergebnissen in großen Datensätzen mit Millionen, wenn nicht Milliarden von Datenpunkten zu optimieren.
Eine Überlegung ist, dass Vektordatenbanken ungefähre Ergebnisse liefern. Anwendungen, die eine höhere Genauigkeit erfordern, müssen möglicherweise eine andere Art von Datenbank verwenden, allerdings auf Kosten einer langsameren Verarbeitungsgeschwindigkeit.
Vektordatenbanken können riesige Mengen unstrukturierter Daten speichern und verwalten, indem sie horizontal mit zusätzlichen Knoten skaliert werden, was die Leistung beibehält, wenn die Anforderungen an Abfragen und das Datenvolumen steigen.
Da sie einen schnelleren Datenabruf ermöglichen, beschleunigen Vektordatenbanken das Training von Foundation Models.
Vektordatenbanken bieten in der Regel integrierte Funktionen zum einfachen Aktualisieren und Einfügen neuer unstrukturierter Daten.
Vektordatenbanken wurden entwickelt, um die zusätzliche Komplexität bei der Verwendung von Bildern, Videos oder anderen multidimensionalen Daten zu bewältigen.
Angesichts der zahlreichen Anwendungsfälle, die von der semantischen Suche bis zu KI-Anwendungen reichen, können Vektordatenbanken an die Anforderungen von Unternehmen und KI angepasst werden. Unternehmen können mit einem Allzweckmodell wie den Modellen der IBM® Granite®-Serie, dem Llama-2 von Meta oder den Flan-Modellen von Google beginnen und dann ihre eigenen Daten in einer Vektordatenbank bereitstellen, um die Ergebnisse der Modelle und KI-Anwendungen zu verbessern.
Unternehmen haben bei der Auswahl einer Vektordatenbankfunktion eine Vielzahl von Optionen. Um eine Lösung zu finden, die ihren Daten- und KI-Anforderungen entspricht, ziehen viele Unternehmen Folgendes in Betracht:
Es stehen einige Alternativen zur Auswahl.
Vektordatenbanken sollten nicht als eigenständige Funktionen betrachtet werden, sondern als Teil eines umfassenderen Daten- und KI-Ökosystems.
Viele bieten APIs, native Erweiterungen oder können in Datenbanken integriert werden. Da Vektordatenbanken so aufgebaut sind, dass sie Unternehmensdaten zur Verbesserung von Modellen verwenden, müssen Unternehmen auch über eine angemessene Datenverwaltung und -sicherheit verfügen, um sicherzustellen, dass den Daten, die zum Trainieren großer Sprachmodelle (LLMs) verwendet werden, vertraut werden kann.
Neben den APIs verwenden viele Vektordatenbanken programmiersprachenspezifische Software Development Kits (SDKs), die die APIs umgehen können. Mit den SDKs fällt es Entwicklern oft leichter, mit den Daten in ihren Apps zu arbeiten.
Die Verwendung eines Vektorspeichers und Index eignet sich gut für Anwendungen, die auf Fakten oder faktenbasierten Abfragen beruhen, wie z. B. das Extrahieren bestimmter Informationen aus komplexen Dokumenten.
Die Frage nach einer Zusammenfassung der Themen würde jedoch nicht gut mit einem Vektorindex funktionieren. In diesem Fall würde ein LLM alle verschiedenen möglichen Kontexte zu diesem Thema innerhalb der Daten durchgehen.
Eine schnellere Option wäre die Verwendung eines anderen Indexes, z. B. eines Listenindexes anstelle eines Vektorindexes, denn ein Listenindex würde sofort das erste Element in jeder Auflistung abrufen.
Zur Optimierung der Vektordatenbankentwicklung ist LangChain ein Open-Source-Orchestrierungs-Framework für die Entwicklung von Anwendungen, die LLMs verwenden.
Die Tools und APIs von LangChain sind sowohl in Python- als auch Javascript-basierten Bibliotheken verfügbar und vereinfachen die Erstellung von LLM-basierten Apps wie Chatbots und virtuellen Agenten. LangChain bietet Integrationen für über 25 verschiedene Einbettungsmethoden sowie für über 50 verschiedene Vektorspeicher (sowohl in der Cloud gehostet als auch lokal).
Um KI auf Unternehmensniveau zu betreiben, kann ein Data Lakehouse mit einer integrierten Vektordatenbank kombiniert werden. Unternehmen können vektorisierte Einbettungen für ihre generativen KI-Anwendungen in großem Umfang über ihre vertrauenswürdigen, kontrollierten Daten vereinheitlichen, kuratieren und vorbereiten. Dies verbessert die Relevanz und Präzision ihrer KI-Workloads, einschließlich Chatbots, personalisierter Empfehlungssysteme und Suchanwendungen für Bildähnlichkeiten.
Die Anwendungsmöglichkeiten für Vektordatenbanken sind umfangreich und wachsen weiter. Zu den wichtigsten Anwendungsfällen gehören beispielsweise:
Retrieval-Augmented Generation (RAG) ist ein KI-Framework, das es großen Sprachmodellen (LLMs) ermöglicht, Fakten aus einer externen Wissensdatenbank abzurufen. Vektordatenbanken sind der Schlüssel zur Unterstützung von RAG-Implementierungen.
Unternehmen bevorzugen zunehmend RAG in generativen KI-Workflows wegen der schnelleren Markteinführung, der effizienten Inferenz und der zuverlässigen Ausgabe. Das Framework ist besonders hilfreich bei Anwendungsfällen wie Kundenbetreuung, Personalwesen und Talentmanagement.
Die RAG stellt sicher, dass das Modell mit den aktuellsten und verlässlichsten Fakten verknüpft ist und dass die Nutzer Zugang zu den Quellen des Modells haben, sodass seine Aussagen überprüft werden können. Die Verankerung des LLM in vertrauenswürdigen Daten kann helfen, Modellhalluzinationen zu reduzieren.
RAG verwendet hochdimensionaler Vektordaten, um Eingabeaufforderungen mit semantisch relevanten Informationen für das kontextbezogene Lernen durch Foundation Models anzureichern. RAG erfordert eine effiziente Speicherung und Abfrage während der Inferenzphase, in der die größte Datenmenge verarbeitet wird.
Vektordatenbanken eignen sich hervorragend für die effiziente Indizierung, Speicherung und Abfrage dieser hochdimensionalen Vektoren und bieten die Geschwindigkeit, Präzision und Skalierbarkeit, die für Anwendungen wie Empfehlungsmaschinen und Chatbots erforderlich sind.
Vektordatenbanken, insbesondere wenn sie zur Implementierung von RAG-Frameworks verwendet werden, können dazu beitragen, die Interaktionen virtueller Agenten zu verbessern, indem sie die Fähigkeit des Agenten verbessern, relevante Wissensdatenbanken effizient und genau zu analysieren. Agenten können in Echtzeit kontextbezogene Antworten auf Benutzeranfragen geben, zusammen mit den Quelldokumenten und Seitenzahlen als Referenz.
E-Commerce-Websites können beispielsweise Vektoren zur Darstellung von Kundenpräferenzen und Produktattributen verwenden. Auf diese Weise können sie auf der Grundlage der Vektorähnlichkeit Artikel vorschlagen, die früheren Käufen ähneln, was die Nutzererfahrung verbessert und die Kundenbindung erhöht.
Diese Suchtechnik wird verwendet, um ähnliche Elemente oder Datenpunkte, typischerweise als Vektoren dargestellt, in großen Sammlungen zu finden. Vektorsuche kann die semantischen Beziehungen zwischen Elementen erfassen und ermöglicht so eine effektive Verarbeitung durch maschinelle Lernmodelle und Anwendungen der künstlichen Intelligenz.
Diese Suchvorgänge können verschiedene Formen annehmen.
Wir haben 2.000 Unternehmen zu ihren KI-Initiativen befragt, um herauszufinden, was funktioniert, was nicht und wie Sie vorankommen können.
IBM® Granite ist unsere Familie offener, leistungsfähiger und vertrauenswürdiger KI-Modelle, die auf Unternehmen zugeschnitten und für die Skalierung Ihrer KI-Anwendungen optimiert sind. Entdecken Sie die Optionen zu Sprache, Code, Zeitreihen und Guardrails.
Greifen Sie auf unseren vollständigen Katalog mit über 100 Online-Kursen zu, indem Sie noch heute ein Abonnement für Einzel- oder Mehrbenutzer erwerben, mit dem Sie Ihre Fähigkeiten in einer Reihe unserer Produkte zu einem günstigen Preis erweitern können.
Das Programm, das von führenden IBM Experten geleitet wird, soll Führungskräften dabei helfen, das nötige Wissen zu erwerben, um die Prioritäten für KI-Investitionen zu setzen, die zu mehr Wachstum führen.
1 Gartner Innovation Insight: Vector Databases, Gartner, 4. September 2023.
2 2024 Strategic Roadmap for Storage, Gartner, 27. Mai 2024.
IBM web domains
ibm.com, ibm.org, ibm-zcouncil.com, insights-on-business.com, jazz.net, mobilebusinessinsights.com, promontory.com, proveit.com, ptech.org, s81c.com, securityintelligence.com, skillsbuild.org, softlayer.com, storagecommunity.org, think-exchange.com, thoughtsoncloud.com, alphaevents.webcasts.com, ibm-cloud.github.io, ibmbigdatahub.com, bluemix.net, mybluemix.net, ibm.net, ibmcloud.com, galasa.dev, blueworkslive.com, swiss-quantum.ch, blueworkslive.com, cloudant.com, ibm.ie, ibm.fr, ibm.com.br, ibm.co, ibm.ca, community.watsonanalytics.com, datapower.com, skills.yourlearning.ibm.com, bluewolf.com, carbondesignsystem.com