MonaVec предлагает уникальный подход к векторному поиску, специально адаптированный для сред, где традиционные серверные настройки и доступ к сети непрактичны. В отличие от обычных систем, которые зависят от больших объемов памяти или длительных этапов обучения, MonaVec работает аналогично SQLite, функционируя с одним файлом и простым вызовом функции. Его инновационный механизм квантизации по умолчанию не требует обучения и не зависит от входных данных, используя случайное преобразование Адамара (RHDH) для стандартизации распределений входных данных. Это позволяет эффективно квантизировать до 4 бит без необходимости в обученной кодовой книге или предварительной обработке данных. Результаты хранятся в компактном файле .mvec, обеспечивая воспроизводимость на различных архитектурах благодаря встроенному семени ChaCha20, что гарантирует согласованные результаты. В тестах с семантическими встраиваниями MonaVec продемонстрировал впечатляющую производительность, достигнув Recall@10 в 0.960 с минимальным объемом памяти, превосходя другие ведущие системы векторного поиска. Реализация, выполненная на чистом Rust с привязками к Python, оптимизирована для различных аппаратных архитектур и идеально подходит для извлечения данных на устройстве и оффлайн-приложений, отражая полезность SQLite для реляционных данных.
MonaVec: Векторный поисковый ядро без обучения для систем ИИ на краю и в оффлайне
MonaVec — это инновационное ядро векторного поиска, разработанное для приложений ИИ на краю и в оффлайне, устраняющее необходимость в серверной инфраструктуре и обширных данных для обучения.
