-
Notifications
You must be signed in to change notification settings - Fork 4.1k
BIVF selector #4364
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
BIVF selector #4364
Conversation
|
@mdouze @asadoughi please take a look and assign the right reviewers when able, thanks! |
|
@gtwang01 has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
|
Can you include some unit tests to verify the changes? |
|
Just highlighting an issue with the PR: it causes an 80% regression in CPU time for the faiss/perf_tests/bench_scalar_quantizer_encode.cpp performance test. Please look into it as we cannot merge the PR as is. |
This does not affect SQ, so we can disregard the perf test, but there are cmake test failures. |
|
=================================== FAILURES =================================== self = <test_contrib.TestPreassigned testMethod=test_binary>
E AssertionError: False is not true tests/test_contrib.py:467: AssertionError self = <test_index_binary.TestBinaryIVF testMethod=test_ivf_flat2>
E AssertionError: 34 not greater than 4100 tests/test_index_binary.py:199: AssertionError self = <test_index_binary.TestBinaryIVF testMethod=test_ivf_flat_exhaustive>
tests/test_index_binary.py:184: args = (, array([[7, 7, 8, ..., 9, 9, 9],
E AssertionError: ../../../miniconda3/lib/python3.11/contextlib.py:81: AssertionError self = <test_index_binary.TestBinaryIVF testMethod=test_ivf_nprobe>
E assert False tests/test_index_binary.py:289: AssertionError self = <test_index_binary.TestBinaryIVF testMethod=test_ivf_range>
E AssertionError: False is not true tests/test_index_binary.py:221: AssertionError self = <test_index_binary.TestBinaryIVF testMethod=test_search_per_invlist>
tests/test_index_binary.py:313: D1 = array([[10, 14, 14, ..., 15, 15, 15],
E AssertionError: 4952 differences in distance matrix (500, 10) tests/common_faiss_tests.py:115: AssertionError self = <test_index_binary_from_float.TestIndexBinaryFromFloat testMethod=test_wrapped_quantizer_HNSW>
E AssertionError: recall = 0.05 tests/test_index_binary_from_float.py:160: AssertionError self = <test_index_binary_from_float.TestIndexBinaryFromFloat testMethod=test_wrapped_quantizer_IMI>
E AssertionError: recall = 0.332 tests/test_index_binary_from_float.py:108: AssertionError
Mismatched elements: 4965 / 5000 (99.3%)
Training ResidualQuantizer, with 4 steps on 3000 32D vectors |
|
Apologies for the delay @mnorris11 , looking into this. |
|
@mnorris11 I don't seem to be able to reproduce these locally: |
Quick sanity check: What are the cmake steps you used to install Faiss? |
|
@mnorris11 ran these, as far as I know: |
@metonymic-smokey if you exactly follow https://github.com/facebookresearch/faiss/blob/main/INSTALL.md, are you able to repro? |
|
@mnorris11 when I run the C++ tests based on the instructions there, I get errors in test mmap_binary_flatcodes, not the tests which fail in CI here. |
|
(Assigning it to you @metonymic-smokey for issue tracking purposes) |
Work towards #3503