Spectral Tempering for Embedding Compression in Dense Passage Retrieval
Organizations: University of Amsterdam, Amsterdam, The Netherlands
Abstract
Dimensionality reduction is critical for deploying dense retrieval systems at scale, yet mainstream post-hoc methods face a fundamental trade-off: principal component analysis (PCA) preserves dominant variance but underutilizes representational capacity, while whitening enforces isotropy at the cost of amplifying noise in the heavy-tailed eigenspectrum of retrieval embeddings. Intermediate spectral scaling methods unify these extremes by reweighting dimensions with a power coefficient , but treat as a fixed hyperparameter that requires task-specific tuning. We show that the optimal scaling strength is not a global constant: it varies systematically with target dimensionality and is governed by the signal-to-noise ratio (SNR) of the retained subspace. Based on this insight, we propose Spectral Tempering (SpecTemp), a learning-free method that derives an adaptive directly from the corpus eigenspectrum using local SNR analysis and knee-point normalization, requiring no labeled data or validation-based search. Extensive experiments demonstrate that Spectral Tempering consistently achieves near-oracle performance relative to grid-searched while remaining fully learning-free and model-agnostic. Our code is publicly available at https://github.com/liyongkang123/SpecTemp.
Figures & tables
| Model | Params | Dim | Length | MRL | Release |
| Qwen3-8B | 8.0B | 4096 | 32k | ✓ | Jun 2025 |
| Jina-v4 | 3.8B | 2048 | 32k | ✓ | Jun 2025 |
| Nomic-v2 | 475M | 768 | 512 | ✓ | Feb 2025 |
| EmbeddingGemma | 308M | 768 | 2048 | ✓ | Sep 2025 |
| GTE-7B | 7.0B | 3584 | 32k | ✗ | Jun 2024 |
| BGE-M3 | 560M | 1024 | 8192 | ✗ | Feb 2024 |
| Model | Method | MS MARCO | NQ | FEVER | FiQA | ||||||||||||||||
| 768 | 512 | 256 | 128 | 64 | 768 | 512 | 256 | 128 | 64 | 768 | 512 | 256 | 128 | 64 | 768 | 512 | 256 | 128 | 64 | ||
| Qwen3-8B | Full Dimension | 36.8 | 64.9 | 91.8 | 64.7 | ||||||||||||||||
| Prefix Truncation | 36.4 | 35.7 | 34.5 | 32.4 | 28.2 | 63.7 | 63.2 | 61.1 | 57.3 | 49.1 | 91.8 | 91.6 | 91.2 | 90.1 | 85.5 | 63.9 | 63.5 | 61.6 | 57.4 | 51.3 | |
| Random Truncation | 35.9 | 35.5 | 34.3 | 31.5 | 24.8 | 63.5 | 62.5 | 59.3 | 53.2 | 40.0 | 91.6 | 91.3 | 90.8 | 89.0 | 79.6 | 63.0 | 61.6 | 59.4 | 53.4 | 41.7 | |
| Random Projection | 36.2 | 35.7 | 34.3 | 32.0 | 26.4 | 63.6 | 62.5 | 60.4 | 55.5 | 44.2 | 91.5 | 91.3 | 90.6 | 89.4 | 82.3 | 63.0 | 62.6 | 59.8 | 55.5 | 45.5 | |
| PCA | 36.0 | 35.5 | 34.1 | 31.3 | 25.0 | 64.6 | 63.8 | 62.1 | 57.2 | 47.0 | 91.0 | 90.7 | 89.6 | 87.4 | 83.1 | 63.7 | 63.7 | 62.1 | 59.2 | 53.2 | |
| Target Dimension ( ) | 768 | 512 | 256 | 128 | 64 |
| Oracle (Empirical) | 0.15 | 0.25 | 0.45 | 0.55 | 0.95 |
| Predicted (SpecTemp) | 0.15 | 0.24 | 0.49 | 0.96 | 1.00 |
| nDCG@10 (0–100 scale) | 0.02 | 0.01 | 0.06 | 0.11 | 0.05 |
Embedding Compression
Embedding compression reduces the storage and computation needed for vector representations while preserving task-relevant information.
See all 49 papers