Quantization-aware and Matryoshka embeddings (voyage-3-large) with Atlas dimension slicing
Parent: Atlas Vector Search automatic quantization and rescoring · Published reference · snapshot 2026-10-23 · skill mongodb-cohort-2618e44302ce
↓ Facts as markdownall context files
Source-anchored research for Quantization-aware and Matryoshka embeddings (voyage-3-large) with Atlas dimension slicing. Run status: COMPLETED.
These notes link each claim to its source. Some citations identify archived research reports that are no longer hosted on this site. A published reference means the content is available; it does not certify independent review or accuracy.Read the editorial policy and follow the sources before relying on a claim.
How it works
- The query vector must have the indexed field's dimension count. When searching a 512-dimensional prefix field, use the corresponding 512-dimensional query prefix from the same embedding model, with matching normalization and similarity choices. (high confidence) [source]
Measurements and reference values
- Voyage reported that 1024-dimensional int8 voyage-3-large was 0.31% below its 2048-dimensional float baseline while using eight times less vector payload in its January 2025 evaluation. This vendor result does not establish an eightfold reduction in an Atlas deployment bill. (low confidence) [source]
- Independent research revised September 26, 2026 found that non-MRL text embeddings often matched or exceeded MRL embeddings unless dimensions were reduced by at least 80% in its tested models and tasks. This scopes claims that MRL is universally necessary; it is not a direct test of voyage-3-large on Atlas. (low confidence) [source]
- In its January 7, 2025 evaluation across 100 datasets, Voyage reported that 1024-dimensional int8 voyage-3-large scored 0.31% below its 2048-dimensional float version. This vendor result uses NDCG@10 and does not establish the same loss on a particular Atlas corpus. (low confidence) [source]
- Atlas binary search can rescore candidates using full-fidelity vectors retained on disk. Consequently, lower-precision in-memory vectors can reduce RAM while retaining disk and rescoring costs; 4x or 32x raw precision reductions do not translate directly into equal reductions in total storage. (high confidence) [source]
Comparisons and alternatives
- MongoDB reports 95%+ recall retention for 1024-dimensional voyage-3-large in its tested quantization setup. Its metric measures overlap with float exact-neighbor results, which differs from relevance-based NDCG@10 used by Voyage. (high confidence) [source]
- MongoDB's cited benchmark ran its Search Nodes and client in AWS us-east-1. Its retention metric compares ANN results with float exact-nearest-neighbor results. Treat those measurements as configuration evidence, rather than measured Azure latency or a semantic-relevance guarantee. (low confidence) [source]
- Independent Matryoshka Hash Representations research describes a trade-off in which jointly optimizing prefixes can improve short codes while degrading the full-width code, especially with binary codes. This scopes general claims of lossless compression; the paper is not an evaluation of voyage-3-large or Atlas. (low confidence) [source]
Facts and statements
- Matryoshka Representation Learning trains nested representations at multiple granularities, so leading dimensions can serve as smaller embeddings. Voyage combines this approach with quantization-aware training to support reductions in both dimension count and numerical precision. (high confidence) [source]
- voyage-3-large supports 2048, 1024, 512 and 256 output dimensions; its OpenAPI specification identifies 1024 as the default and exposes output_dtype values float, int8, uint8, binary and ubinary. (high confidence) (verified as of 2026-10-23) [source]
- MongoDB's benchmark generates 2048-dimensional voyage-3-large vectors, then uses a view with $addFields and $slice to expose the first 1024, 512 and 256 coordinates as separate fields. Each field gets its own index definition. This reuses existing embeddings without another model call; merely changing numDimensions does not perform slicing. (high confidence) (verified as of 2026-10-14) [source]
- Slicing a normalized embedding does not preserve its unit length. MongoDB's benchmark uses cosine similarity for sliced fields; Voyage's truncation tutorial instead explicitly normalizes each shortened vector. Normalize shortened vectors before relying on dot-product equivalence to cosine. (high confidence) [source]
- MongoDB's benchmark documentation requires MongoDB 8.1 or later to create a Vector Search index on a view. (low confidence) (verified as of 2026-10-14) [source]
- A packed binary embedding has one logical bit per dimension but eight dimensions per returned byte: a 1024-dimensional binary vector has 128 packed elements. Packed-array length must not be mistaken for logical dimensionality. (high confidence) [source]
- Reducing float32 coordinates to int8 gives a theoretical 4-fold reduction in vector payload; reducing them to one bit gives 32-fold. These ratios exclude database index overhead and retained full-precision data. (high confidence) [source]
- Atlas automatic quantization and model-produced quantized embeddings are separate steps: the benchmark retains full-fidelity vectors on disk, uses quantized representations in memory and rescores binary candidates against the full-fidelity vectors. (high confidence) [source]
- The Atlas dimensionality benchmark ran on AWS us-east-1, with requests issued from the same region. Its latency, throughput and hardware-cost results do not directly establish performance or savings for Atlas on Azure. (low confidence) [source]
- Voyage's binary and ubinary outputs are bit-packed: their integer-list length is one eighth of the embedding dimension count. A 512-dimensional binary embedding therefore occupies 64 packed bytes; it is not a 64-dimensional float embedding. (high confidence) [source]
- Atlas automatic quantization is configured on float vectors through quantization: scalar or binary; pre-quantized ingestion uses quantization: none. Binary quantization requires a dimension count divisible by eight. This index setting changes precision, separately from the $slice transformation used for shorter vectors. (high confidence) (verified as of 2026-10-14) [source]
- Reducing 2048 float32 coordinates to 1024 int8 coordinates reduces the raw vector payload from 8192 to 1024 bytes, an 8-fold reduction. This is vector-payload arithmetic, not an estimate of total Atlas storage or the Azure bill. (high confidence) [source]
Children
- No children recorded.