Skip to content
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

[DOC] Faiss Scalar Quantization FP16 (SQfp16) #5038

Closed
1 of 4 tasks
naveentatikonda opened this issue Sep 15, 2023 · 4 comments · Fixed by #6249
Closed
1 of 4 tasks

[DOC] Faiss Scalar Quantization FP16 (SQfp16) #5038

naveentatikonda opened this issue Sep 15, 2023 · 4 comments · Fixed by #6249
Assignees
Labels
2 - In progress Issue/PR: The issue or PR is in progress. v2.13.0
Milestone

Comments

@naveentatikonda
Copy link
Member

naveentatikonda commented Sep 15, 2023

What do you want to do?

  • Request a change to existing documentation
  • Add new documentation
  • Report a technical problem with the documentation
  • Other

Tell us about your request. Provide a summary of the request and all versions that are affected.
In k-NN plugin we mainly support vectors of type float where each dimension is 32 bits. This is getting expensive for use cases that requires ingestion on a large scale where we need to construct, load, save and search graphs(for native engines nmslib and faiss) which is getting even more costlier. Even though we have the byte vector support, it only supports lucene engine and also there is a considerable reduction in the recall when compared to float 32.

Adding support for Faiss SQFP16 helps to reduce the memory and storage footprints without compromising on recall where when user provides the 32 bit float vectors, the Faiss engine quantizes the vector into FP16 using their scalar quantizer (users don’t need to do any quantization on their end), stores it and decodes it back to FP32 while returning the results during search operations.

This feature is expected to be launched in OS version 2.12. So, it will be supported in 2.12 and future versions.

What other resources are available? Provide links to related issues, POCs, steps for testing, etc.
opensearch-project/k-NN#1138
opensearch-project/k-NN#830

@naveentatikonda
Copy link
Member Author

naveentatikonda commented Sep 15, 2023

Please add V2.11 label

@hdhalter hdhalter added this to the v2.11 milestone Sep 15, 2023
@hdhalter hdhalter removed the untriaged label Oct 2, 2023
@naveentatikonda
Copy link
Member Author

Please change the label to v2.12

@kolchfa-aws kolchfa-aws modified the milestones: v2.11, v2.12 Oct 3, 2023
@hdhalter hdhalter added the 1 - Backlog Issue: The issue is unassigned or assigned but not started label Oct 23, 2023
@hdhalter hdhalter added 1 - Backlog - DEV Developer assigned to issue is responsible for creating PR. and removed 1 - Backlog Issue: The issue is unassigned or assigned but not started labels Dec 26, 2023
@hdhalter
Copy link
Contributor

hdhalter commented Jan 8, 2024

@naveentatikonda - Is this still on track for 2.12? Thanks!

@naveentatikonda
Copy link
Member Author

@naveentatikonda - Is this still on track for 2.12? Thanks!

Yes @hdhalter this feature should be ready for 2.12. We are just waiting on the Faiss maintainers to merge our changes. Thanks!
facebookresearch/faiss#3166

@hdhalter hdhalter added 2 - In progress Issue/PR: The issue or PR is in progress. and removed 1 - Backlog - DEV Developer assigned to issue is responsible for creating PR. labels Jan 24, 2024
@kolchfa-aws kolchfa-aws added 1 - Backlog Issue: The issue is unassigned or assigned but not started v2.13.0 and removed 2 - In progress Issue/PR: The issue or PR is in progress. v2.12.0 labels Feb 6, 2024
@hdhalter hdhalter added 2 - In progress Issue/PR: The issue or PR is in progress. and removed 1 - Backlog Issue: The issue is unassigned or assigned but not started labels Mar 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2 - In progress Issue/PR: The issue or PR is in progress. v2.13.0
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants