MonaVec propose une approche unique de la recherche vectorielle, spécialement adaptée aux environnements où les configurations serveur traditionnelles et l'accès au réseau sont impraticables. Contrairement aux systèmes conventionnels qui dépendent de grandes capacités de mémoire ou de phases d'entraînement étendues, MonaVec fonctionne de manière similaire à SQLite, avec un seul fichier et un appel de fonction simple. Son mécanisme de quantification innovant est intrinsèquement sans entraînement et ne dépend pas des données d'entrée, utilisant une transformation de Hadamard randomisée (RHDH) pour standardiser les distributions d'entrée. Cela permet une quantification efficace à 4 bits sans nécessiter de codebook appris ou de traitement préalable des données. Les résultats sont stockés dans un fichier .mvec compact, garantissant la reproductibilité sur différentes architectures grâce à une graine ChaCha20 intégrée, qui assure des résultats cohérents. Dans des tests impliquant des embeddings sémantiques, MonaVec a démontré des performances impressionnantes, atteignant un Recall@10 de 0,960 avec une empreinte mémoire minimale, surpassant d'autres systèmes de recherche vectorielle. L'implémentation, réalisée en Rust pur avec des liaisons Python, est optimisée pour diverses architectures matérielles et est idéale pour la récupération sur appareil et les applications hors ligne, reflétant l'utilité de SQLite pour les données relationnelles.
MonaVec : Un noyau de recherche vectorielle intégré sans entraînement pour les systèmes d'IA en périphérie et hors ligne
MonaVec est un noyau de recherche vectorielle innovant conçu pour les applications d'IA en périphérie et hors ligne, sans nécessiter d'infrastructure serveur ni de données d'entraînement étendues.
