VectorDBBenchによるパフォーマンスベンチマーク
VectorDBBenchは、ベクトルデータベースに特化したオープンソースのベンチマークツールです。
このトピックでは、VectorDBBenchを使用してZilliz Cloudのパフォーマンステスト結果を再現する方法を紹介します。
概要について
VectorDBBenchは、主流のベクトルデータベースやクラウドサービスのベンチマーク結果の提供だけでなく、究極のパフォーマンスとコスト効率の比較のためのツールでもあります。
VectorDBBenchは直感的なビジュアルインターフェースを提供します。これにより、ユーザーは簡単にベンチマークを開始できるだけでなく、比較結果レポートを表示してベンチマーク結果を簡単に再現できます。
VectorDBBenchは、実世界の本番環境を忠実に模倣し、挿入、検索、フィルタリングされた検索を含む多様なテストシナリオを設定しています。信頼性の高いデータを提供するために、VectorDBBenchは、SIFT、GIST、Cohereなどの実際の本番シナリオからの公開データセット、およびオープンソースの生データセットから生成されたOpen AIによるデータセットも含めています。
ベンチマーク指標
メートル法 | 説明する | テストシナリオ |
---|---|---|
最大ロード数 | ベクトルデータベースの容量です。VectorDBBenchは、10回以上の挿入要求が失敗または拒否されるまで、ベクトルデータをベクトルデータベースに挿入し続け、挿入されたエンティティの最大数を記録します。 Max_load_countの値が大きいほど、ベクトルデータベースのパフォーマンスが向上します。 | 挿入する |
QPS | ベクトルデータベースが1秒あたりの同時クエリを処理する能力。VectorDBBenchは、複数回にわたってトップ100の検索を使用し、最も高いQPS値を最終結果として選択します。 高いQPS値はベクトルデータベースのパフォーマンスが良いことを示します。 | 検索&フィルター検索 |
リコール | グラウンドトゥルースと検索結果を比較することによる検索精度の測定。 リコール値が高いほど、ベクトルデータベースのパフォーマンスが良いことを示します。 | 検索&フィルター検索 |
ロード時間 | Zilliz Cloudがエンティティの挿入とインデックスの構築の過程を完了するのにかかる時間。 Load_durationの値が低いほど、ベクトルデータベースのパフォーマンスが向上します。 | 検索&フィルター検索 |
シリアルラタンシーp 99 | クエリの99%が完了するまでの時間。VectorDBBenchは、各トップ100検索の検索レイテンシを記録し、最終結果として99パーセンタイル平均を使用します。 Serial_latancy_p 99の値が低いほど、ベクトルデータベースのパフォーマンスが向上します。 | 検索&フィルター検索 |
前提条件
-
Zilliz Cloudアカウント登録が必要です。
-
少なくとも1つのクラスタを作成してください。
-
Python 3.11以降がインストールされている必要があります。
手続き
テスト環境の設定
-
マシンを提供する。
Zilliz Cloudの究極のパフォーマンスをテストするために、複数のスレッドを確保するために、クライアントマシンに8つ以上のv CPUをプロビジョニングすることをお勧めします。
-
ネットワークの設定
ネットワーク通信は、特にクエリテストシナリオでは、テスト結果に影響します。ネットワークレイテンシの影響を軽減するには、次のことをお勧めします。
- クライアントをZilliz Cloudクラスターと同じクラウドプロバイダーとリージョンに展開します。
VectorDBBenchのインストールと起動
# Install VectorDBBench
$ pip install vectordb-bench
# Start VectorDBBench
$ init_bench
以下は出力例です。出力でローカルURLを取得します。これを使用して、VectorDBBenchのWebユーザーインターフェイスを開きます。
👋 Welcome to Streamlit!
If you’d like to receive helpful onboarding emails, news, offers, promotions,
and the occasional swag, please enter your email address below. Otherwise,
leave this field blank.
Email:
You can find our privacy policy at https://streamlit.io/privacy-policy
Summary:
- This open source library collects usage statistics.
- We cannot see and do not store information contained inside Streamlit apps,
such as text, charts, images, etc.
- Telemetry data is stored in servers in the United States.
- If you'd like to opt out, add the following to ~/.streamlit/config.toml,
creating that file if necessary:
[browser]
gatherUsageStats = false
You can now view your Streamlit app in your browser.
Local URL: http://localhost:8501
Network URL: http://172.16.20.46:8501
ホームページでは、VectorDBBenchが提供するいくつかの事前定義されたテストデータセットを見ることができ、それらを使用して迅速なパフォーマンスベンチマークを行うことができます。
ウェブページを一番下までスクロールし、**テストを実行>**をクリックして独自のベンチマークテストを設定してください。
ベンチマークテストを設定する
ベンチマーク結果を見る
ベンチマークの結果を表示して分析するには、[結果]をクリックします。以下はいくつかの例です。
オプションで、左ナビゲーションウィンドウでDBフィルターとケースフィルターを設定して、定義済みのベクトルデータベースとケースのベンチマーク結果を比較することができます。
データベースは、[databasename]-[dblabel]の形式で命名されます。