TurboQuant en Rust: búsqueda vectorial más veloz

Fuentes: New Rust Implementation of Google's TurboQuant Offers Faster Vector Search

Un investigador ha implementado en Rust 'TurboQuant', un algoritmo de Google Research para la búsqueda vectorial, ofreciendo una alternativa más rápida y eficiente a métodos como FAISS. La implementación, disponible en GitHub, incluye bindings para Python a través de PyO3, facilitando su uso. TurboQuant comprime vectores de alta dimensión (hasta 1536 coordenadas) a 2-4 bits por coordenada, minimizando la distorsión y eliminando la necesidad de un proceso de entrenamiento previo, lo que acelera la creación de índices en un factor de 3 a 4. Las pruebas realizadas en Apple M3 Max muestran que TurboQuant iguala o supera a FAISS en velocidad, especialmente en arquitecturas ARM, y ofrece una mayor precisión (recall@1). La técnica de compresión, que reduce el tamaño de los vectores hasta 16 veces en comparación con FP32, se basa en una rotación aleatoria seguida de una cuantización escalar Lloyd-Max, permitiendo una adición de vectores online sin necesidad de reconstruir el índice. El proyecto consta de dos partes: una biblioteca Rust pura ('turbovec') y un wrapper de Python ('turbovec-python').