S3 Vectors とベクトルバケットの操作 - Amazon Simple Storage Service

S3 Vectors とベクトルバケットの操作

注記

Amazon S3 Vectors は Amazon Simple Storage Service のプレビューリリースであり、変更される可能性があります。

Amazon S3 Vectors とは

Amazon S3 Vectors は、セマンティック検索および AI アプリケーション向けに、コスト最適化された専用ベクトルストレージを提供します。Amazon S3 レベルの伸縮性と耐久性により、1 秒未満のクエリパフォーマンスでベクトルデータセットを保存できるため、S3 Vectors はベクトルインデックスを構築および拡張する必要があるアプリケーションに最適です。インフラストラクチャをプロビジョニングすることなく、ベクトルデータを保存、アクセス、および類似度クエリを実行するための専用の API オペレーションのセットを取得します。S3 Vectors は、連携するいくつかの主要なコンポーネントで構成されています。

  • ベクトルバケット – ベクトルの保存とクエリ専用の新しいバケットタイプ。

  • ベクトルインデックス – ベクトルバケット内では、ベクトルデータをベクトルインデックス内で整理できます。ベクトルインデックス内のベクトルデータに対して類似度クエリを実行します。

  • ベクトル – ベクトルインデックスにベクトルを保存します。類似度検索および AI アプリケーションの場合、ベクトルはベクトル埋め込みとして作成されます。ベクトル埋め込みは、コンテンツ (テキスト、画像、オーディオなど) 間のセマンティック関係を保持する数値表現であり、類似アイテムが近くに配置されます。S3 ベクトルは、ベクトル間の近さを数学的に比較することで、完全一致ではなく意味論的意味に基づいて類似度検索を実行できます。ベクトルインデックスにベクトルデータを追加する場合、一連の条件 (タイムスタンプ、カテゴリ、ユーザー設定など) に基づいて将来のフィルタリングクエリのためのメタデータをアタッチすることもできます。

S3 Vectors への書き込みには強力な整合性があります。つまり、最後に追加されたデータにすぐにアクセスできます。時間の経過とともにベクトルを書き込み、更新、削除すると、S3 Vectors はベクトルデータを自動的に最適化して、データセットがスケールおよび進化しても、ベクトルストレージの価格パフォーマンスを最大化します。バケットや IAM ポリシーなど、Amazon S3 の既存のアクセスコントロールメカニズムを使用して、ベクトルデータへのアクセスを制御できます。バケットあたりのベクトルインデックス制限とインデックスあたりのベクトル制限の詳細については、「制限と制約」を参照してください。

ユースケース: 大規模なデータセット間での類似度検索

類似度検索を使用すると、キーワードの完全一致ではなく、ベクトル表現に基づいて概念的に相互に関連する項目を検索できます。これらの検索は、正確な単語やビジュアル要素が異なっていても、同様の意味や特性を持つコンテンツを識別します。

S3 Vectors での類似度検索の一般的なユースケースは次のとおりです。

  • 医療画像 - 診断と治療計画に役立つ数百万の医療画像で類似点を見つける

  • 著作権侵害 - 大規模なメディアライブラリ間で派生コンテツの可能性があるものを特定する

  • 画像重複排除 - 大きな画像コレクションから重複した画像、またはほぼ重複した画像を検出して削除する

  • 動画の理解 - 動画アセット内の特定のシーンまたはコンテンツを検索する

  • エンタープライズドキュメント検索 - 企業ドキュメント間のセマンティック検索を有効にして、意味に基づいて関連情報を見つける

  • パーソナライゼーション - 類似アイテムを検索してカスタマイズされたレコメンデーションを提供する

費用対効果の高いベクトル検索とエージェンティック AI アプリケーションを 1 秒未満の検索時間で構築する場合は、S3 Vectors を使用する必要があります。ベクトルバケットでは、使用する分に対してのみ料金が発生し、ベクトル埋め込みのアップロード、保存、クエリのコストを削減できます。料金に関する詳細については、「Amazon S3 の料金」を参照してください。

