MonaVec introduce un enfoque único para la búsqueda vectorial, adaptado específicamente a entornos donde las configuraciones de servidor tradicionales y el acceso a la red son impracticables. A diferencia de los sistemas convencionales que dependen de grandes capacidades de memoria o fases de entrenamiento extensas, MonaVec opera de manera similar a SQLite, funcionando con un solo archivo y una llamada de función sencilla. Su innovador mecanismo de cuantificación es inherentemente libre de entrenamiento y no depende de los datos de entrada, utilizando una Transformación de Hadamard Aleatoria (RHDH) para estandarizar las distribuciones de entrada. Esto permite una cuantificación eficiente a 4 bits sin requerir un código aprendido o procesamiento previo de datos. Los resultados se almacenan en un archivo .mvec compacto, asegurando la reproducibilidad en diferentes arquitecturas a través de una semilla ChaCha20 integrada, que garantiza resultados consistentes. En pruebas que involucran embeddings semánticos, MonaVec demostró un rendimiento impresionante, alcanzando un Recall@10 de 0.960 con una huella de memoria mínima, superando otros sistemas de búsqueda vectorial líderes. La implementación, realizada en Rust puro con enlaces a Python, está optimizada para diversas arquitecturas de hardware y es ideal para recuperación en dispositivo y aplicaciones fuera de línea, reflejando la utilidad de SQLite para datos relacionales.
MonaVec: Un núcleo de búsqueda vectorial embebido sin entrenamiento para sistemas de IA en el borde y fuera de línea
MonaVec es un núcleo de búsqueda vectorial innovador diseñado para aplicaciones de IA en el borde y fuera de línea, eliminando la necesidad de infraestructura de servidor y datos de entrenamiento extensos.
