MUVERA: How a Multi-Vector Set Becomes One Fixed Vector
How a Multi-Vector Set Becomes One Fixed Vector

MUVERA turns a document's whole set of token vectors into a single fixed-length vector you can put in an ordinary ANN index, without any neural encoder in the loop. It works in six steps: a document is ~100 token vectors (a variable-size, unordered set); a SimHash partition of k_sim random hyperplanes splits space into B = 2^k_sim buckets; each bucket is collapsed to one sub-vector (the centroid of the tokens that fell in it, and an empty bucket copies the nearest non-empty one by Hamming distance); each sub-vector is randomly projected down with a JL-style plus/minus-1 matrix; the whole construction is repeated R_reps times with fresh randomness; and the results are concatenated into one fixed vector of dimension B x d_proj x R_reps. The point of the design is that the inner product of two of these Fixed Dimensional Encodings (FDEs) approximates the expensive Chamfer / MaxSim similarity between the original token sets — so a variable-size set becomes a fixed-size vector that drops straight into HNSW, IVF, or DiskANN.
Where this diagram appears
Run this on your own data
Mixpeek turns video, images, audio, and documents in your object storage into searchable, timestamped results through one API.
Search your own data, free

