NVIDIA / NVIDIA/cuvs

Less recall post-refinement

Open
#734 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Cuda
Stars
854
Forks
236
Avg merge
3d 3h
Merged PRs (30d)
62

Description

Describe the bug
when using refinement API, we found that the distances (for same pair of vectors) are different between ground truth and refinement, resulting in refinement not always capturing the k closest neighbors from the candidates.

Image

See below for an example of the ground truth in the range of candidates but refinement failing to pick that out. 41363 is one of the candidates, and should be ground truth, but not getting identified by refinement(the line of output under "indices" is the result of refine ), selecting 9 correct candidates except 41363

Steps/Code to reproduce bug
Follow this guide http://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports to craft a minimal bug report. This helps us reproduce the issue you're having and resolve the issue more quickly.

Expected behavior
Refine should be able to recognize the ground truth vector if it's in the candidates

Environment details (please complete the following information):

  • Environment location: Bare-metal
  • Method of RAFT install: conda

Additional context
Add any other context about the problem here.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the refinement API case described in the issue using the linked minimal-bug-report guidance, comparing the ground-truth distances with refinement for the candidate containing vector 41363. Done means refinement selects the ground-truth vector whenever it is present among the candidates.

Written by the indexing model from the issue text.

Assessment

Domain
search
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.