Alibaba Cloud AISearch for Milvus (Milvus) は、さまざまなコンピューティングユニット (CU) タイプと柔軟なコンピュートノード (クエリノード) 数を提供します。このリファレンスを参考に、お客様のビジネスシナリオに合ったインスタンスタイプを選択してください。
CU タイプ
Milvus のコンピューティングノードは、次の CU タイプをサポートしています。
-
コンピューティング最適化:検索、レコメンデーションシステム、生成 AI、チャットボットなど、高 QPS で低レイテンシーのワークロードに最適です。
-
ストレージ最適化:大容量データで、検索パフォーマンス要件が中程度のシナリオに最適です。ストレージ最適化インスタンスは、コンピューティング最適化インスタンスの 4 倍のストレージ容量を提供し、ほとんどのシナリオのニーズを満たす優れたパフォーマンスも実現します。大規模な非構造化データの検索、著作権検出、モデルデータの準備に適しています。
重要現在、ストレージ最適化 CU には次の制限があります。
-
スケールアウトとスケールインのみがサポートされています。スケールアップやスケールダウンはサポートされていません。購入前に CU の仕様を慎重に確認してください。
-
DiskANN インデックスのみを推奨します。このインデックスタイプは float ベクターデータのみをサポートします。ベクター間の距離測定では、ユークリッド距離 (L2)、内積 (IP)、またはコサイン類似度 (COSINE) のみがサポートされています。
-
ストレージ容量の比較
|
CU タイプ |
インデックスタイプ |
CU 仕様 |
ベクターデータ容量リファレンス (128 ディメンションの SIFT ベクターデータに基づく) |
ベクターデータ容量リファレンス (960 ディメンションの GIST ベクターデータに基づく) |
|
コンピューティング最適化 |
HNSW M:30 efConstruction:360 |
4 vCPU 16 GiB (4 CU) |
1,600万 |
300万 |
|
8 vCPU 32 GiB (8 CU) |
3,200万 |
600万 |
||
|
16 vCPU 64 GiB (16 CU) |
6,400万 |
1,200万 |
||
|
32 vCPU 128 GiB (32 CU) |
1億2,800万 |
2,400万 |
||
|
ストレージ最適化 |
DiskANN |
8 vCPU 32 GiB (8 CU) |
1億2,000万 |
2,300万 |
|
16 vCPU 64 GiB (16 CU) |
2億4,000万 |
4,600万 |
||
|
32 vCPU 128 GiB (32 CU) |
4億8,000万 |
9,200万 |
-
表内のデータはパフォーマンステストに基づいており、容量評価の参考としてご利用ください。
-
テストデータセットには、プライマリキーとベクターデータのみが含まれており、スカラーフィールドは含まれていません。プライマリキーは、ゼロから始まる自動インクリメントの正の整数で、文字列に変換されています。本番環境では、スカラーフィールドが不可欠であり、ストレージも消費するため、実際に保存できるベクター数は表の値よりも少なくなります。
検索パフォーマンスの比較
|
CU タイプ |
CU 仕様 |
インデックスタイプ |
topk=50 |
topk=100 |
topk=250 |
topk=1000 |
||||
|
QPS |
RT_p99 |
QPS |
RT_p99 |
QPS |
RT_p99 |
QPS |
RT_p99 |
|||
|
コンピューティング最適化 |
16 vCPU 64 GiB (16 CU) |
HNSW M:30 efConstruction:360 |
2000 |
< 10 ms |
1200 |
< 10 ms |
550 |
< 15 ms |
150 |
< 30 ms |
|
ストレージ最適化 |
16 vCPU 64 GiB (16 CU) |
DiskANN |
700 |
< 15 ms |
550 |
< 20 ms |
200 |
< 30 ms |
60 |
< 50 ms |
-
データは Cohere データセット (1,000 万ベクター、768 ディメンション) のテスト結果に基づいています。実際のパフォーマンスは、データセットごとのデータ分布によって異なります。
-
RT_p99 は、1,000 件のクエリを順次実行し、応答時間の 99 パーセンタイル値を取得して測定します。
-
テストデータには、プライマリキーとベクターデータのみが含まれており、スカラーフィールドは含まれていません。プライマリキーは、ゼロから始まる自動インクリメントの正の整数です。コンピューティング最適化インスタンスには HNSW が使用され、ストレージ最適化インスタンスには DiskANN が使用されます。
-
Milvus は、バックグラウンドでベクターインデックスを定期的に最適化します。このプロセスは通常、データの書き込み後 3 時間以内に完了し、その後、システムは最適なパフォーマンスに達します。
コンピューティングノード数
コンピューティングノード (クエリノード) の数は 1 から 50 までスケールできます。QPS はノード数に比例して増加します。ノード数が多いほど、サービス可用性も向上するため、高可用性が必要な本番環境では、少なくとも 2 つのノードを使用してください。
シナリオ分析
2,000 万枚の画像を含む画像検索システムを構築するとします。各画像は 768 ディメンションのベクターで表現されます。目標は、1 秒あたり 2,000 件の検索リクエストを処理し、10 ミリ秒以内に上位 100 件の結果を返すことです。次のように選択肢を評価します。
-
レイテンシー評価:レイテンシー要件に基づいて CU タイプを選択します。たとえば、10 ミリ秒未満のレイテンシーが必要な場合、この要件を満たすのはコンピューティング最適化 CU のみです。
-
容量の検討:データ量とディメンションに基づいて、必要な CU 数を計算します。単一の 16 vCPU 64 GiB (16 CU) のコンピューティング最適化 CU は、1,200 万個の 960 ディメンションベクターを処理できます。2,000 万個の 768 ディメンションベクターに対応するには、このような CU を少なくとも 2 つ構成し、合計 32 CU にする必要があります。
-
スループットの検証:指定した top-k 設定でのノードごとのスループットを検証します。たとえば、top-k を 100 に設定すると、コンピューティング最適化ノードは 1,200 QPS を提供します。2,000 QPS の持続的なパフォーマンスを実現するには、ノード数を 2 倍にする必要があります。
この分析に基づいて、コンピューティング最適化 CU を選択し、それぞれ 16 vCPU 64 GiB (16 CU) の仕様で 2 つのノードを構成します。