kANNolo: Sweet and Smooth Approximate k-Nearest Neighbors Search

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Delfino, Leonardo, Erriquez, Domenico, Martinico, Silvio, Nardini, Franco Maria, Rulli, Cosimo, Venturini, Rossano
Format: Preprint
Published: 2025
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866912815480045568
author Delfino, Leonardo
Erriquez, Domenico
Martinico, Silvio
Nardini, Franco Maria
Rulli, Cosimo
Venturini, Rossano
author_facet Delfino, Leonardo
Erriquez, Domenico
Martinico, Silvio
Nardini, Franco Maria
Rulli, Cosimo
Venturini, Rossano
contents Approximate Nearest Neighbors (ANN) search is a crucial task in several applications like recommender systems and information retrieval. Current state-of-the-art ANN libraries, although being performance-oriented, often lack modularity and ease of use. This translates into them not being fully suitable for easy prototyping and testing of research ideas, an important feature to enable. We address these limitations by introducing kANNolo, a novel research-oriented ANN library written in Rust and explicitly designed to combine usability with performance effectively. kANNolo is the first ANN library that supports dense and sparse vector representations made available on top of different similarity measures, e.g., euclidean distance and inner product. Moreover, it also supports vector quantization techniques, e.g., Product Quantization, on top of the indexing strategies implemented. These functionalities are managed through Rust traits, allowing shared behaviors to be handled abstractly. This abstraction ensures flexibility and facilitates an easy integration of new components. In this work, we detail the architecture of kANNolo and demonstrate that its flexibility does not compromise performance. The experimental analysis shows that kANNolo achieves state-of-the-art performance in terms of speed-accuracy trade-off while allowing fast and easy prototyping, thus making kANNolo a valuable tool for advancing ANN research. Source code available on GitHub: https://github.com/TusKANNy/kannolo.
format Preprint
id arxiv_https___arxiv_org_abs_2501_06121
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle kANNolo: Sweet and Smooth Approximate k-Nearest Neighbors Search
Delfino, Leonardo
Erriquez, Domenico
Martinico, Silvio
Nardini, Franco Maria
Rulli, Cosimo
Venturini, Rossano
Information Retrieval
Approximate Nearest Neighbors (ANN) search is a crucial task in several applications like recommender systems and information retrieval. Current state-of-the-art ANN libraries, although being performance-oriented, often lack modularity and ease of use. This translates into them not being fully suitable for easy prototyping and testing of research ideas, an important feature to enable. We address these limitations by introducing kANNolo, a novel research-oriented ANN library written in Rust and explicitly designed to combine usability with performance effectively. kANNolo is the first ANN library that supports dense and sparse vector representations made available on top of different similarity measures, e.g., euclidean distance and inner product. Moreover, it also supports vector quantization techniques, e.g., Product Quantization, on top of the indexing strategies implemented. These functionalities are managed through Rust traits, allowing shared behaviors to be handled abstractly. This abstraction ensures flexibility and facilitates an easy integration of new components. In this work, we detail the architecture of kANNolo and demonstrate that its flexibility does not compromise performance. The experimental analysis shows that kANNolo achieves state-of-the-art performance in terms of speed-accuracy trade-off while allowing fast and easy prototyping, thus making kANNolo a valuable tool for advancing ANN research. Source code available on GitHub: https://github.com/TusKANNy/kannolo.
title kANNolo: Sweet and Smooth Approximate k-Nearest Neighbors Search
topic Information Retrieval
url https://arxiv.org/abs/2501.06121