RyanCodrai、ベクター検索ライブラリ turbovec を公開──1,000 万ドキュメントの RAM 消費を 4GB に圧縮
Google Research の TurboQuant アルゴリズムを Rust で実装し、1,000 万件のベクターコーパスを float32 比で約 1/8 の 4GB に圧縮しつつ FAISS を上回る速度で検索可能にした。
リリース: 2026-08-18 · 読了 3 分記事の要約
1. 核心(What)
- Google Research の TurboQuant アルゴリズムを採用した Rust 製ベクター検索ライブラリ turbovec が公開された
- 1,000 万件のベクターを 4GB の RAM に収め、FAISS を上回る高速検索を実現
- Python および Rust の両方に対応し、LangChain や LlamaIndex などの主要フレームワークのストアを置き換え可能
- インデックス作成時のトレーニング工程やパラメータチューニングが不要なオンラインインジェストをサポート
2. 影響(Why)
- メモリ消費の劇的な圧縮: float32 で 31GB 必要だった 1,000 万ドキュメントのインデックスを 4GB に圧縮できるため、クラウドのサーバー費用を大幅に抑制できる。
- フレームワークとの高い親和性: LangChain や LlamaIndex などのインメモリ用ストアの代替としてそのまま組み込めるため、既存パイプラインの移行コストが最小限で済む。
3. 根拠・詳細(How)
- SIMD 手動最適化カーネル: ARM の NEON (SDOT/SMMLA) や x86 の AVX-512 VNNI / `vpermb` を手書きしたカーネルにより、FAISS IndexPQFastScan 比較で 4-bit 平均 3.4×、2-bit で 23% 高速化。
- 検索時インプレースフィルタリング: 32 ベクターのブロック単位で SIMD カーネル内部に allowlist を渡し、LUT ルックアップ前に非該当スロットをショートサーキットで除外する設計。
4. 展望・課題(Next)
- 実運用環境での性能検証: 実際のエンタープライズ RAG データセットにおける大スケールでのレイテンシと再現性の実証が求められる。