0.1.6 — RROQ158 SOTA Default at group_size=128
This release promotes the dim-aware Rroq158Config(group_size=128) lane to
the build-time default for newly created RROQ158 indexes — closing the
production-validation arc started in 0.1.5 (Phase 7 / Phase 8).
Highlights
- ~13% smaller per-token storage (~40 vs ~46 bytes/token at dim=128;
~6.4× smaller than fp16, up from ~5.5×). - CPU p95 ~10–30% faster on the BEIR-6 mean (one fewer scale load per
group in the popcount kernel; nfcorpus −22%, scifact −15%, scidocs −10%,
fiqa within +2% noise). - NDCG@10 within ±0.005 of the previous gs=32 baseline; per-dataset
mean Δ vs gs=32 across BEIR-6 = +0.0006 — Pareto-equal in quality
while delivering smaller storage AND lower-or-equal CPU p95 on every
dataset measured. - Dim-aware fallback
_resolve_group_size(requested, dim)
transparently steps down togs=64/gs=32(with a log warning) on
production corpora whose token dim is not divisible by 128, so the new
default works on dim=64 / 96 / 128 / 160 alike without caller changes.
Headline BEIR-6 averages (rroq158 gs=128 default)
| Codec | NDCG@10 | R@100 | GPU p95 (ms) | CPU p95 (ms) |
|---|---|---|---|---|
| fp16 (baseline) | 0.5206 | 0.7360 | 4.0 (1.00×) | 103 (1.00×) |
| rroq158 (gs=128, default) | 0.5069 | 0.7298 | 4.8 (1.20×) | 310 (3.00×) |
| rroq158 (gs=32) | 0.5063 | 0.7282 | 4.8 (1.20×) | 325 (3.15×) |
| rroq4_riem | 0.5158 | 0.7345 | 8.5 (2.13×) | 580 (5.63×) |
Full per-dataset / per-codec sweep:
reports/beir_2026q2_gs128/.
Migration
Existing on-disk indexes are unaffected — the manifest carries the
build-time group_size and only newly built indexes pick up the new
default.
- Pin
Rroq158Config(group_size=32)to restore the previous default
exactly. - Pin
Rroq158Config(group_size=64)for the safest cross-dataset choice
(covers high-intra-token-variance corpora like arguana).
See docs/guides/quantization-tuning.md
for the full decision matrix and per-dim recipe table.
Install
pip install --upgrade voyager-index==0.1.6
# native (optional, for the Rust SIMD CPU kernel + tabu solver):
pip install --upgrade voyager-index[native]==0.1.6
# full (server + multimodal + native + GPU triton):
pip install --upgrade voyager-index[full,gpu]==0.1.6Full changelog and merged PRs in
CHANGELOG.md.