Allow for different query bit sizes for asymmetric quantized vector indices
- Dominant language
- Java
- Stars
- 3.6k
- Forks
- 1.4k
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 88
Description
### Description
I have noticed some interesting results where:
- 4 bit queries are actually way too much information and even single bit is good enough
- having 8 bit queries can really help refine results, kick starting a refining process.
I wonder if we can expose a parameter or something at query time?
It gets tricky as it pre-supposes there is an "optimized" way to do variable bit queries of certain sizes. I also suspect we will want to restrict it to 1, 2, 4, 8 query bits against a quantized index.
Would we also want to restrict it to where the query bits are always larger than the encoding bits? (I would suspect so...).
It SEEMS the best place to have this configuration would be within the "SearchStrategy" interface. This can give hints from the query to the format on how things should be done.
Contributor guide
Research direction
Start by reading the SearchStrategy interface and the quantized vector-index search path. Investigate how query-time configuration could represent 1, 2, 4, or 8 query bits and which restrictions the existing encoding supports. Done requires an agreed API and behavior for variable query bit sizes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- search
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100