S3 Vectors の機能

ベクトル専用ストレージ

S3 Vectors は、クラウド内でベクトルを保存およびクエリするための最初の専用オブジェクトストレージです。ベクトルバケットは、ベクトルデータのコスト効率、伸縮性、耐久性に優れたストレージを提供するように設計されています。

ベクトル埋め込みは、医療画像間の類似性の検出、数千時間の動画映像の異常の検出、大規模なコードベースの移動、特定の法的問題に最も関連性の高い判例の特定など、お客様が非構造化データを使用および取得する方法を変革しています。これらの新しいアプリケーションは、埋め込みモデルと組み合わせて、データ (テキスト、画像、動画、コードなど) の意味論的意味を数値ベクトル埋め込みとしてエンコードします。

ベクトルバケット内では、インフラストラクチャをプロビジョニングすることなく、ベクトルインデックス内でベクトルデータを整理します。時間の経過とともにベクトルを記述、更新、削除すると、S3 Vectors はベクトルデータを自動的に最適化して、データセットがスケールおよび進化しても、ベクトルストレージの可能な限り最高の価格パフォーマンスを実現します。バケットあたりのベクトルインデックス制限とインデックスあたりのベクトル制限の詳細については、「制限と制約」を参照してください。

類似度クエリを実行する

S3 Vectors を使用すると、効率的な類似度クエリを実行して、1 秒未満の応答時間で、クエリベクトルに最も類似したベクトルを見つけることができます。S3 Vectors は、クエリの頻度が低いワークロードに最適です。

メタデータフィルタリング

メタデータ (年、作成者、ジャンル、場所など) をキーと値のペアとしてベクトルにアタッチできます。デフォルトでは、明示的にフィルタリング不可能として指定しない限り、すべてのメタデータをフィルタリングできます。フィルタリング可能なメタデータを使用して、特定の属性に基づいてクエリ結果をフィルタリングし、クエリの関連性を高めることができます。ベクトルインデックスは、文字列、数値、ブール値、リストタイプのメタデータをサポートします。ベクトルあたりのメタデータサイズ制限とベクトルあたりのフィルタリング可能なメタデータサイズ制限の詳細については、「制限と制約」を参照してください。

アクセス管理とセキュリティ

AWS Organizations の IAM およびサービスコントロールポリシーを使用して、ベクトルバケット内のリソースへのアクセスを管理できます。S3 Vectors は、Amazon S3 とは異なるサービス名前空間、つまり s3vectors 名前空間を使用します。したがって、S3 Vectors サービスとそのリソース専用のポリシーを設計できます。個々のベクトルインデックス、ベクトルバケット内のすべてのベクトルインデックス、またはアカウント内のすべてのベクトルバケットへのアクセスを許可するポリシーを設計できます。すべての Amazon S3 パブリックアクセスブロック設定は、ベクトルバケットに対して常に有効になっており、無効にすることはできません。

AWS サービスとの統合

S3 Vectors は他の AWS サービスと統合して、ベクトル処理機能を強化します。

  • Amazon OpenSearch Service - OpenSearch API オペレーションを引き続き使用しながら、ベクトルストレージコストを最適化します。これは、ハイブリッド検索、集計、高度なフィルタリング、ファセット検索などの高度な検索機能を必要とするワークロードに最適です。S3 ベクトルインデックスのスナップショットを Amazon OpenSearch Serverless にエクスポートして、高 QPS および低レイテンシーのベクトル検索を行うこともできます。

  • Amazon Bedrock ナレッジベース - S3 Vectors のベクトルインデックスをベクトルストアとして選択して、検索拡張生成 (RAG) アプリケーションのストレージコストを節約します。

  • SageMaker Unified Studio の Amazon Bedrock - S3 Vectors をベクトルストアとして使用してナレッジベースを開発およびテストします。