Was ist Milvus?

Nahaufnahme eines Fingers, der einen Bildschirm berührt

Autoren

Matthew Kosinski

Staff Editor

IBM Think

Was ist Milvus?

Milvus ist eine Open-Source-Vektordatenbank, die von Zilliz entwickelt wurde. Milvus ist dafür bekannt, einen skalierbaren Speicher für große Mengen von Vektoreinbettungen bereitzustellen und eine hohe Leistung bei der Ähnlichkeitssuche von Vektordaten zu unterstützen.

Zilliz entwickelte Milvus erstmals im Jahr 2017 und brachte das Projekt 2020 in die Linux® Foundation ein. Milvus ist jetzt sowohl als Open-Source-Software unter der Apache License 2.0 als auch als vollständig verwalteter Cloud-Service von Zilliz erhältlich.

Was sind Vektordatenbanken und warum sind sie wichtig?

Vektordatenbanken speichern und verwalten Datensätze in Form von Vektoren. Sie können Unternehmen bei der Verwaltung unstrukturierter Daten helfen und sind für fortschrittliche künstliche Intelligenz (KI) und maschinelles Lernen (ML) entscheidend.

Vektoren sind Anordnungen von Zahlen, die komplexe Konzepte und Objekte wie Wörter und Bilder darstellen.  

Unstrukturierte Daten – wie Text, Video und Audio – machen heute einen erheblichen Teil der Unternehmensdaten aus, aber herkömmliche Datenbanken sind oft nicht geeignet, diese Daten zu organisieren und zu verwalten.  

Unternehmen können diese Daten in spezialisierte Deep Learning-Einbettungsmodelle einspeisen, die Vektordarstellungen als Ausgabe haben, die als „Einbettungen“ bezeichnet werden. Zum Beispiel könnte das Wort „Katze“ durch den Vektor [0,2, -0,4, 0,7] dargestellt werden, während das Wort „Hund“ durch [0,6, 0,1, 0,5] dargestellt werden könnte.

Die Umwandlung von Daten in Vektoren ermöglicht es Unternehmen, verschiedene Arten von unstrukturierten Daten in einem gemeinsamen Format in einer Vektordatenbank zu speichern.  

Unternehmen helfen auch dabei, den Wert dieser Daten für KI und ML zu freischalten. Vektoren erfassen die semantischen Beziehungen zwischen Elementen und ermöglichen so eine effektive Verarbeitung durch große Sprachmodelle (LLMs) und durch Tools der generativen KI (Gen AI). Die meisten fortschrittlichen KI- und ML-Anwendungen stützen sich heute auf Vektoren für das Training und die Erstellung von Inhalten.

Wie andere Vektordatenbanken auch, bietet Milvus Unternehmen eine Möglichkeit zur Verwaltung und Organisation von Einbettungsvektoren. Die hochgradig skalierbare Speicherung und die effizienten Vektorsuchfunktionen der Milvus-Vektordatenbank haben sie zu einer beliebten Wahl für Retrieval Augmented Generation (RAG), Empfehlungssysteme und andere KI-Anwendungen gemacht.  

3D-Design aus Kugeln, die auf einer Schiene rollen

Die neuesten Erkenntnisse und Insights zu KI

Entdecken Sie von Experten kuratierte Erkenntnisse und Neuigkeiten zu KI, Cloud und mehr im wöchentlichen Newsletter Think. 

Die Architektur von Milvus

Milvus ist eine cloudnative Vektordatenbank mit einer mehrschichtigen, Microservice-basierten Architektur. Milvus trennt Speicher- und Rechenressourcen, sodass Unternehmen jede Ebene unabhängig und horizontal skalieren können.

Milvus ist mit verschiedenen Embedding-Modellen kompatibel. Unternehmen können ihre Modelle mit Milvus verbinden, das die Einbettungen zusammen mit Metadaten und anderen relevanten Informationen aufnimmt. Milvus unterstützt Streaming und Batch-Embedding-Uploads.

Milvus hat 4 Schichten:

  • Zugriffsschicht: Dies ist die nach außen gerichtete Schicht, die Eingaben von Benutzern und Diensten akzeptiert und Ausgaben zurückgibt.  

  • Koordinatordienst: Zilliz bezeichnet diese Schicht als das „Gehirn“ des Systems, da sie Lastausgleich, Datenverwaltung, Abfrageausführung und andere wichtige Aufgaben orchestriert. 

  • Arbeitsknoten: Diese Schicht führt Abfragen aus, aktualisiert Daten und erstellt Indizes. 

  • Object-Storage-Schicht: Diese Schicht umfasst einen Metadatenspeicher, einen Protokollbroker, der Datenänderungen in Echtzeit aufzeichnet, und einen Objektspeicher, der Protokoll-Snapshots, Indexdateien und Ergebnisse enthält.

