Turbovec: index vectoriel Rust ultra-compressé et rapide
turbovec est un nouvel index de vecteurs open-source, développé en Rust et doté de liaisons Python, qui s'appuie sur l'algorithme TurboQuant de Google Research. Conçu pour optimiser le stockage et la recherche de vecteurs d'embeddings, ce projet se distingue par une compression de mémoire extrême et des performances de recherche supérieures aux solutions actuelles. Les benchmarks montrent que turbovec réduit considérablement l'empreinte RAM. Un corpus de dix millions de documents, qui occupe habituellement 31 Go en format standard, tient désormais en seulement 4 Go. Cette efficacité s'accompagne d'une vitesse de recherche accrue grâce à des instructions vectorielles matérielles optimisées pour les architectures ARM et x86. Sur des configurations testées, le moteur affiche des gains de vitesse d'environ 3,4 fois en quantification 4 bits et jusqu'à 26 % en 2 bits, tout en maintenant une précision comparable ou supérieure aux indices traditionnels comme FAISS. Le système fonctionne selon un processus de compression simplifié. Après normalisation des vecteurs, une rotation aléatoire standardise la distribution statistique des coordonnées. Une calibration légère puis une quantification scalaire par l'algorithme de Lloyd-Max permettent de réduire chaque dimension à 2 ou 4 bits. Les données sont ensuite packagées sans nécessiter de phase d'entraînement préalable. La recherche s'effectue directement sur les valeurs quantifiées sans décompression, tandis qu'une rénormalisation de longueur corrige les biais d'estimation pour garantir une précision élevée. Au-delà des performances brutes, turbovec offre une flexibilité opérationnelle notable. L'indexation est en temps réel et l'ajout de nouveaux vecteurs ne nécessite aucun recalcul ni paramétrage complexe. La persistance incrémentale permet des sauvegardes rapides et résilientes aux pannes, et le filtrage des résultats s'effectue directement dans le noyau de recherche sans pénalité de performance. Par ailleurs, le projet reste strictement local, garantissant qu'aucune donnée ne quitte l'environnement utilisateur ou le réseau privé. Ce profil technique positionne turbovec comme une alternative robuste pour les architectures de génération augmentée par récupération, communément appelées RAG. Ce modèle permet aux intelligences artificielles de rechercher et d'utiliser des connaissances externes de manière plus précise et personnalisée. Il est particulièrement adapté aux contextes où la confidentialité des données, la limitation de la mémoire ou la latence minimale sont prioritaires. Compatible avec les frameworks existants, il s'intègre par simple remplacement de code, facilitant son adoption en production. En offrant une solution purement locale, rapide et économe en ressources, turbovec élargit les possibilités de déploiement des systèmes de recherche vectorielle à grande échelle.
