[8.x] Vector rescoring oversamples k instead of num_candidates #119887
+67
−70
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
It makes more sense to apply rescoring to an oversampled
k
instead ofnum_candidates
, as rescoring just a fraction of the candidates will be more performant and offer good recall, specially for smaller k sizes compared to number of candidates.API changes so we use
oversample
instead ofnum_candidates_factor
:This will mean rescoring
k * oversample
from thenum_candidates
retrieved on each shard, and returning the topk
out of them.Follow up to #116663
We start with 8.x and will backport to main, as this introduces an incompatible API change that we want to land in 8.x first so BwC and rest compat tests pass in main.