Skip to main content

Crate rvf_quant

Crate rvf_quant 

Source
Expand description

Temperature-tiered vector quantization for the RuVector Format (RVF).

Provides three quantization levels mapped to temperature tiers:

TierQuantizationCompression
HotScalar (int8)4x
WarmProduct (PQ)8-16x
ColdBinary (1-bit)32x

The rabitq module provides a RaBitQ-style 1-bit codec (centroid centering + seeded random rotation + correction scalars) with an asymmetric distance estimator, intended for two-stage (scan-then-rescore) search at ~32x code compression.

A Count-Min Sketch tracks per-block access frequency to drive promotion/demotion decisions.

Re-exports§

pub use binary::decode_binary;
pub use binary::encode_binary;
pub use binary::hamming_distance;
pub use product::ProductQuantizer;
pub use rabitq::RabitqCode;
pub use rabitq::RabitqQuantizer;
pub use rabitq::RabitqQuery;
pub use scalar::ScalarQuantizer;
pub use sketch::CountMinSketch;
pub use tier::TemperatureTier;
pub use traits::Quantizer;

Modules§

binary
Binary Quantization — 32x compression (1 bit per dimension).
codec
QUANT_SEG and SKETCH_SEG wire format codec.
product
Product Quantization (PQ) — 8-16x compression.
rabitq
RaBitQ-style binary quantization (Gao & Long, SIGMOD 2024).
scalar
Scalar Quantization (SQ) — fp32 to u8, 4x compression.
sketch
Count-Min Sketch for temperature tracking.
tier
Temperature tier assignment for vector blocks.
traits
Common quantization trait shared by all quantizer types.