Quantize by Drift: Label-Free Mixed-Precision Post-Training Quantization for Text Embedders
Organizations: ThakiCloud
Abstract
Mixed-precision post-training quantization needs a per-module sensitivity signal; for a text embedder the obvious one -- the retrieval quality a module costs when quantized -- needs relevance labels that deployments rarely have. We measure a label-free substitute: quantization-induced representation drift, obtained by quantizing one module, re-encoding the corpus, and recording how far the output embeddings moved from their full-precision positions. What is specific is the observable: the deployed output representation a dense retriever ranks with. Across five development embedders, configuration-level drift orders sampled mixed-precision plans against held-out retrieval quality at a macro Spearman of 0.911, the sensitivity transports across calibration corpora and retrieval domains in the usable regime, module drifts compose rank-consistently but not numerically, and relevance-derived sensitivity adds no consistent value. The method is one additive allocation under a hard packed-byte budget, with no labels and no search. On three embedders held untouched until method, baselines and hypotheses were frozen and sealed, the pre-registered directional hypothesis against the prior LieQ criterion holds (3/3 at the main budget, no collapse) and drift scores above a two-sided LieQ steelman in 2/3; but at the main budget drift is numerically lower than same-budget uniform precision on all three (-0.99, -0.85, -1.01 points), having reduced module and whole-model drift as designed. Output drift is thus a robust coarse sensitivity signal, not a universally optimal allocation objective: it avoids the catastrophic failures of the transferred signed-geometry adaptation and can remain usable at stressed budgets where uniform collapses, but fine-grained redistribution around a strong uniform operating point remains unresolved.
Figures & tables
| Realized packed bpw | |||||
|---|---|---|---|---|---|
| Model | Group | Pool | Pred. pool budget | ||
| E5-base | 64 | 174 | 3.117 | 3.612 | 3.612 ( ) |
| BGE-M3 | 32 | 154 | 3.708 | 4.200 | 4.200 ( ) |
| EmbGemma | 128 | 174 | 2.750 | 3.250 | 3.750 |
| Qwen3-0.6B | 32 | 174 | 3.500 | 4.000 | 4.000 ( ) |
| SKILLRET | 32 | 174 | 3.500 | 4.000 | 4.000 ( ) |
| Model | Budget on grid | Top-10% recall | ||
|---|---|---|---|---|
| E5-base | yes | 0.892 | 0.720 | 0.41 |
| BGE-M3 | yes | 0.973 | 0.865 | 0.73 |
| EmbGemma | no | 0.891 | 0.738 | 0.65 |
| Qwen3-0.6B | yes | 0.916 | 0.769 | 0.53 |
| SKILLRET | yes | 0.884 | 0.732 | 0.59 |
| Macro ( ) | — | 0.911 | 0.765 | 0.58 |
| Model | FP32 | Uniform | LieQ-signed | LieQ-abs | InfoQ-X | Drift (ours) |
|---|---|---|---|---|---|---|
| E5-base | 34.58 | 31.24 | 24.40 | 31.24 ≡U | rejected ‡ | 32.29 |
| BGE-M3 | 31.50 | 27.67 | 0.96 § | 21.38 | rejected ‡ | 30.15 |
| EmbGemma | 38.52 | 36.13 | 36.13 | 36.13 ≡U | rejected ‡ | 37.12 |
| Qwen3-0.6B | 34.97 | 31.00 | 1.31 § | 27.05 | rejected ‡ | 31.31 |
| SKILLRET | 33.74 | 29.01 | 1.20 § | 29.01 ≡U | rejected ‡ | 30.62 |
| Model | Arm | Gain (pp) | Seed | Agreement |
|---|---|---|---|---|
| E5-base | init/ /lay | -6.842 | 1.000 | -0.762 |
| BGE-M3 | init/ /lay | -26.708 | 1.000 | -0.497 |
| EmbGemma | init/ /lay | 0.000 | 0.976 | -0.427 |
| Qwen3-0.6B | init/ /lay | -29.697 | 0.976 | -0.524 |
| SKILLRET | init/ /lay | -27.813 | 1.000 | -0.545 |
| Model | Budget | Group | bpw | FP32 | Uniform | LieQ-signed | LieQ-abs | Drift (ours) | Stratum |
|---|---|---|---|---|---|---|---|---|---|
| mxbai-large | 32 | 3.559 | 38.40 | 5.30 | 27.99 | 27.99 | 28.84 | graded | |
| mxbai-large | 32 | 4.056 | 38.40 | 37.41 | 34.83 | 37.41 ≡U | 36.42 | graded | |
| MPNet-base | 64 | 3.117 | 33.57 | 1.04 | 7.61 | 7.61 | 6.09 | dead | |
| MPNet-base | 64 | 3.613 | 33.57 | 30.52 | 16.75 | 16.75 | 29.67 | cliff | |
| GTE-base | 64 | 3.000 | 36.02 | 1.42 | 1.01 | 0.79 | 2.44 | dead | |
| GTE-base | 64 | 3.500 | 36.02 | 28.87 | 1.21 | 27.51 | 27.85 | cliff |
| Model | Device | vs ledger | drift / uniform | drift / uniform | NDCG drift uniform [95% CI] |
|---|---|---|---|---|---|
| mxbai-large | mps | 0.060 | 0.043 / 0.059 | 0.048 / 0.058 | -1.04 [-1.85, -0.28] |
| MPNet-base | mps | 0.042 | 0.097 / 0.131 | 0.129 / 0.143 | -0.90 [-1.90, 0.18] |
| GTE-base | cuda | 0.000 | 0.131 / 0.289 | 0.145 / 0.326 | -1.01 [-2.71, 0.64] |
| Model | Probe held-out | Four-probe stability | ||||
|---|---|---|---|---|---|---|
| cells | identical plans | median Hamming | NDCG spread | |||
| E5-base | 0.992 | 2 | 0.993 | 12/12 | 0.0 | 0.00 |
| BGE-M3 | 0.996 | 2 | 0.997 | 8/12 | 0.0 | 0.05 |
| EmbGemma | 0.986 | 2 | 0.989 | 7/12 | 0.0 | 0.37 |
| Qwen3-0.6B | 0.991 | 2 | 0.993 | 9/12 | 0.0 | 11.43 |
| SKILLRET | 0.994 | 2 | 0.996 | 12/12 | 0.0 | 0.00 |
| Model | Identical | Max NDCG | Identical | Max NDCG | |
|---|---|---|---|---|---|
| E5-base | 0.992 | 100.0% † | 0.000 † | 100.0% | 0.000 |
| BGE-M3 | 0.998 | 33.3% | 0.053 | 100.0% | 0.000 |
| EmbGemma | 0.987 | 100.0% | 0.000 | 16.7% | 0.372 |
| Qwen3-0.6B | 0.991 | 50.0% † | 11.425 † | 100.0% | 0.000 |
| SKILLRET | 0.994 | 100.0% † | 0.000 † | 100.0% | 0.000 |
| Pairwise inversion rate | Calibration | |||||
|---|---|---|---|---|---|---|
| Cell | All (%) | Top 25% | Seed nbhd. | nMAE/IQR | ||
| E5-base | 10.7% | 18.5% | 13.3% | 0.34 | 0.84 | 1.02 |
| E5-base | 6.4% | 16.7% | 12.0% | 0.66 | 0.93 | 0.23 |
| BGE-M3 | 12.4% | 23.1% | 15.5% | 0.46 | 0.77 | 0.45 |
| BGE-M3 | 12.4% | 6.2% | 6.7% | 0.51 | 0.78 | 0.47 |
| EmbGemma | 5.2% | 11.4% | 9.9% | 0.65 | 0.90 | 0.20 |
| Budget | Model | Uniform | Additive | Rand+drift | Seed+drift | ||
|---|---|---|---|---|---|---|---|
| E5-base | 1.63 | 6.79 | 4.20 | 7.18 | 0.390 | 2.985 | |
| BGE-M3 | 0.97 | 23.75 | 18.98 | 25.10 | 1.346 | 6.118 | |
| EmbGemma | 1.49 | 33.86 | 30.20 | 33.34 | -0.524 | 3.138 | |
| Qwen3-0.6B | 0.97 | 3.38 | 8.68 | 7.96 | 4.581 | -0.724 | |
| SKILLRET | 1.52 | 6.15 | 8.60 | 14.74 | 8.582 | 6.135 | |
| E5-base | 31.24 | 32.29 | 26.94 | 31.18 | -1.111 | 4.242 |
Appendix figures & tables12 assets
Supplementary material from the paper’s appendix.
Appendix
| Samples | Projections | Median seed | Median Hamming /12 | Exact-plan rate | Runtime |
|---|---|---|---|---|---|
| 1024 | 64 | 0.309 | 7.0 | 0 % | 4 min |
| 1024 | 128 | 0.390 | 7.0 | 0 % | 9 min |
| 1024 | 256 | 0.319 | 8.0 | 0 % | 17 min |
| 1024 | 512 | 0.429 | 8.0 | 0 % | 34 min |
| 2048 | 512 | 0.491 | 7.0 | 0 % | 71 min |
| 4096 | 512 | 0.439 | 6.0 | 0 % | 2.7 h |
| Model | Budget | Pooled | Balanced | Query-only | Doc-only |
|---|---|---|---|---|---|
| E5-base | 27.29 | 27.29 | 27.29 | 27.29 | |
| E5-base | 33.99 | 33.99 | 33.99 | 33.99 | |
| BGE-M3 | 23.75 | 23.75 | 23.75 | 23.75 | |
| BGE-M3 | 30.15 | 30.15 | 30.15 | 30.15 | |
| EmbGemma | 34.89 | 34.89 | 34.89 | 34.89 | |
| EmbGemma | 36.99 | 36.99 | 36.93 ∗ | 36.99 |
| Model | Median seed-pair | Median plan Hamming /12 | Exact-plan rate |
|---|---|---|---|
| E5-base | 0.9997 | 0.0 | 100.0% |
| BGE-M3 | 0.9997 | 0.0 | 100.0% |
| EmbGemma | 0.9997 | 0.0 | 100.0% |
| Qwen3-0.6B | 0.9997 | 0.0 | 100.0% |
| SKILLRET | 0.9997 | 0.0 | 100.0% |
| Model | Drift gain (pp) | Permuted median (pp) | Permuted pct. | Random pct. |
|---|---|---|---|---|
| E5-base | 1.051 | -14.776 | 100.0 | 100.0 |
| BGE-M3 | 2.478 | -25.826 | 99.5 | 100.0 |
| EmbGemma | 1.478 | 0.764 | 89.5 | 100.0 |
| Qwen3-0.6B | 0.301 | -22.372 | 100.0 | 100.0 |
| SKILLRET | 1.607 | -17.491 | 100.0 | 100.0 |
| Score rank agreement | Pairs | Median plan Hamming /12 | Exact-plan rate |
|---|---|---|---|
| 0.930 | 16 | 0.0 | 75.0% |
| 0.875 | 16 | 0.0 | 56.2% |
| 0.730 | 16 | 3.0 | 6.2% |
| 0.589 | 16 | 4.0 | 6.2% |
| 0.319 | 16 | 6.0 | 0.0% |
| 0.064 | 16 | 8.0 | 0.0% |
| Units | Single-quantize evals | Probe time | Retention | Gain over uniform (pp) | Probe transport |
|---|---|---|---|---|---|
| 6 | 18 | 2.3 min | 0.970 | -0.072 | 0.990 |
| 12 | 36 | 4.4 min | 0.983 | 0.397 | 0.994 |
| 24 | 72 | 8.6 min | 0.980 | 0.276 | 0.990 |
| Model | Pre-specified | LieQ-native alloc. | Post-hoc best | Arms |
|---|---|---|---|---|
| E5-base | 24.40 | 2.02 | 24.40 | 15 |
| BGE-M3 | 0.96 | 1.81 | 1.81 | 15 |
| EmbGemma | 36.13 | 9.79 | 36.86 | 15 |
| Qwen3-0.6B | 1.31 | 1.11 | 1.31 | 15 |
| SKILLRET | 1.20 | 1.82 | 1.82 | 15 |
| Model | Uniform | Pre-specified | Post-hoc bound | Variants |
|---|---|---|---|---|
| E5-base | 31.24 | 31.24 | 31.24 | 12 |
| BGE-M3 | 27.67 | 26.41 | 30.14 | 12 |
| EmbGemma | 36.13 | 30.82 | 35.31 | 12 |
| Qwen3-0.6B | 31.00 | 5.14 | 29.97 | 12 |
| SKILLRET | 29.01 | 4.96 | 28.10 | 12 |
| Model | All | Top 50% | Top 25% | Top 10% | Within of uniform |
|---|---|---|---|---|---|
| E5-base | 0.892 | 0.588 | 0.328 | 0.615 | 0.698 |
| BGE-M3 | 0.973 | 0.861 | 0.664 | 0.800 | 0.762 |
| EmbGemma | 0.891 | 0.826 | 0.762 | 0.142 | 0.822 |
| Qwen3-0.6B | 0.916 | 0.581 | 0.728 | 0.022 | 0.663 |
| SKILLRET | 0.884 | 0.552 | 0.709 | 0.792 | 0.735 |
| Macro | 0.911 | 0.682 | 0.638 | 0.474 | 0.736 |
| Cell | Pearson | Spearman | Median | P90 |
|---|---|---|---|---|
| E5-base | 0.917 | 0.940 | 11.2% | 40.9% |
| E5-base | 0.966 | 0.977 | 12.4% | 27.2% |
| BGE-M3 | 0.878 | 0.921 | 16.1% | 69.1% |
| BGE-M3 | 0.883 | 0.908 | 19.6% | 67.7% |
| EmbGemma | 0.949 | 0.983 | 10.4% | 41.3% |
| EmbGemma | 0.945 | 0.986 | 7.5% | 25.8% |
| Budget | Model | Neighbours | Beating additive | Share |
|---|---|---|---|---|
| E5-base | 100 | 2 | 2% | |
| BGE-M3 | 100 | 11 | 11% | |
| EmbGemma | 85 | 0 | 0% | |
| Qwen3-0.6B | 100 | 21 | 21% | |
| SKILLRET | 100 | 19 | 19% | |
| E5-base | 100 | 0 | 0% |
| Model | Budget | Packed bpw | FP32 NDCG | Uniform ret. | Drift ret. | Drift operating regime |
|---|---|---|---|---|---|---|
| E5-base | 3.117 | 34.58 | 0.047 | 0.197 | collapse | |
| E5-base | 3.612 | 34.58 | 0.904 | 0.934 | useful | |
| BGE-M3 | 3.708 | 31.50 | 0.031 | 0.754 | useful | |
| BGE-M3 | 4.200 | 31.50 | 0.878 | 0.957 | useful | |
| EmbGemma | 2.750 | 38.52 | 0.039 | 0.879 | useful | |
| EmbGemma | 3.250 | 38.52 | 0.938 | 0.964 | useful |