翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ベクトルインデックス作成の GPU アクセラレーション
GPU アクセラレーションは、大規模なベクトルデータベースをより迅速かつ効率的に構築するのに役立ちます。この機能は、新規または既存の OpenSearch ドメインと OpenSearch Serverless OpenSearch コレクションで有効にできます。この機能は GPU アクセラレーションを使用して、データをベクトルインデックスにインデックス化するために必要な時間を短縮します。
GPU アクセラレーションを使用すると、インデックス作成コストの 4 分の 10Xに増やすことができます。
前提条件
GPU アクセラレーションは、OpenSearch バージョン 3.1以降を実行している OpenSearch ドメインと OpenSearch Serverless コレクションでサポートされています。詳細については、Amazon OpenSearch Service ドメインのアップグレード「」、UpdateDomainConfig」、およびUpdateCollection APIs」を参照してください。
仕組み
ベクトルインデックスは、階層ナビゲーション可能スモールワールド (HNSW) グラフなどのデータ構造を構築するために、大量のコンピューティングリソースを必要とします。ドメインまたはコレクションで GPU アクセラレーションを有効にすると、OpenSearch はインデックスビルドを高速化する機会を自動的に検出し、インデックスビルドを GPU インスタンスにオフロードします。OpenSearch Service はユーザーに代わって GPU インスタンスを管理し、必要に応じてドメインまたはコレクションに割り当てます。つまり、使用率の管理やアイドル時間に対する支払いは行いません。
Compute Units (OCU) - Vector Acceleration による有用な処理に対してのみ料金が発生します。各 Vector Acceleration OCU は、約 8 GiB の CPU メモリ、2 つの vCPUs、6 GiB の GPU メモリの組み合わせです。詳細については、「GPU アクセラレーションの料金」を参照してください。
ドメインまたはコレクションの GPU アクセラレーションを有効にするには、「」を参照してくださいGPU アクセラレーションの有効化。
GPU アクセラレーションの料金
AWS は、OpenSearch がドメインまたはコレクションのインデックス構築ワークロードを高速化する機会を検出したときに課金します。各 Vector Acceleration OCU は、約 8 GiB の CPU メモリ、2 つの vCPUs、6 GiB の GPU メモリの組み合わせです。
AWS は OCU に第 2 レベルの粒度で請求します。アカウントステートメントには、コンピューティングのエントリが OCU 時間で表示されます。
例えば、2 つの vCPU と 1 GiB の GPU メモリを使用して 1 時間 GPU アクセラレーターを使用してインデックスを作成すると、1 OCU が請求されます。GPU アクセラレーターの使用中に 9 GiB の CPU メモリを使用する場合は、2 OCU が請求されます。
OpenSearch Serverless は、コレクションをサポートするのに必要な処理能力とストレージに基づいて 1 OCU 単位で追加の OCU を追加します。コストを抑えるために、アカウントの OCU の最大数を設定できます。
注記
プロビジョニングされる OCU 数は随時変動し、正確ではありません。時間の経過とともに、OpenSearch と OpenSearch Serverless が使用するアルゴリズムは引き続き改善され、システムの使用が最小限に抑えられます。
料金の詳細については、「Amazon OpenSearch Service の料金
GPU アクセラレーションと書き込みオペレーション
OpenSearch のベクトル取り込みレート (MB/秒) が範囲内にある場合、GPU 加速がアクティブ化されます。OpenSearch ドメインでは、 index.knn.remote_index_build.size.minと を使用してこの範囲を柔軟に設定できますindex.knn.remote_index_build.size.max。例えば、下限のデフォルトが 50 MB の場合、更新間隔の間に 768 ディメンションを持つ 15,000 個の全精度ベクトルを書き込むと、デフォルトで GPU アクセラレーションがトリガーされます。
データは、次の API オペレーションで書き込まれます。
GPU アクセラレーションは、自動セグメントマージと手動
サポートされているインデックス設定
Faiss
以下の設定は GPU アクセラレーターをサポートしていません。
サポートされる AWS リージョン
GPU アクセラレーションは、以下で利用できます AWS リージョン。
米国東部 (バージニア北部)
米国東部 (オハイオ)
米国西部 (オレゴン)
アジアパシフィック (シドニー)
アジアパシフィック (東京)
アジアパシフィック (ムンバイ)
欧州 (アイルランド)
欧州 (フランクフルト)
欧州 (ストックホルム)
欧州 (スペイン)
ベストプラクティス
ベクトル検索ワークロードの GPU アクセラレーションの利点を最大化するには、次のベストプラクティスに従ってください。
-
インデックスクライアントを増やす - インデックスの構築中に GPUs を最大限に活用するには、OpenSearch にデータを取り込むインデックスクライアントの数を増やします。これにより、GPU リソースの並列化と使用率が向上します。
-
おおよそのしきい値の調整 -
index.knn.advanced.approximate_threshold設定を変更して、セグメントインデックスのビルドが小さくならないようにします。これにより、取り込みの全体的な速度が向上します。10,000 の値は良い出発点です。コレクションの場合、この設定に値を明示的に指定する必要があります。 -
シャードサイズの最適化 - 少なくとも 100 万のドキュメントを含むシャードを作成してみてください。このドキュメント数より少ないシャードでは、GPU アクセラレーションによる全体的なメリットが得られない場合があります。