Spezialisierte Datenbank zum Speichern und Abfragen hochdimensionaler Vektoreinbettungen, die eine effiziente Ähnlichkeitssuche ermöglicht und KI-Anwendungen wie RAG unterstützt.
Eine Vektordatenbank ist eine spezialisierte Datenbank, die für die Speicherung und Verwaltung von Daten in Form von hochdimensionalen Vektoren entwickelt wurde. Der Begriff leitet sich von Vektoren ab, bei denen es sich um mathematische Darstellungen von in Daten enthaltenen Merkmalen oder Attributen handelt. Im Gegensatz zu herkömmlichen Datenbanken, die sich gut für die Verarbeitung strukturierter, in Zeilen und Spalten organisierter Daten eignen, ordnet die Struktur einer Vektordatenbank Informationen als Vektordarstellungen mit einer festen Anzahl von Dimensionen an, die nach ihrer Ähnlichkeit gruppiert sind.
Jeder Vektor in einer Vektordatenbank besteht aus einer bestimmten Anzahl von Dimensionen, die von einigen Dutzend bis zu mehreren Tausend reichen kann. Die Anzahl der Dimensionen hängt von der Komplexität und Granularität der Daten ab. Diese Struktur ermöglicht es Vektordatenbanken, komplexe, vielschichtige Informationen effizient zu verarbeiten und schnelle, auf Ähnlichkeit basierende Suchen und Analysen durchzuführen.
Laut der International Data Corporation (IDC) werden bis 2025 weltweit 80 % der neu erstellten Daten unstrukturierte Daten wie Texte, Bilder und Videos sein. Lernbasierte Modelle wie tiefe neuronale Netze werden zunehmend eingesetzt, um diese unstrukturierten Daten für Anwendungen in verschiedenen Branchen zu verwalten – vom E-Commerce bis zum Gesundheitswesen. Diese Anwendungen funktionieren, indem sie die unstrukturierten Daten in Embedding-Vektoren umwandeln. Sobald die Daten „vektorisiert“ wurden, können Aufgaben wie Suchen, Empfehlungen und Analysen über eine ähnlichkeitsbasierte KI-Suche implementiert werden. Die Verwaltung von Vektordaten erfolgt in Vektordatenbanken.
Wann der Einsatz von Vektordatenbanken sinnvoll ist, hängt von den anderen Prozessen und Technologien ab, die Sie verwenden. Sie sind eine Schlüsselkomponente für den Betrieb vieler KI-Systeme, und einige (aber nicht alle) Large Language Model (LLM)-Anwendungen nutzen Vektordatenbanken für schnelle Ähnlichkeitssuchen oder zur Bereitstellung von Kontext oder Fachwissen. Sie spielen beispielsweise eine entscheidende Rolle bei der Retrieval Augmented Generation (RAG), einem Ansatz, bei dem die Vektordatenbank verwendet wird, um den an das LLM übergebenen Prompt zu verbessern, indem der Abfrage zusätzlicher Kontext hinzugefügt wird.
Vektordatenbanken ermöglichen auch die hybride Suche. Dieser Ansatz kombiniert die traditionelle schlüsselwortbasierte Suche mit der semantischen Ähnlichkeitssuche, um relevante Informationen auch dann zu finden, wenn die Schlüsselwörter nicht exakt übereinstimmen. Vektordatenbanken können auch für eine Reihe von Aufgaben der natürlichen Sprachverarbeitung (NLP) verwendet werden, einschließlich semantischer Analysen und Sentiment-Analysen, oder beim Training von Machine Learning (ML)-Modellen.
Ein Vektor ist ein hochdimensionales numerisches Array, das die Position eines bestimmten Punktes über mehrere Dimensionen hinweg ausdrückt. Stellen Sie sich einen Wortvektorraum als eine dreidimensionale Wolke vor, in der Wörter als Punkte dargestellt werden. In diesem Raum gruppieren sich Wörter mit verwandter Bedeutung. Beispielsweise würde der Punkt für „Apfel“ näher bei „Birne“ als bei „Auto“ liegen. Diese räumliche Anordnung spiegelt die semantischen Beziehungen zwischen Wörtern wider, wobei die Nähe eine Ähnlichkeit in der Bedeutung anzeigt.
Ein Vektor wird erzeugt, indem eine Embedding-Funktion auf die Rohdaten angewendet wird, um diese in eine Darstellung zu transformieren. Diese Darstellungen werden als „Embeddings“ (Einbettungen) bezeichnet, da ein ML-Modell eine repräsentative Gruppierung nimmt und sie in einen Vektorraum einbettet. Die Vektoren werden als Zahlenlisten eingebettet, was es ML-Modellen erleichtert, Operationen mit den Daten durchzuführen. Tatsächlich hängt die Leistung von ML-Methoden entscheidend von der Qualität der Vektordarstellungen ab. Ein ganzer Textabschnitt oder eine Gruppe von Zahlen kann auf einen Vektor reduziert werden, sodass das Modell Operationen effizient ausführen kann.
Vektordatenbanken sind so konzipiert, dass sie Daten über hochdimensionale Vektoreinbettungen effizient speichern, indizieren und abfragen können. Sobald ein Benutzer eine Abfrage oder Anfrage in die Vektordatenbank eingibt, beginnt die folgende Abfolge von Prozessen:
Diese Prozesse ermöglichen es Vektordatenbanken, semantische Suchen und ähnlichkeitsbasierte Abrufe durchzuführen, was sie ideal für Anwendungen wie Empfehlungssysteme, Bild- und Videoerkennung, Textanalyse und Anomalieerkennung macht.
Vektordatenbanken bieten eine Reihe von Vorteilen:
Vektordatenbanken werden branchenübergreifend für eine Vielzahl von Anwendungen und Anwendungsfällen eingesetzt. Hier sind einige der häufigsten Beispiele für Vektordatenbanken:
Der Aufstieg von LLMs für Aufgaben wie den Informationsabruf sowie die zunehmende Beliebtheit von E-Commerce- und Empfehlungsplattformen erfordern Vektordatenbank-Managementsysteme, die Funktionen zur Abfrageoptimierung für unstrukturierte Daten bereitstellen können.
In multimodalen Anwendungen werden Daten eingebettet und in Vektordatenbanken gespeichert, was einen effizienten Abruf von Vektordarstellungen ermöglicht. Wenn ein Benutzer eine Textabfrage sendet, nutzt das System sowohl das LLM als auch die Vektordatenbank: Das LLM stellt NLP-Funktionen bereit, während die Algorithmen der Vektordatenbank Suchen nach dem approximierten nächsten Nachbarn (Approximate Nearest Neighbor) durchführen. Dieser Ansatz kann bessere Ergebnisse liefern als die isolierte Verwendung einer der beiden Komponenten.
Vektordatenbanken werden zunehmend über RAG auf LLMs angewendet, was eine bessere Erklärbarkeit ermöglicht, indem der Kontext auf LLM-Ausgaben angewendet wird. Prompts von Benutzern können durch die Einbeziehung von Kontext erweitert werden, um zentrale LLM-Herausforderungen wie Halluzinationen oder Bias zu mindern.
Vektordatenbanken können eine Schlüsselrolle bei der Bilderkennung spielen, indem sie hochdimensionale Embeddings von Bildern speichern, die von ML-Modellen generiert wurden. Da Vektordatenbanken für Ähnlichkeitssuchaufgaben optimiert sind, eignen sie sich ideal für Anwendungen wie Objekterkennung, Gesichtserkennung und Bildsuche.
Vektordatenbanken sind für das schnelle Abrufen von Kontexten durch Ähnlichkeit optimiert. E-Commerce-Plattformen können Vektordatenbanken nutzen, um Produkte mit ähnlichen visuellen Attributen zu finden, während Social-Media-Seiten den Nutzern verwandte Bilder vorschlagen können. Ein anschauliches Beispiel ist Pinterest, wo Vektordatenbanken die Inhaltssuche unterstützen, indem sie jedes Bild als hochdimensionalen Vektor darstellen. Wenn ein Nutzer das Bild eines Sonnenuntergangs an der Küste pinnt, kann das System seine Vektordatenbank schnell durchsuchen, um visuell ähnliche Bilder vorzuschlagen, wie andere Strandlandschaften oder Sonnenuntergänge.
Vektordatenbanken haben NLP revolutioniert, indem sie die effiziente Speicherung und den Abruf von verteilten Wortdarstellungen ermöglichen. Modelle wie Word2Vec, GloVe und BERT werden auf riesigen Textdatensätzen trainiert, um hochdimensionale Word Embeddings zu generieren, die semantische Beziehungen erfassen und dann für den schnellen Zugriff in Vektordatenbanken gespeichert werden.
Da sie eine schnelle Ähnlichkeitssuche ermöglichen, erlauben Vektordatenbanken es Modellen, kontextuell relevante Wörter oder Sätze zu finden. Diese Fähigkeit ist besonders wertvoll für Aufgaben wie semantische Suche, Beantwortung von Fragen (Question Answering), Textklassifizierung und Named Entity Extraction. Darüber hinaus können Vektordatenbanken Embeddings auf Satzebene speichern, wodurch Wortkontexte erfasst und ein nuancierteres Sprachverständnis ermöglicht wird.
Sobald eine Vektordatenbank mithilfe eines Embedding-Modells trainiert wurde, kann sie zur Generierung personalisierter Empfehlungen genutzt werden. Wenn ein Nutzer mit dem System interagiert, werden sein Verhalten und seine Präferenzen verwendet, um das Embedding des Nutzers zu generieren. Beispielsweise kann ein Nutzer ein LLM nach einer Empfehlung für eine Fernsehserie fragen, und die Vektordatenbank kann Fernsehserien vorschlagen, deren Handlung oder Bewertungen den Präferenzen des Nutzers ähneln. Fernsehserien mit Embeddings, die der Codierung des Nutzers am nächsten kommen, werden dann entsprechend empfohlen.
Finanzinstitute nutzen Vektordatenbanken, um betrügerische Transaktionen aufzudecken. Vektordatenbanken ermöglichen es Unternehmen, Transaktionsvektoren in Echtzeit mit bekannten Betrugsmustern zu vergleichen. Die Skalierbarkeit von Vektordatenbanken ermöglicht es ihnen zudem, Risiken zu verwalten und neue Erkenntnisse über das Konsumverhalten zu gewinnen. Diese Datenbanken können Muster identifizieren, die auf bestimmte Aktivitäten hinweisen, indem sie Transaktionsdaten als Vektoren codieren. Darüber hinaus erleichtern sie die Bewertung der Kreditwürdigkeit und die Kundensegmentierung durch die Analyse von Daten zur Verbesserung des Entscheidungsprozesses.
Trotz ihrer vielen Vorteile und Anwendungsfälle gehört zu einem vollständigen Verständnis von Vektordatenbanken auch die Betrachtung ihrer Herausforderungen.
Vektordatenbanken erfordern effiziente Pipelines für die Datenaufnahme (Data Ingestion), bei denen rohe, unverarbeitete Daten aus verschiedenen Quellen bereinigt, verarbeitet und mit einem ML-Modell eingebettet werden, bevor sie als Vektoren in der Datenbank gespeichert werden.
Databricks AI Search löst diese Herausforderung durch eine umfassende Lösung. Es automatisiert die Vektorgenerierung, -verwaltung und -optimierung und übernimmt die Echtzeitsynchronisierung von Quelldaten mit entsprechenden Vektorindizes. Die Software verwaltet Fehler, optimiert den Durchsatz und führt automatische Anpassungen der Batch-Größe sowie automatisches Skalieren (Autoscaling) ohne manuelles Eingreifen durch.
Dieser Ansatz reduziert den Bedarf an separaten Pipelines für die Datenaufnahme, minimiert den Arbeitsaufwand für Entwickler („Developer Toil“) und ermöglicht es Teams, sich auf höherwertige Aufgaben zu konzentrieren, die direkten geschäftlichen Mehrwert schaffen, anstatt Zeit mit dem Aufbau und der Wartung komplexer Datenaufbereitungsprozesse zu verbringen.
Vektordatenbanken erfordern zusätzliche Sicherheit, Zugriffskontrollen und Data Governance sowie die erforderliche Wartung und Verwaltung. Unternehmen benötigen strenge Sicherheits- und Zugriffskontrollen für Daten, damit Benutzer nicht auf GenAI-Modelle zugreifen können, die mit vertraulichen Daten verknüpft sind.
Viele aktuelle Vektordatenbanken verfügen entweder nicht über robuste Sicherheits- und Zugriffskontrollen oder erfordern von Unternehmen die Erstellung und Pflege separater Sicherheitsrichtlinien. Databricks AI Search bietet eine einheitliche Schnittstelle, die Datenrichtlinien definiert, um die Data Lineage automatisch und ohne zusätzliche Tools zu verfolgen. Dies stellt sicher, dass LLMs keine vertraulichen Daten für Benutzer offenlegen, die keinen Zugriff darauf haben sollten.
Da sie leistungsstarke Funktionen für die Ähnlichkeitssuche und den Umgang mit hochdimensionalen Daten bieten, sind Vektordatenbanken unverzichtbare Werkzeuge für Data Scientists, die mit KI- und ML-Modellen arbeiten. Databricks AI Search zeichnet sich als serverlose Vektordatenbank aus, die eine manuelle Konfiguration überflüssig macht, sodass sich Data Scientists auf ihre Kernarbeit statt auf das Infrastrukturmanagement konzentrieren können.
Zu den Hauptvorteilen von Databricks AI Search gehören die nahtlose Integration in die Lakehouse-Architektur, die automatisierte Datenaufnahme und bis zu fünfmal schnellere Ergebnisse im Vergleich zu anderen beliebten Vektordatenbanken. Dank Unity Catalog ist es außerdem mit vorhandenen Data-Governance- und Sicherheitstools kompatibel, was Datenschutz und Compliance gewährleistet.
Databricks AI Search bietet Flexibilität sowohl für Einsteiger als auch für fortgeschrittene Benutzer, mit automatischer Skalierung für die Datenaufnahme und -abfrage sowie Plug-and-Replace-APIs für diejenigen, die mehr Kontrolle über ihre Pipelines bevorzugen. Diese Kombination aus Benutzerfreundlichkeit und hoher Leistung vereinfacht den Aufbau einer Vektordatenbank für Data Scientists aller Erfahrungsstufen.
Vektordatenbanken organisieren Daten als Punkte in einem mehrdimensionalen Vektorraum. Jeder Punkt repräsentiert ein Datenelement, und die Position spiegelt seine Eigenschaften im Verhältnis zu anderen Datenelementen wider. Diese Vektordatenbankstruktur eignet sich gut für viele GenAI-Anwendungen, da Vektor-Embeddings von LLMs generiert werden und Daten einfach gesucht und abgerufen werden können.
Im Gegensatz dazu organisieren Graphdatenbanken Daten, indem sie diese in einer Graphstruktur speichern. Entitäten werden als Knoten in einem Graphen dargestellt, während die Verbindungen zwischen diese Datenpunkten als Kanten dargestellt werden. Die Graphstruktur ermöglicht es, dass die Datenelemente im Speicher eine Sammlung von Knoten und Kanten sind, wobei die Kanten die Beziehungen zwischen den Knoten darstellen. Die vernetzte Struktur von Graphdatenbanken eignet sich gut für Szenarien, in denen die Verbindungen zwischen Datenpunkten ebenso wichtig sind wie die Daten selbst.
Ein Vektorindex und eine Vektordatenbank erfüllen unterschiedliche, aber sich ergänzende Aufgaben beim Umgang mit hochdimensionalen Daten.
Der jüngste Aufstieg von LLMs und GenAI-Anwendungen im Allgemeinen hat zu einer begleitenden Zunahme der Nutzung von Vektordatenbanken beigetragen. Da KI-Anwendungen immer ausgereifter werden, werden die Entwicklung neuer Produkte und die sich ändernden Bedürfnisse der Nutzer die Richtung zukünftiger Trends bei Vektordatenbanken bestimmen – es gibt jedoch einige allgemein erwartete Richtungen für diese Technologie.
Databricks AI Search ist die integrierte Vektordatenbank-Lösung von Databricks für die Data Intelligence Platform. Dieses voll integrierte System macht separate Pipelines für die Datenerfassung überflüssig und wendet Sicherheitskontrollen sowie Data-Governance-Mechanismen an, was einen konsistenten Schutz aller Datenbestände gewährleistet.
Databricks AI Search bietet eine leistungsstarke Out-of-the-box-Erfahrung, mit der LLMs relevante Ergebnisse schnell und mit minimaler Latenz abrufen können. Benutzer profitieren von automatischer Skalierung und Optimierung, wodurch eine manuelle Abstimmung der Datenbank überflüssig wird. Diese Integration optimiert das Speichern, Verwalten und Abfragen von Vektoreinbettungen und erleichtert es Unternehmen, AI-Anwendungen wie Empfehlungssysteme und semantische Suchen zu implementieren, während gleichzeitig die Standards für Datensicherheit und Governance gewahrt bleiben.
Es stehen zahlreiche Ressourcen zur Verfügung, um weitere Informationen über Vektordatenbanken und die Vektorsuche zu erhalten, darunter:
Kontaktieren Sie Databricks, um eine Demo zu vereinbaren und mit uns über Ihre LLM- und Vektordatenbanken zu sprechen.
(Dieser Blogbeitrag wurde mit KI-gestützten Tools übersetzt.) Originalbeitrag
Abonnieren Sie unseren Blog und erhalten Sie die neuesten Beiträge direkt in Ihren Posteingang.