Milvus-Bereitstellungstypen

  • Milvus Lite: Eine Python-Bibliothek, mit der Benutzer Milvus in lokalen Umgebungen ausführen können. Milvus Lite unterstützt derzeit Ubuntu und MacOS, jedoch nicht Microsoft Windows.

  • Milvus Standalone: Eine vollständige Milvus-Datenbank, die in einem einzigen Docker-Image verpackt ist und auf einem einzigen Computer ausgeführt wird. 

  • Milvus Cluster: Eine verteilte Vektordatenbank, die Dienste auf Gruppen von Knoten in einem Kubernetes-Cluster verteilt.  

  • Zilliz Cloud: Die vollständig verwaltete Version von Milvus.
Mixture of Experts | 12. Dezember, Folge 85

KI entschlüsseln: Wöchentlicher Nachrichtenüberblick

Schließen Sie sich unserer erstklassigen Expertenrunde aus Ingenieuren, Forschern, Produktführern und anderen an, die sich durch das KI-Rauschen kämpfen, um Ihnen die neuesten KI-Nachrichten und Erkenntnisse zu liefern.

Hauptmerkmale und Funktionen von Milvus

Erweiterte Suchfunktionen 

Milvus unterstützt hohe Leistung Vektorähnlichkeitssuchen, eine Art der Vektorsuche, die Ergebnisse zurückgibt, die einer Abfrage semantisch ähnlich sind. Der Nutzen der Ähnlichkeitssuche ist, dass sie nicht auf exakte Treffer beschränkt ist, wie es bei einer herkömmlichen Stichwortsuche der Fall wäre.  

Eine Stichwortsuche nach „bestes Pizzarestaurant“ würde zum Beispiel nur Ergebnisse liefern, die die Wörter „bestes“, „Pizza“ und „Restaurant“ enthalten. Eine Ähnlichkeitssuche nach demselben Schlüsselwort würde alle Ergebnisse für besonders empfehlenswerte Pizzerien finden, auch wenn die genauen Wörter „bestes Pizzarestaurant“ nicht im Inhalt verwendet werden.

Milvus unterstützt mehrere Ähnlichkeitssuchtypen, darunter Top-k Approximative Next Neighbor (ANN) und Range ANN.  

Milvus unterstützt auch hybride Suchen, die semantische Vektorsuchen mit anderen Kriterien kombinieren, wie Metadatenfilterung oder Stichwortsuche.

Hybride Suchen können die Suche effizienter und relevanter machen. Denken Sie an eine Suche, die Schlüsselwörter und Vektorsuche kombiniert. Die Suche kann zunächst bestimmte Schlüsselwörter verwenden, um die Ergebnisse auf der Grundlage von exakten Übereinstimmungen zu filtern, und dann die vektorielle Ähnlichkeitssuche verwenden, um diese gefilterten Ergebnisse nach den semantisch relevantesten Inhalten zu durchsuchen.  

Indizierung 

Milvus unterstützt verschiedene Indizierungstypen, darunter hierarchische navigierbare Small World (HNSW), invertierte Dateien (IVF) und GPU-basierte Indizes.

Die Indexierung von Vektoren kann helfen, Suchanfragen zu beschleunigen. Zum Beispiel clustert HNSW ähnliche Vektoren während der Indexerstellung zusammen, was es einfacher macht, schneller relevante Ergebnisse zu finden

.
Skalierbarkeit 

Die Schichten von Milvus können unabhängig voneinander skaliert werden, was Unternehmen eine kosten- und ressourceneffiziente Möglichkeit bietet, große Mengen an Vektordaten und intensive Suchvorgänge zu verarbeiten.

Integrationen und Kompatibilität 

Milvus bietet zahlreiche Software Development Kits (SDKs) zur Unterstützung der Entwicklung in verschiedenen Sprachen an, darunter Python (Pymilvus), Java und Go.

Milvus kann auch mit Analysetools wie Apache Spark, Frameworks wie LangChain und generativen KI-Modellen wie IBM watsonx™, Metas Llama und OpenAIs GPT-Modellen integriert werden. 

Open Source

Eine große Open-Source-Community trägt Fixes, Updates und andere Verbesserungen zu den GitHub-Repos von Milvus bei.

Milvus vs. andere Vektordatenbanken

Milvus vs. Pinecone

Sowohl Pinecone als auch Milvus bieten eine Suche mit geringer Latenz und skalierbaren Speicherplatz, aber Pinecone ist eine proprietäre Vektordatenbank und nur als Managed Service verfügbar.

Milvus vs. Weaviate

Wie Milvus ist auch Weaviate Open Source und unterstützt hybride Suchanfragen. Ein wesentlicher Unterschied besteht darin, dass Milvus mehr Indizierungstypen anbietet als Weaviate.

Milvus vs. Qdrant

