turbovec
RyanCodrai
Rust-Vektorindex mit TurboQuant-Kompression (ICLR 2026) - SIMD-Kernel, Online-Ingest.
Was ist turbovec?
turbovec implementiert Googles TurboQuant-Algorithmus (ICLR 2026) in Rust mit Python-Bindings und handgeschriebenen SIMD-Kerneln (NEON, AVX-512). Es behauptet, ein 10M-Dokument-Korpus von 31 GB auf 4 GB zu komprimieren, mit schnellerer Suche als FAISS in 4-Bit-Konfigurationen (eigene Angabe des Projekts), unterstützt Online-Ingest ohne Trainingsphase und integriert sich mit LangChain, LlamaIndex, Haystack und Agno.
turbovec im Detail
Vektorsuche bildet die Grundlage der meisten Retrieval-Augmented-Generation- und Semantic-Search-Systeme, doch Embeddings in voller Präzision zu speichern ist teuer. Ein Korpus aus 10 Millionen Dokumenten mit 1536-dimensionalen float32-Vektoren braucht rund 31 GB RAM, was Teams zu größeren Maschinen oder Managed Services drängt. turbovec, eine Rust-Bibliothek mit Python-Bindings vom Einzelentwickler Ryan Codrai, setzt genau hier an. Es ist ein komprimierter Vektorindex, der denselben Korpus in etwa 4 GB hält, eine Reduktion um den Faktor 16, und dabei schnell durchsucht. Das Projekt versteht sich als offene Implementierung von TurboQuant, einem von Google Research auf der ICLR 2026 veröffentlichten Quantisierungsalgorithmus, geliefert mit handgeschriebenen SIMD-Kerneln und Drop-in-Adaptern für gängige RAG-Frameworks, sodass es sich ohne großen Umbau in bestehende Pipelines einfügt.
TurboQuant arbeitet datenunabhängig: Es komprimiert Vektoren über das mathematische Verhalten normalisierter, zufällig rotierter Verteilungen, statt aus den Daten zu lernen. Die Pipeline extrahiert die Länge jedes Vektors, wendet eine orthogonale Rotation an, damit die Koordinaten vorhersehbaren Beta-Verteilungen folgen, und nutzt dann vorberechnete Lloyd-Max-Buckets (4 für 2-Bit, 16 für 4-Bit) sowie Bit-Packing, ergänzt um einen koordinatenweisen Kalibrierungsschritt namens TQ+, der die Abweichung bei endlichen Dimensionen korrigiert. Die bemerkenswerte Folge: Es gibt keine Trainingsphase. Vektoren lassen sich online aufnehmen und der Index auf die Festplatte schreiben. Das Filtern steckt im SIMD-Kernel auf Ebene von 32-Vektor-Blöcken, sodass Blöcke ohne erlaubte Treffer vor jeder Bewertung übersprungen werden, was Anfragen mit Allowlist effizient hält. NEON- und AVX-512-Kernel zielen auf ARM beziehungsweise modernes x86.
turbovec passt zu Teams mit schneller Semantic Search über große Korpora, bei denen Speicher- oder Arbeitsspeicherbudgets knapp sind, besonders im Bereich ab 10 Millionen Dokumenten. Da kein Trainingsschritt nötig ist, eignet es sich für dynamische Sammlungen, die laufend wachsen, etwa eine Wissensdatenbank oder ein Dokumentenspeicher, der über den Tag neue Inhalte aufnimmt, wo ein erneutes Trainieren des Quantisierers umständlich wäre. Die Unterstützung stabiler externer IDs mit add_with_ids, remove und Allowlist-Filterung macht es für Multi-Tenant-Setups oder nutzerbezogenes Dokument-Scoping innerhalb einer RAG-Anwendung brauchbar. Die Adapter für LangChain, LlamaIndex, Haystack und Agno erlauben es, einen schwergewichtigeren Vector Store in einem Prototyp oder Self-Hosting-Setup zu ersetzen, und der Rust-Kern ist über cargo auch direkt für Teams außerhalb von Python verfügbar.
Die ehrlichen Einschränkungen wiegen schwer. turbovec ist ein Projekt eines einzelnen Entwicklers ohne sichtbares Team oder organisatorischen Rückhalt, und das Repository ist jung und im Beta-Stadium, sodass die Produktionsreife im großen Maßstab unbelegt bleibt. Die Abwägung zwischen Kompression und Recall stützt sich weitgehend auf die eigenen Benchmarks des Projekts: Es berichtet, FAISS bei R@1 um etwa 0,2 bis 1,9 Punkte auf OpenAI-Embeddings zu schlagen und bei der Geschwindigkeit auf Apple-Silicon um 10 bis 19 Prozent vorn zu liegen, doch diese Zahlen sind nicht unabhängig geprüft, und die Autoren räumen offen ein, bei 2-Bit auf x86 hinter FAISS zu liegen, wo dessen AVX-512-VBMI-Pfad gewinnt. Sie weisen auch darauf hin, dass die Annahme der Beta-Verteilung asymptotisch ist und bei endlichen Dimensionen abweicht, besonders bei niedrigen Bitbreiten und Wortvektor-Embeddings, weshalb es die TQ+-Kalibrierung gibt. Quantisierung ist von Natur aus verlustbehaftet, daher spüren Anwendungsfälle mit maximalem Recall den Preis.
Gegenüber Managed-Angeboten wie Pinecone oder Zilliz Cloud ist turbovec eine andere Art von Lösung: eine Bibliothek, die man selbst einbettet und betreibt, kein gehosteter Dienst mit SLA, Replikation oder Supportvertrag. Das macht es attraktiv, wenn man Kontrolle, niedrige Speicherkosten und keine Preisgestaltung pro Vektor möchte und das Team den operativen Teil selbst tragen will. Lohnenswert ist die Einführung für schnelle Semantic Search über sehr große Korpora, bei denen float32-Embeddings in voller Größe zu teuer sind, vor allem auf ARM-Hardware. Zu früh ist es, wenn man garantiert maximalen Recall unabhängig vom Speicher braucht oder eine kommerziell unterstützte Vektordatenbank mit Verfügbarkeitszusagen. Der peer-reviewte Algorithmus und die saubere API sind echte Stärken, doch behandle es als vielversprechende Infrastruktur, die man pilotieren, auf den eigenen Daten benchmarken und validieren sollte, bevor man die Produktion darauf setzt.
Vor- & Nachteile
Pros
- Basiert auf einem peer-reviewed ICLR-2026-Paper
- SIMD-optimierter Rust-Core mit ergonomischen Python-Bindings
- Keine Trainingsphase - Online-Ingest eignet sich für dynamische Collections
Cons
- Einzelentwickler - kein sichtbares Team oder organisatorisches Backing
- Beta-Reifegrad und junges Repo - Produktionszuverlässigkeit im großen Maßstab unbewiesen
- Kompression-vs.-Recall-Tradeoffs nicht unabhängig benchmarkt
Lizenz
MIT (OSI-open)
Wann interessant
Schnelle semantische Suche über große Korpora (10M+) mit Storage-Budgets, die für volle float32-Embeddings zu eng sind.
Wann zu früh
Anwendungsfälle, die maximalen Recall bei beliebigen Storage-Kosten erfordern, oder eine kommerziell unterstützte Vektor-DB mit SLA.
Kommerzielle Alternative & Verwandtes
- Kommerzielles Pendant: Pinecone / Zilliz Cloud
Dieses Repo war in der Ausgabe 2026-07 des Open-Source-KI-Radars.
langextract
Python-Bibliothek von Google für LLM-gestützte strukturierte Extraktion mit Source Grounding.
LEANN
StarTrail-org
RAG auf allem - graphbasierter Vektorindex mit behaupteten 97% Storage-Einsparungen für private On-Device-Suche.
chandra
datalab-to
Hochgenaue Dokumenten-Digitalisierung (OCR/Layout) mit offenem Code und einem open-weight-Modell.