Vektordatenbanken

Warum Vektorisierung die Basis für GenAI ist

11.12.2023 von Isaac Sacolick
Vektordatenbanken und Vektorsuche sind nicht neu, aber ihre Bedeutung nimmt zu: Vektorisierung von Daten ist für generative KI und die Arbeit mit LLMs unerlässlich. Lesen Sie, was Sie dazu wissen müssen.
Viele KI-Szenarien brauchen Vektordatenbanken, um unstrukturierte Daten performant verarbeiten zu können.
Foto: MDV Edwards - shutterstock.com

Eines meiner ersten Projekte als Softwareentwickler war das Schreiben von Algorithmen für die Gen-Analyse. Wir entwickelten Software, um Elektrophorese-Proben in eine Datenbank einzuscannen, und meine Aufgabe war es, die Bilder von DNA-Mustern in darstellbare Daten zu konvertieren. Zu diesem Zweck wandelte ich das jeweilige Bild in einen Vektor um, wobei jeder Punkt die Eigenschaften des Samples repräsentierte. Nach dieser Vektorisierung konnten wir die Informationen effizient speichern und die Ähnlichkeiten zwischen den DNA-Proben berechnen.

Die Umwandlung unstrukturierter Informationen in Vektoren ist heute gang und gäbe. Sie wird in Large Language Models (LLMs), der Bilderkennung, der Verarbeitung natürlicher Sprache, für Empfehlungsmaschinen und für andere Anwendungsfällen des maschinellen Lernens (ML) eingesetzt.

Entwickler konvertieren unstrukturierte Daten in Vektoren

Vektordatenbanken und Vektorsuche sind die beiden bevorzugten Plattformen, auf denen Entwickler unstrukturierte Informationen in Vektoren konvertieren. Heute spricht man allgemein von Vektoreinbettungen oder Embeddings. Sobald Informationen als solche Embeddings kodiert sind, lassen sie sich einfacher und schneller speichern, suchen und vergleichen. Sie sind zudem für große Datensätze wesentlich besser skalierbar.

Charles Xie ist CEO von Zilliz, Anbieter eines Vektor-Datenbankmanagement-Systems, auf das große Unternehmen ihre KI-Anwendungen aufsetzen. "Wir haben festgestellt, dass trotz des starken Interesses das eigentliche Potenzial von Vektordatenbanken immer noch unterschätzt wird", sagt Xie. "Der Vorteil liegt in der Fähigkeit, tief in einen immens großen Pool von unstrukturierten Daten eintauchen und deren Werte freisetzen zu können. Die Rolle von Vektordatenbanken ist nicht auf das Speichern von Daten für LLMs beschränkt. Sie haben viel weitreichendere transformative Fähigkeiten, die viele noch nicht erkannt haben."

Wie Vektordatenbanken funktionieren

Stellen Sie sich vor, Sie wollen eine Suchmaschine bauen, die Digitalkameras identifiziert. Die Kameras haben Dutzende von Merkmalen, darunter Größe, Marke, Preis, Objektivtyp, Sensortyp, Bildauflösung und viele andere mehr. Angenommen, Sie wollen 50 Attribute heranziehen, anhand derer Sie einen Bestand von 2.500 Kameras durchsuchbar machen wollen. Es gibt viele Möglichkeiten, die Such- und Vergleichsfunktionen zu implementieren, aber ein Ansatz besteht darin, via Embedding jedes Merkmal in einen oder mehrere Datenpunkte umzuwandeln. Sobald die Attribute auf diese Art vektorisiert wurden, können mithilfe von Vektorabstandsformeln Produktähnlichkeiten berechnet werden.

Kameras sind ein eher einfaches Beispiel. Wenn das Problem beispielsweise die Suche in Hunderttausenden von wissenschaftlichen Dokumenten erfordert oder das Bereitstellen von Musikempfehlungen für über 100 Millionen Songs, dann wird die Sache komplizierter. Herkömmliche Suchmechanismen versagen bei solchen Datenmengen, doch die Vektorsuche reduziert die Komplexität und ermöglicht schnelle Berechnungen.

