search-ann-benchmarkにElasticsearch 9.2のDiskBBQを追加

ベクトル検索エンジンの性能評価ツールsearch-ann-benchmarkで、Elasticsearch 9.2で追加されたDiskBBQ(bbq_disk)インデックスタイプの評価を追加しました。

DiskBBQとは

DiskBBQは、Elasticsearch 9.2で導入された新しいベクトルインデックスタイプです。従来のBBQ(Better Binary Quantization)がメモリベースのHNSWグラフを使用するのに対し、DiskBBQはディスクベースで動作します。

これにより、メモリ使用量を抑えつつ大規模なベクトルデータを扱えるようになります。ただし、ディスクアクセスが発生するため、検索速度とのトレードオフがあります。

search-ann-benchmarkの変更内容

主な変更点は以下の3つです。

CLIオプションの追加

--quantizationオプションにbbq_diskを追加しました。これで、コマンドラインからDiskBBQを使用したベンチマークを実行できます。

search-ann-benchmark run elasticsearch \
  --target 100k-768-m32-efc200-ef100-ip \
  --version 9.2.3 \
  --quantization bbq_disk

インデックス作成ロジックの調整

DiskBBQは従来のHNSWパラメータ(mef_construction)をサポートしないため、インデックス作成時にこれらのパラメータを除外するように修正しました。

GitHub Actionsワークフローの追加

DiskBBQ専用のベンチマークワークフローを追加しました。Elasticsearch 9.2.3を使用して、100k、1M、5Mのデータセットに対してテストできます。

大規模データセットでの効果

DiskBBQは、メモリ使用量の削減が主な目的のため、小規模なデータセットでは従来のbbq_hnswとの差があまり出ないかもしれません。5M以上のベクトルを扱うような大規模なデータセットで、メモリ効率の違いがより明確になると思います。

    コメントを残す

    メールアドレスが公開されることはありません。 が付いている欄は必須項目です