AI

生成AI向けの類似検索、索引をDRAMに置かずSSDで実行

この記事のポイント

  1. 実現したこと

    キオクシアによると、検索ソフトウェアKIOXIA AiSAQは、ごく少ないメモリー使用量で10億規模のデータセットを検索できる。

  2. 実現の仕組み

    SSD向けに最適化した近似最近傍探索が、DRAMに索引を配置せずSSD上で直接検索する。

  3. 得られた結果

    キオクシアは、索引のDRAMへの読み込みが不要になり、ベクトルデータベースを即座に起動できるとしている。

  4. 従来との違い

    SSD上で直接検索するKIOXIA AiSAQのコードが、オープンソースとして公開された。

計算サーバーの隣に並ぶ汎用SSDの上で、光る幾何学的なベクトル索引を直接たどる検索処理を描いた編集イラスト。DRAMモジュールはサーバー側にあり、索引はSSD側に置かれている。
AI生成画像

生成AIが参照する情報の類似検索を、索引をDRAMへ配置せずSSD上で直接実行する。キオクシアが公開した検索ソフトウェアKIOXIA AiSAQは、この方式によって大規模なデータセットへの対応とデータベースの素早い切り替えを支えるとしている。

ベクトルの類似検索をSSD上で実行する

検索拡張生成(RAG)で使うベクトルデータベースは、データを特徴ベクトルとして蓄積する。近似最近傍探索(ANNS)は、蓄積したベクトルと検索対象のベクトルの類似性を使い、問い合わせに関連する情報を探す。

キオクシアは、この探索をSSD向けに最適化した検索ソフトウェアKIOXIA AiSAQを、1月28日にオープンソースとして公開した。索引データをDRAMへ配置せず、SSD上で直接検索することが処理方式の中心となる。

DRAMへの依存を抑えて10億規模のデータに対応

キオクシアによると、従来の近似最近傍探索は、高速な検索に必要な性能を得るためにDRAMを利用してきた。SSD上で直接検索する方式では、大規模なデータベースを限られたDRAM資源に依存せず動かすことができるという。

この検索ソフトウェアは、ごく少ないメモリー使用量で10億規模のデータセットに対応するとしている。検索用の索引をDRAMへ配置しない構成によって、データ規模を拡張する際のメモリーへの依存を抑える。

索引の読み込みを省きデータベースを切り替える

索引の配置先は、検索時のメモリー使用だけでなく、データベースを起動する手順にも関わる。キオクシアは、索引データをDRAMへ読み込む必要がなくなるため、ベクトルデータベースを即座に起動できるとしている。

この起動方式は、同じサーバー上で利用者別やアプリケーション別のデータベースを円滑に切り替えることを支える。検索対象を切り替える際にも、索引をDRAMへ読み込む手順を必要としない。

共有ストレージの索引を複数サーバーから使う

クラウド向けには、計算側から分離したストレージへ索引を保存し、複数のサーバーで共有する構成に対応する。索引の保存先を共有することで、検索に使うデータを複数の計算サーバーから利用することができる。

キオクシアは、この構成が利用者やアプリケーションに応じた検索性能の動的な調整を支えるとしている。物理サーバー間で検索インスタンスを迅速に移行することも可能になるという。