"Eine Vektordatenbank kodiert Informationen und macht daraus eine mathematischen Darstellung, die sich ideal für maschinelles Verstehen eignet", erklärt Josh Miramant, CEO von BlueOrange. "Diese mathematischen Darstellungen oder Vektoren können Ähnlichkeiten und Unterschiede zwischen Daten kodieren. Die Abstände oder Ähnlichkeiten sind das, was Modelle verwenden, um die beste oder schlechteste Antwort auf eine Frage zu bestimmen."

Anwendungsfälle für Vektordatenbanken

Die eigentliche Stärke von Vektordatenbanken liegt darin, dass sich Anwendungen bauen lassen, die komplexe Abfragen in natürlicher Sprache unterstützen. Die Systeme wandeln sie in Embeddings um, so dass sie für die Suche verwendet werden können. Man könnte zum Beispiel sagen: "Finde eine Spiegelreflexkamera im mittleren Preissegment, die neu auf dem Markt ist, hervorragende Videoaufnahmen macht und auch bei eingeschränkten Lichtverhältnissen gut funktioniert." Ein Transformer wandelt diese Frage in Embeddings um, wobei Vektordatenbanken in der Regel Encoder-Transformatoren verwenden.

Zunächst tokenisiert der Entwickler die Frage und zerlegt sie in Wörter. Dann verwendet er einen Transformator, um die Wortpositionen zu kodieren, Relevanzgewichtungen hinzuzufügen und abstrakte Darstellungen mithilfe eines neuronalen Feed-Forward-Netzwerks zu erstellen. Er verwendet schließlich die fertige Einbettung der Frage, um die Vektordatenbank zu durchsuchen.

Vektordatenbanken unterstützen eine breite Palette von Suchoptionen für eine komplexe Informationsquelle mit vielen Attributen und Anwendungsfällen. LLMs haben die Vielseitigkeit von Vektordatenbanken bewiesen, inzwischen setzen Entwickler sie auch für Sprachverarbeitung und andere Bereiche ein, in denen besonders viele Informationen verarbeitet werden sollen.

"Die Vektorsuche hat einen rasanten Aufschwung erlebt, da immer mehr Anwendungen maschinelles Lernen und künstliche Intelligenz einsetzen, um Sprachassistenten, Chatbots, Anomalieerkennung oder auch Empfehlungs- und Personalisierungsmaschinen zu betreiben: Sie alle basieren im Kern auf Vektoreinbettungen", sagt Venkat Venkataramani, CEO von Rockset. "Indem Realtime-Suche und neue Analysefunktionen in der Vektorsuche Einzug halten, können Entwickler Metadaten und Vektoreinbettungen in Echtzeit indexieren und aktualisieren. Das ist eine wichtige Komponente, wenn es um Ähnlichkeitssuchen, Empfehlungsmaschinen, Generative-AI-Fragen und -Antworten sowie Chatbots geht."

Verwendung von Vektordatenbanken in LLMs

Vektordatenbanken versetzen Entwickler in die Lage, spezielle Sprachmodelle zu erstellen. Sie bieten ihnen zudem ein hohes Maß an Kontrolle darüber, wie die Informationen vektorisiert werden. So können die Developer beispielsweise generische Embeddings erstellen, um Menschen bei der Suche nach verschiedenen Arten von Büchern auf einer E-Commerce-Website zu unterstützen. Alternativ können sie bestimmte Vektoreinbettungen für historische, wissenschaftliche oder andere Buchkategorien vornehmen, mit denen dann Fachexperten oder Power-User auch detaillierte Fragen zu den Inhalten von Büchern stellen können.

Mike Finley, CTO von AnswerRocket, beschreibt den technischen Zusammenhang so: "Mit Vektordatenbanken lassen sich recht einfach große Menge unstrukturierter Daten in ein Sprachmodell laden." Man könne sie sich wie ein Wörterbuch oder einen Wissensindex vorstellen, mit einer langen Liste von Schlüsseln (zum Beispiel "Verbrauchertrends im Jahr 2023") und Texten, die mithilfe dieser Schlüssel genutzt werden können (zum Beispiel die Analyse eine Analystenhauses zu den Verbrauchertrends 2023 oder die interne Studie eines Konsumgüterherstellers).

Auswahl einer Vektordatenbank

