- Notifications
You must be signed in to change notification settings - Fork35
License
intel/ScalableVectorSearch
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Scalable Vector Search (SVS) is a performance library for vectorsimilarity search.Thanks to the use of Locally-adaptive Vector Quantization (LVQ)[ABHT23] and its highly optimized indexing and search algorithms,SVS provides vector similarity search:
- onbillions ofhigh-dimensional vectors,
- athigh accuracy
- andstate-of-the-art speed,
- while enabling the use ofless memory than its alternatives.
This enables application and framework developers using similarity search to unleash its performance on Intel(R) Xeon(R) CPUs (2nd generation and newer).
SVS offers a fully-featured and yet simple Python API, compatible with most standard libraries.SVS is written in C++ to facilitate its integration into performance-critical applications.
Please note that this repository only contains the open-source portion of the SVS library, which supports all functionalities and features described in thedocumentation, except for our proprietary vector compression techniques, specifically LVQ[ABHT23] and Leanvec[TBAH24]. These techniques are closed-source and supported exclusively on Intel hardware. We provideshared library andPyPI package to enable these vector compression techniques in C++ and Python, respectively.For guidance on using the shared library, please refer tothis example.
SVS provides state-of-the-art performance and accuracy[ABHT23] for billion-scale similarity search onstandard benchmarks.
For example, for the standard billion-scaleDeep-1B dataset,different configurations of SVS yield significantly increased performance (measured in queries per second, QPS) with a smaller memory footprint (horizontal axis) than the alternatives1:
SVS is primarily optimized for large-scale similarity search but it still offersstate-of-the-art performanceat million-scale.
Best performance is obtained with Intel(R) Xeon(R) 6 processors (Granite Rapids), by making use of Intel(R) AVX-512 instructions,with excellent results also with 2nd through 5th gen Intel(R) Xeon(R) processors (Cascade Lake,Ice Lake, Sapphire Rapids, and Emerald Rapids).
Performance will be degraded if Intel(R) AVX-512 instructions are not available.A warning message will appear when loading the SVS Python module if the system does not supportIntel(R) AVX-512 instructions.
SVS supports:
- Similarity functions: Euclidean distance, inner product, cosine similarity.
- Vectors with individual values encoded as: float32, float16, uint8, int8.
- Vector compression (including Locally-adaptive Vector Quantization[ABHT23])
- Optimizations for Intel(R) Xeon(R) processors:
- 2nd generation (Cascade Lake)
- 3rd generation (Ice Lake)
- 4th generation (Sapphire Rapids)
- 5th generation (Emerald Rapids)
- 6th generation (Granite Rapids)
SeeRoadmap for upcoming features.
SVS documentation includes getting started tutorials withinstallation instructions for Python andC++ and step-by-step search examples, an API reference, as well as several guides and benchmark comparisons.
Reference to cite when you use SVS in a research paper:
@article{aguerrebere2023similarity, title={Similarity search in the blink of an eye with compressed indices}, volume = {16}, number = {11}, pages = {3433--3446}, journal = {Proceedings of the VLDB Endowment}, author={Cecilia Aguerrebere and Ishwar Bhati and Mark Hildebrand and Mariano Tepper and Ted Willke}, year = {2023}}[ABHT23]Aguerrebere, C.; Bhati I.; Hildebrand M.; Tepper M.; Willke T.:Similarity search in the blink of an eye with compressedindices. In: Proceedings of the VLDB Endowment, 16, 11, 3433 - 3446. (2023)
[TBAH24]Tepper M.; Bhati I.; Aguerrebere, C.; Hildebrand M.; Willke T.:LeanVec: Searching vectors faster by making them fit.In: Transactions on Machine Learning Research(TMLR), ISSN, 2835 - 8856. (2024)
Refer to theLICENSE file for details.
Footnotes
Performance varies by use, configuration and other factors. Learn more atwww.Intel.com/PerformanceIndex.Performance results are based on testing as of dates shown in configurations and may not reflect all publiclyavailable updates. No product or component can be absolutely secure. Your costs and results may vary. Inteltechnologies may require enabled hardware, software or service activation. © Intel Corporation. Intel,the Intel logo, and other Intel marks are trademarks of Intel Corporation or its subsidiaries. Other names andbrands may be claimed as the property of others.↩
About
Topics
Resources
License
Code of conduct
Contributing
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
