FAISSとは

FAISS
読み: フェイス

FAISSとは、Meta(旧Facebook)が開発したオープンソースのベクトル類似度検索ライブラリである

読み: フェイス

Meta(旧Facebook)が開発したオープンソースベクトル類似度検索ライブラリである。数十億件規模のベクトルに対して高速な近似最近傍探索を実行でき、GPU対応による大規模並列処理にも対応する。RAGパイプラインや推薦システムのバックエンドとして広く採用されている。

かんたんに言うと

膨大な数のベクトル(数値の配列)の中から、指定したベクトルに最も似ているものを高速に見つけ出すための専門ツールである。図書館の蔵書検索に例えると、全冊を1冊ずつ比べるのではなく、カテゴリや棚の位置で絞り込んでから探す仕組みとなる。

アーキテクチャと主要アルゴリズム

FAISSは複数のインデックスタイプを提供する。Flat(全件比較)、IVF(逆ファイルインデックス)、HNSW(階層型近傍グラフ)、PQ(積量子化)が代表的である。IVFベクトル空間をクラスタに分割して検索範囲を絞り、PQはベクトルを圧縮してメモリ消費を削減する。

GPU対応により、CPUの数十倍の速度で検索を実行できる。CUDA環境があれば、数億件のベクトルに対しても1ミリ秒以下の検索が可能となる。

RAGパイプラインでの活用

RAGシステムでは、ユーザーの質問をエンベディングに変換し、FAISSで類似ドキュメントを検索し、その結果をLLMコンテキストに注入する。LangChainLlamaIndexがFAISSをバックエンドとしてサポートしており、数行のコードでRAGパイプラインに組み込める。

当社の見解

当社はFAISSを、常駐プロセスゼロの記憶システム再構築の過程で実環境評価した。HindsightDocker常駐でCPU 50%占有)の経験から、「使わないときにリソースを消費しない」設計を最優先方針とし、FAISS(37,700スター、Meta製)、LanceDB(9,800スター、YC支援)、ChromaDB(27,200スター)、USearch(4,000スター、1MB未満)の4製品を比較検証。最終的にFastEmbed + LanceDBの組み合わせを選定し、1,655件の記憶データに対して検索レイテンシ8ms、GPU不要・常駐プロセスなしを実現した。

同じ失敗を二度としないAIエージェント

今のAIは、聞けば何でも答えてくれます。
でも、セッションが切れた瞬間に前回の失敗を忘れます。

当社が開発しているAIは、過去の経緯を念頭に置いて、
聞かれる前に「それは前回うまくいきませんでした」と声をかけます。
人間にも同じ失敗をさせず、AI自身も繰り返しません。

古参の社員が横にいるように、黙っていても気づいてくれる。
それが、当社が考える本当のAI社員です。

相談する