Qdrant ist eine weitere Open-Source-Vektordatenbank, die für ihre leistungsstarken Metadaten-Filterfunktionen bekannt ist. Während Qdrant für Anwendungen in mittlerem Umfang gut geeignet ist, kann Milvus im Allgemeinen größere Mengen an Vektordaten verarbeiten.

Milvus vs. Chroma

Chroma konzentriert sich auf Benutzerfreundlichkeit und schnelle lokale Bereitstellung. Chroma verfügt nicht über eine verteilte Architektur, wodurch es weniger skalierbar ist. Während Chroma häufig für die Erstellung von Prototypen und Tests verwendet wird, kann Milvus eine breitere Palette von Anwendungsfällen unterstützen.

Häufige Anwendungsfälle von Milvus

Unternehmen verwenden Milvus zur Unterstützung zahlreicher KI-Anwendungen, darunter:

  • Retrieval-Augmented Generation (RAG)

  • Empfehlungssysteme

  • Suche nach Medien 

  • Erkennung von Anomalien und Betrugserkennung

Retrieval-Augmented Generation (RAG)

RAG ist eine Architektur, die KI-Modelle mit externen Wissensdatenbanken verbindet, damit diese relevantere und genauere Ergebnisse liefern können.  

Milvus ist in RAG-Implementierungen üblich, da es effiziente hybride Suchen unterstützt. Durch die Kombination des kontextuellen Verständnisses der semantischen Suche mit der Präzision der Stichwortsuche und der Metadatenfilterung kann Milvus dabei helfen, relevante Dokumente, Code-Snippets und andere Informationen aus RAG-Quellen zu finden.

CacheGPT, ein von Zilliz entwickelter Open-Source-Semantikcache für LLMs, hilft Milvus auch bei der Unterstützung von RAG-Implementierungen. CacheGPT speichert Antworten von generativen KI-Apps als Vektoreinbettungen.

Verbundene Dienste – wie RAG-Schnittstellen – müssen nicht bei jeder Suche einen API-Aufruf an die generative KI senden. Stattdessen können sie zuerst den Cache überprüfen und die generative KI nur dann aufrufen, wenn die Antwort nicht vorhanden ist.

Empfehlungssysteme

Milvus wird gerne in Empfehlungssystemen eingesetzt, die Inhalte, Produkte und Werbung auf der Grundlage des bisherigen Verhaltens der Nutzer zuordnen. 

Die Präferenzen der Benutzer können als Vektoren dargestellt werden, und eine Ähnlichkeitssuche kann die Vektordarstellungen von Produkten, Anzeigen und Inhalten aufzeigen, die den Präferenzen des Benutzers nahe kommen.

Mediensuchen

Die Ähnlichkeitssuchfunktionen von Milvus können die Bildsuche, Audiosuche, Videosuche und andere Mediensuchen optimieren.

Anomalie und Betrugserkennung

Milvus kann verwendet werden, um Fehler an Produkten zu erkennen, indem die Vektoren der Produktbilder mit den Vektoren verglichen werden, die die richtigen Formen dieser Produkte darstellen. Unterschiede zwischen den Vektoren könnten auf Defekte hinweisen.

Milvus kann auch dabei helfen, Anomalien in anderen Kontexten zu erkennen. In der Cybersicherheit können Vektoren, die autorisierte Netzwerkaktivitäten repräsentieren, mit Vektoren verglichen werden, die bekannte bösartige Aktivitäten repräsentieren. Ebenso können im Finanzwesen Vektoren, die Transaktionen darstellen, analysiert werden, um Abweichungen zu identifizieren, die auf Betrug hinweisen könnten.

Weiterführende Lösungen
IBM watsonx.ai

Trainieren, validieren, optimieren und implementieren Sie generative KI, Foundation Models und maschinelle Lernfunktionen mit IBM watsonx.ai, einem Studio der nächsten Generation für AI Builder in Unternehmen. Erstellen Sie KI-Anwendungen mit einem Bruchteil der Zeit und Daten.

watsonx.ai erkunden
Lösungen im Bereich künstlicher Intelligenz

Setzen Sie KI in Ihrem Unternehmen ein
– mit branchenführendem Fachwissen im Bereich KI und dem umfassenden Lösungsportfolio von IBM an Ihrer Seite.

Erkunden Sie KI-Lösungen
Beratung und Services zu künstlicher Intelligenz (KI)

Die KI-Services von IBM Consulting unterstützen Sie dabei, die Art und Weise, wie Unternehmen mit KI arbeiten, neu zu denken.

KI-Services entdecken
Machen Sie den nächsten Schritt

Profitieren Sie von einem einheitlichen Zugriff auf Funktionen, die den gesamten Lebenszyklus der KI-Entwicklung abdecken. Erstellen Sie leistungsstarke KI-Lösungen mit benutzerfreundlichen Oberflächen, Workflows und Zugriff auf branchenübliche APIs und SDKs.

watsonx.ai erkunden Buchen Sie eine Live-Demo