unum-cloud/USearch
Fast Open-Source Search & Clustering engine × for Vectors & Arbitrary Objects × in C++, C, Python, JavaScript, Rust, Java, Objective-C, Swift, C#, GoLang, and Wolfram 🔍
何を解決するか
USearch は、FAISS などの業界標準よりも小さく、高速で、よりポータブルな高パフォーマンスな類似検索およびクラスタリングエンジンです。さまざまなプラットフォームやプログラミング言語で、重い依存関係を必要とせずにベクトル(および将来的にはテキスト)の最近傍を効率的に見つける必要に対応しています。
動作方法
USearch は、近似最近傍検索に HNSW(Hierarchical Navigable Small World)アルゴリズムを実装しています。SIMD(Single Instruction, Multiple Data)およびユーザー定義メトリクス用の JIT コンパイルを使用してパフォーマンスを最適化しています。小さなフットプリントを維持するために、単一の C++11 ヘッダーライブラリを使用し、10 種類の異なる言語に対してネイティブバインディングを提供しています。また、メモリマッピングをサポートしており、大規模なインデックスを RAM に完全にロードせずにディスクから提供できます。
対象ユーザー
AI、ゲノミクス、化学、地理空間インデックスなどのアプリケーションで高速なベクトル検索機能が必要な開発者、既存のデータベースに類似検索を統合したい開発者、またはリソース制約のある環境(iOS、Android、WebAssembly など)にデプロイしたい開発者に最適です。
主な特徴
- 極めて高いパフォーマンス:FAISS より最大 10 倍高速なインデックス作成と、大幅に高速なブルートフォース検索を実現。
- 広範な互換性:Python、Rust、Go、Java、C#、JavaScript、C++ など、10 種類以上の言語に対応するネイティブバインディング。
- メモリ効率:半精度(
bf16、f16)および四分の1精度(e5m2、e4m3)フォーマットをサポートし、RAM 使用量を削減。 - カスタマイズ可能:Numba、Cppyy、PeachPy を通じてユーザー独自の類似度メトリクスを定義可能。
- ディスクベースの提供:メモリマッピングにより、大規模なインデックスをディスクから直接参照可能。クラウドインフラコストの削減が期待できる。
- 統合クラスタリング:K-Nearest Neighbors クラスタリングおよびサブクラスタリング機能を内蔵。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- Dispatch