knowhere-v2.2.2
Release Notes
What's New
-
SCANN
without refine: (#77)SCANN
now supports awith_raw_data
config option to determine whether the refine process is needed. Omitting the refine step can dramatically reduce memory usage (to approximately 1/17 of the original).
-
Multi devices for GPU: (#83 #146)
- GPU indexes can now be distributed in different cards to accelerate and the performance and enlarge the capacity.
-
Remove
IVF_FLAT_NM
: (#39):IVF_FLAT_NM
was introduced to conserve disk resources by avoiding the encoding of raw data during serialization. However, this approach posed challenges for the support of our new features and when upgrading FAISS. In this release, we've reverted the implementation of IVF_FLAT to the original FAISS version.
-
DiskANN
filtering search optimization: (#143)- We adopt a strategy that randomly determines whether to add a filtered vector to the candidate list, aiming to enhance
DiskANN
's filtering search performance with a high filtering rate.
- We adopt a strategy that randomly determines whether to add a filtered vector to the candidate list, aiming to enhance
-
Reprioritize thread pool: ( #130)
- We deprioritize
Knowhere
's threads to support better resource allocation ofMilvus
.
- We deprioritize
-
Support
GetVectorById
forIVFFLAT
Cosine (#80)
Enhancements and Fixes
- Replace
OMP
withKnowhere
's thread pool to better manage thread number. (#120) - Implement
Size()
API to estimate the memory usage forHNSW
andDiskANN
. (#124 #126) - Fix race condition in
GetVectorById
ofIVF
indexes. (#133 #134)
New Contributors
- @alexanderguzhva made their first contribution in #72