Search papers, labs, and topics across Lattice.
This paper introduces ANNLib, a versatile library designed to streamline the implementation of Approximate Nearest Neighbor Search (ANNS) systems by decoupling algorithm and data structure components for independent optimization. By integrating state-of-the-art algorithms and data structures, ANNLib allows users to customize their ANNS implementations for high performance across various applications, including filter search and dynamic updates. Experimental results demonstrate that ANNLib not only simplifies the programming effort but also matches or exceeds the performance of existing ANNS solutions tailored for specific tasks.
Achieving high performance in Approximate Nearest Neighbor Search has never been easier鈥擜NNLib allows for flexible configurations that outperform existing systems with minimal coding effort.
Approximate Nearest Neighbor Search (ANNS) plays a pivotal role in modern deep learning pipelines. Recently, many ANNS systems have been proposed to either provide broad functionality or reach high performance. However, it is yet difficult to achieve both with minimal programming efforts. We propose ANNLib to address the gap. ANNLib is a library that provides a programming framework for achieving high performance and flexible functionality in ANNS systems, based on popular graph-based ANNS algorithms. We carefully decouple and independently optimize both the algorithm and the data structure components of an ANNS system. In addition, we integrate state-of-the-art algorithms and data structures into ANNLib as modules, along with our new designs. Users can choose combinations of components to implement sophisticated settings with high performance, such as filter search, fully dynamic updates, and historical queries on snapshots. Our experiments show that our new solution provides a simple interface for various applications and achieves comparable or even better performance than previous work, specifically for each application.