ベクター ストアは、自然言語処理、ビデオと画像の認識、レコメンデーション システム、検索など、分析および生成 AI 全体の多数のドメインと状況で使用されます。
ベクター ストアとは
ベクター ストア (ベクター データベースとも呼ばれます) は、ベクター埋め込みを格納および管理するデータベースです。 ベクター埋め込みとは、高次元空間におけるデータの数学的表現です。
この空間では、各ディメンションはデータの特徴に対応します。 高度なデータを表すために、何万ものディメンションが使用される場合があります。 この空間内のベクトルの位置は、その特性を表します。 単語、フレーズ、ドキュメント全体、画像、オーディオ、その他の種類のデータはすべてベクター化できます。
ベクター ストアのしくみ
ベクター ストアでは、ベクター検索アルゴリズムを使用して、埋め込みのインデックス作成とクエリを実行します。 よく知られているベクター検索アルゴリズムには、ディスク近似ニアレストネイバー (DiskANN)、階層ナビゲーション可能なスモールワールド (HNSW)、フラット圧縮を施した反転ファイル (IVFFlat)が含まれます。
ベクトル検索は、プロパティ フィールドの完全一致ではなく、データ特性に基づいて類似項目を検索するのに便利な方法です。 この手法は、類似したテキストの検索、関連する画像の検索、おすすめ候補の作成、異常の検出などのアプリケーションで役立ちます。
ベクター検索は、機械学習モデルを使用して作成したデータのベクター埋め込みを、埋め込み API を介してクエリするために使用されます。 埋め込み API の例として、 Azure OpenAI Embeddings と Hugging Face on Azure があります。
ベクトル検索は、データ ベクトルとクエリ ベクトル間の距離を測定します。 クエリ ベクターに最も近いデータ ベクターは、意味的に最も似ています。
ベクター ストアとして Azure Database for PostgreSQL を使用している場合は、元のデータと共に埋め込みの格納、インデックス作成、クエリを実行できます。 この方法では、別の純粋なベクター データベースでデータをレプリケートする追加コストが不要になります。
このアーキテクチャでは、ベクター埋め込みと元のデータも一緒に保持されます。 埋め込みとデータを一緒に保持すると、マルチモーダル データ操作がより容易になります。 また、データの一貫性、スケール、パフォーマンスを向上させることもできます。