GEO /

Stop Using Full Vectors

Parsec

TLDR: TurboQuant (Google Research, ICLR 2026) is the new bar for vector compression. Dasein beats it byte-matched on 27 of 27 cells in Efficient mode and 27 of 28 in Quality. Full ablation in the public repo. Geometric visualization of a vector field compressing while preserving rank-relevant structure. Vector compression decides whether your candidate pool fits in RAM at 10M vectors. RAM-resident is what makes sub-millisecond retrieval at scale possible. Sub-millisecond retrieval is what makes sub-second multi-hop agentic search possible. Sub-second multi-hop is what stops your users from feeling like the agent is broken. So compression matters, and the bar moved this year. What moved: Google Research published TurboQuant in March 2025 (arXiv 2504.19874, accepted to ICLR 2026). It's a data-oblivious quantizer — PolarQuant (AISTATS 2026, a rotation-based coordinate transform) with a 1-bit QJL residual correction (AAAI 2025). The proven guarantee: the same compression rate is achievable within ~2.7× of the information-theoretic distortion-rate limit, with no training and no per-corpus tuning. Turbovec started shipping it in May. Every major vector database will ship some version inside a year. For context, Pinecone, Weaviate, Qdrant, Milvus, and Faiss all run the same hierarchy underneath TurboQuant: scalar at 4× compression, product quantization at 6–8×, binary at 32× with rescoring, OPQ (Ge et al. 2013) at the academic SOTA before TurboQuant arrived. TurboQuant is the new ceiling. We compress past it. What Dasein does: A data-oblivious rotation-based quantizer with a residual correction step that exploits structure in the rotated representation that pure random rotation throws away. We keep the data-oblivious property — works on any corpus without retraining — and gain a measurable margin in retrieval quality at every byte budget we tested. The algorithm is closed. The receipts are open. The ablation: Methodology: 100,000-vector subsamples of MIRACL Wikipedia. 13 open-source encoders from MiniLM-L6 (22M, 384-dim) through E5-Mistral-7B (4096-dim) and GTE-Qwen2-7B (3584-dim), covering BERT, XLM-R, Matryoshka, and decoder-LLM families. Five languages: English, Chinese, Arabic, Russian, Hindi. Plus a 5-language mixed corpus. Every encoder × language cell compares Dasein Efficient (~384 B/vec at d=1024) against TurboQuant-3 (~384 B/vec) byte-matched, and Dasein Quality (~640 B/vec) against TurboQuant-5 (~640 B/vec) byte-matched. Across 27 encoder × language cells: Dasein Efficient vs TurboQuant-3 (~384 B/vec) — 27/27 cosine wins, 27/27 R@10 wins, and a −5.7 percentage-point mean R@10 gap (TurboQuant minus Dasein). Dasein Quality vs TurboQuant-5 (~640 B/vec) — 27/28 cosine wins, 26/28 R@10 wins, and a −1.7 percentage-point mean R@10 gap (TurboQuant minus Dasein). Zero ties on Efficient. The one near-loss on Quality is in a cell where TurboQuant carries +320 extra bytes per vector — at matched bytes, Dasein wins everywhere we ran it. Dasein vs TurboQuant 27-cell win rate, faceted by encoder family. Cross-lingual is where data-oblivious gets tested: Data-oblivious is supposed to mean cross-lingual generalization comes for free — same compression, same byte budget, different embedding distributions. If a scheme is quietly overfitting to English geometry, non-English numbers fall apart. On multilingual-e5-large at d=1024 — the BERT/XLM-R encoder most production multilingual workloads run — Dasein Efficient leads TurboQuant-3 by 8 to 10 R@10 points across English, Chinese, Arabic, Russian, and Hindi. On the 5-language mixed corpus, where the embedding distribution is a mixture and the rotation assumption gets the hardest test, the lead holds. Cross-lingual heatmap: Dasein R@10 minus TurboQuant R@10 across 3 multilingual encoders × 5 languages, all positive. If your Pinecone or Qdrant index gives 4× lower recall on Arabic than English, this is where the problem starts. Tail behavior is what matters for multi-hop: Methods that look fine on mean cosine can blow up on individual hard vectors. In single-hop retrieval that's a shrug. In a 4-hop agentic chain, one bad hop ends the chain — the agent goes off course at hop 2 and never recovers. For multi-hop, the tail dominates the mean. Across all 29 cells, Dasein Efficient's 1st-percentile per-vector cosine averages 0.9958. TurboQuant-3 averages 0.9794. A 1.6-percentage-point tail-quality lead on the worst 1% of vectors at matched bytes. Worst-case per-vector cosine: Dasein 0.9763, TurboQuant 0.9674. If your retrieval works in eval and fails on rare production queries, the tail is where you're losing. Tail behavior: 1st-percentile cosine for Dasein Efficient and Quality vs TurboQuant-3 and TurboQuant-5 across all 29 cells. At high dimension, Dasein uses fewer bytes: Below d=1024 we pay a fixed 128-byte rotation header, so we spend a little more per vector at the same compression ratio. Above d=1024 it flips: TurboQuant scales linearly with dimension while our header stays constant. E5-Mistral at d=4096: Dasein Quality at 2,176 bytes per vector vs TurboQuant-5 at 2,560 — 17% smaller, higher recall. When 7B-class encoders move into production, byte-per-vector is what decides whether the index fits in RAM at all. Why this matters: 12× compression on a 10M-vector index at d=1024 drops storage from ~40 GB (FP32) to under 4 GB. That's the threshold where the working index fits in a single retrieval pod's RAM. RAM-resident is what makes sub-millisecond per-query reads possible at 10M scale, which is what makes sub-1-second 4-hop agentic search possible. Without 12× compression, the chain doesn't close. Cross-encoder reranking is orthogonal — rerankers operate on candidate sets the ANN returns. If you want the recall lift without the rerank latency, see Dynamic Hybrid. If you want throughput at 10M vectors against every major vector database, see the VDBBench dashboard at https://results.daseinai.ai/results The full byte-matched ablation lives in turboquant_ablation_results.md in the repo. Run it.