Database / Weaviate Vector database Interview questions
How do you troubleshoot poor recall after enabling quantization in Weaviate?
A drop in search quality after enabling compression usually traces back to a mismatch between the chosen technique's assumptions and the actual data, or a configuration that hasn't been tuned for the specific recall/compression trade-off the application needs.
- Check whether rescoring is enabled and working as expected - rescoring against uncompressed vectors is what recovers most of the recall quantization would otherwise cost; confirm it's actually active and its candidate pool size (how many compressed-search results get rescored) is large enough.
- Check the training set size for PQ/SQ - a training sample that's too small or unrepresentative of the collection's actual data distribution produces a poorly calibrated quantizer, directly hurting recall.
- Reconsider the compression level chosen - 1-bit RQ or BQ trade more recall for smaller memory footprint than 8-bit RQ; if recall matters more than memory in a given case, switching to a less aggressive compression level is often the direct fix.
- Compare against uncompressed baseline recall - benchmark the same queries against an uncompressed index to establish how much recall loss quantization is actually causing, rather than assuming a perceived quality drop is necessarily quantization-related at all.
- Check whether the embedding model's vector characteristics suit the chosen technique - some embedding distributions compress more gracefully than others; a technique that works well for one embedding model may perform worse for a different one with different dimensional characteristics.
Since quantization can't be disabled once set on a collection, it's worth benchmarking recall impact on a representative sample or a staging collection before enabling a given compression technique on a production collection at scale, rather than discovering an unacceptable trade-off only after it's already been applied.
More Related questions...