- Cohere hat einen Datensatz veröffentlicht, in dem die gesamte Wikipedia als Vektoren eingebettet ist
- Mit diesem Datensatz können Einzelpersonen einen semantischen Vektorindex der Wikipedia erstellen
Die Schwierigkeiten
- Die Größe des Datensatzes (allein das englische Korpus umfasst 180 GB) ist nicht das Problem
- Bisherige Vektordatenbanken konnten keine Datensätze indexieren, die größer als der Arbeitsspeicher sind
- Die Bibliothek JVector ermöglicht es, mit komprimierten Vektoren Datensätze zu indexieren, die größer als der Arbeitsspeicher sind
Anforderungen
- Linux oder MacOS erforderlich (Windows ist wegen Einschränkungen von ChronicleMap nicht nutzbar)
- 180 GB freier Speicherplatz für den Datensatz und 90 GB Speicherplatz für den Index erforderlich
- Genügend RAM erforderlich, um beim Aufbau des Index eine JVM mit 36 GB Heap ausführen zu können
- Vor dem Aufbau des Index muss Swap deaktiviert werden
Index aufbauen und durchsuchen
Wie es funktioniert
- Erstellung eines Vektorindex mit JVector, Speicherung der Artikeldaten mit Chronicle Map
- Für die Vektorkomprimierung wird Locally-Adaptive Quantization (LVQ) verwendet
- Datenparallelisierung mithilfe paralleler Streams
Fazit
- Dank der JVector-Bibliothek wird es realistisch, die gesamte englische Wikipedia auf einem Laptop zu indexieren
- Zusammen mit dem DataStax-Astra-Service lassen sich leistungsfähige Indexierungsfunktionen mit Unterstützung für Echtzeit-Einfügungen, -Updates und -Löschungen nutzen
Meinung von GN⁺
- Innovationskraft von JVector: JVector könnte den Bereichen Data Science und Suchmaschinen einen großen Innovationsschub geben, weil damit große Datensätze ohne Speicherbeschränkungen indexiert werden können.
- Praxisnutzen: Da Einzelpersonen nun die gesamte Wikipedia auf einem Laptop indexieren können, wird es für Forschende und Entwickler einfacher, große Datensätze zu nutzen.
- Technische Aspekte: Für den Einsatz dieser Technik sind ausreichend Festplattenspeicher und Arbeitsspeicher sowie Systemeinstellungen wie das Deaktivieren von Swap erforderlich.
- Alternative Technologien: Andere Open-Source-Projekte mit ähnlichen Funktionen sind etwa FAISS (Facebook AI Similarity Search) oder Annoy (Approximate Nearest Neighbors Oh Yeah).
- Leistungsoptimierung: Durch Parallelverarbeitung und Vektorkomprimierung lässt sich die Leistung optimieren, allerdings ist ein sorgfältiges Ressourcenmanagement des Systems nötig.
Noch keine Kommentare.