Entwickler haben verschiedene technische Optionen, wenn es um das Konvertieren von Informationen in Vektoreinbettungen sowie das Erstellen von Vektorsuche, Ähnlichkeitsvergleich und Frage-Antwort-Funktionen geht. "Es gibt sowohl dedizierte Vektordatenbanken auf dem Markt als auch konventionelle Allzweckdatenbanken, die um Vektortechnik erweitert wurden", sagt Peter Zaitsev, Gründer von Percona. Entwickler müssten sich zwischen diesen beiden Optionen entscheiden. "Je nach Anwendung und Teamerfahrung haben beide Ansätze ihre Vorzüge."

Rajesh Abhyankar, Leiter des Gen AI COE bei Persistent Systems, fügt hinzu: "Zu den Vektordatenbanken, die häufig für Suchmaschinen, Chatbots und die Verarbeitung natürlicher Sprache verwendet werden, gehören Pinecone, Faiss und Milvus." Pinecone eigne sich vor allem für Empfehlungssysteme und Betrugserkennung, Faiss für die Suche nach Bildern und Produktempfehlungen. Milvus komme am besten für hochleistungsfähige Echtzeitsuchen und Empfehlungen zum Einsatz.

Weitere spezialisierte Vektordatenbanken sind Chroma, LanceDB, Marqo, Qdrant, Vespa und Weaviate. Zu den Allzweckdatenbanken und -Engines, die Vektorsuchfunktionen bieten, gehören Cassandra, Coveo, Elasticsearch OpenSearch, PostgreSQL, Redis, Rockset und Zilliz. Zudem ist Vektorsuche eine Funktion von Azure Cognitive Search. Microsofts Lösung bietet Konnektoren für viele andere Vektordatenbanken. AWS unterstützt ebenfalls mehrere Optionen für Vektordatenbanken, während Google Cloud über Vertex AI Vector Search sowie über Konnektoren zu anderen Vektordatenbank-Technologien verfügt.

Vektordatenbanken und GenAI-Risiken

Die Verwendung von Vektordatenbanken und -suchen birgt die von generativer KI her bekannten Risiken, etwa die Abhängigkeit von der Datenqualität oder Modellierungsprobleme. Auch Halluzinationen und Konfabulationen gehören dazu. Letztere lassen sich durch eine bessere Qualität der Trainingsdaten und den Zugriff auf Realtime-Informationen in den Griff bekommen.

Joe Regensburger, Forschungschef von Immuta, gibt Empfehlungen, um Modellungenauigkeiten zu reduzieren: "Um mit einem LLM brauchbare Ergebnisse zu erzielen, muss man über gute, kuratierte und kontrollierte Daten verfügen - unabhängig davon, wo die Daten gespeichert sind." Er merkt an, dass die Vektoreinbettung die wichtigste zu lösende Aufgabe sei. Es sei eine echte Wissenschaft, Embeddings so zu erstellen, dass sie die wichtigsten Informationen enthielten und eine flexible Suche unterstützten.

Rahul Pradhan, Vice President für Produkte und Strategie bei Couchbase, ist sogar überzeugt davon, dass Vektordatenbanken helfen können, das Problem der Halluzinationen ganz zu lösen. "Im Zusammenhang mit LLMs bieten sie eine Langzeitspeicherung, um KI-Halluzinationen abzuschwächen und sicherzustellen, dass das Wissen eines Modells kohärent und fundiert bleibt. Dadurch wird das Risiko ungenauer Antworten minimiert", sagt Pradhan.

Fazit: Kein GenAI ohne Vektordatenbanken

Viele Jahre waren SQL-Datenbanken die Speerspitze der technischen Entwicklung. Unternehmen organisierten ihre strukturierten Informationen jahrzehntelang in Tabellen. Heute ermöglichen NoSQL, spaltenbasierte Datenbanken, Dokumentendatenbanken und Objektdatenspeicher den Entwicklern auch halbstrukturierte und unstrukturierte Datensätze zu speichern und abzufragen. Jetzt betreten wir das Zeitalter der generativen KI, für die die Vektortechnologie in ähnlicher Weise grundlegend ist. Vektorisierung zu verstehen und mit Vektordatenbanken vertraut zu sein, wird zu einer Schlüsselfähigkeit für Entwickler. (hv)

Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation Infoworld!