ベクトル データベースとは

ベクトル データベース とは、ベクトル エンベディング、またはテキスト、画像、音声などの非構造化データの数値表現を保存、インデックス作成、クエリできるデータベースです。

ベクトル エンベディングとは

ベクトル エンベディングは、意味的類似度が N 次元ベクトル空間の距離で表される方法でコンテンツをマッピングするため、非構造化データの有用な表現です。これにより、類似性の検索、ナレッジベース内の関連コンテンツの検索、ユーザーが生成した複雑なクエリに最も一致するアイテムの取得が容易になります。

一部の専用データベースはベクトル エンベディングのみをサポートしていますが、他のデータベースはベクトル エンベディング以外の多くのデータやクエリタイプをサポートしています。豊富な実際のデータを基に生成 AI アプリケーションを構築するには、幅広いデータ型とクエリタイプのサポートが不可欠です。ベクトル エンベディングを使用したセマンティック クエリのメリットが明らかになると、ほとんどのデータベースでベクトルのサポートが追加される予定です。将来的には、すべてのデータベースがベクトル データベースになると考えています。

Vertex AI のベクトル検索が高パフォーマンスの生成 AI アプリケーションの構築にどのように役立つかを確認します。Vertex AI のベクトル検索は、Google Research が開発したスケーラブルで効率的なベクトル検索技術であるスケーラブルな最近傍探索(ScaNN)をベースにしており、大規模なデータセットやリアルタイム検索の要件を処理するのに最適です。ベクトル検索とエンベディングの詳細については、こちらの動画をご覧ください。また、こちらのクイックスタート ガイドを使ってみてください。

ベクトル データベースの仕組み

他のデータ型と同様に、大規模なベクトルセットを効率的にクエリするにはインデックスが必要です。ベクトル データベースはベクトル専用のインデックスをサポートしています。他の多くのデータ型(テキストや数値など)は論理的な順序が 1 つであるのとは異なり、ベクトルには実際のユースケースに対応する自然な順序がありません。代わりに、ドット積、コサイン類似度、ユークリッド距離などの距離指標に関して他のベクトルに最も近い k 個のベクトルをクエリするのが最も一般的なユースケースです。この種類のクエリは「k 最近傍」(KNN)クエリと呼ばれます。

残念ながら、効率的な KNN クエリのための一般的なアルゴリズムはありません。特定のベクトル q に k 個の最近傍を確実に見つけるには、q と他のすべてのベクトルとの間の距離を計算する必要があります。しかし、k の近似最近傍探索(「ANN」)を効率的に見つけるアルゴリズムもあります。これらの ANN アルゴリズムは、ある程度の精度(具体的には、再現率であり、アルゴリズムは実際の最近傍の一部を省略する可能性があります)と引き換えに、速度を大幅に向上させます。多くのユースケースでは、ベクトル エンベディングの計算プロセスがすでに不正確として扱われているため、多くの場合、パフォーマンスが大幅に向上する代わりに、再現率の低下を許容できます。

他のベクトルからの距離に基づくベクトルの ANN クエリを可能にするために、ベクトル インデックスは、一般的に近接するベクトルのクラスタがグループ化されるような構造になっています。一般的なベクトル インデックス タイプは、各リストが特定のクラスタ内のベクトルを表すリストの集合、各ベクトルがいくつかの最近傍に接続されたグラフ、枝が親ノードのクラスタのサブセットに対応するツリー、およびその他のものとして構造化することができます。各インデックス タイプによって、検索速度、再現率、メモリ消費、インデックス作成時間などの要因間のトレードオフが決まります。

しかし、ほとんどのデータベース クエリは、意味的類似性だけに基づくものではありません。たとえば、ユーザーが探している書籍の内容が「子どもと犬についての心温まる物語」に似ているが、ペーパーバック形式で入手できる 20 ドル未満の書籍に限定したい場合。特殊目的のベクトル データベースは、追加のフィルタリング機能(「制限」と呼ばれることもあります)が限られている場合があります。一方、汎用データベースでは、SQL などの標準言語を使用して豊富な述語を作成できます。ベクトル類似性の順序付けと組み合わせることで、非常に強力で表現力豊かなクエリを実現できます。

ベクトル データベースのユースケース

ベクトル エンベディングは非構造化データの意味を表現する機能と、ベクトル データベースの近くのベクトルを効率的に検索する機能を組み合わせることで、多くの重要なユースケースを実現します。

  • 現在の会話に関連するチャット履歴からメッセージを見つけ、AI を活用した chatbot に「記憶」を持たせることができる
  • スポーツ放送の膨大なアーカイブから、「ディフェンダーを飛び越えてボールをキャッチし、タッチダウンを記録」のような簡単な説明に一致する動画クリップを探す
  • ユーザーが以前に購入した商品に似た商品で、その価格やスタイルの好みに合う商品を探す
  • 「掃除機のフィルタを交換する」など、タスクに関連するドキュメントを検索して、AI 搭載アシスタントが事実に基づく関連性の高い回答を提供できるようにします。

ベクトル データベースの利点

ベクトル データベースが重要なのは、関係述語やテキスト検索技術だけでは解決が困難または不可能なさまざまな問題を解決できるからです。

ベクトル データベースは、関連するチャット履歴やビジネス固有の非構造化コンテンツなどの重要なビジネス コンテキストやアプリケーション コンテキストを簡単に取得して、LLM が複雑なユーザークエリに応答できるため、生成 AI アプリケーションに適しています。

また、自然言語を使用してコンテンツを検索したり、例で照会したりすることも簡単にできます。

Google Cloud でビジネスの課題を解決する

新規のお客様には、Google Cloud で使用できる無料クレジット $300 分を差し上げます。
お客様独自の課題を詳細に検討するには、Google Cloud のセールス スペシャリストまでご相談ください。

次のステップ

$300 分の無料クレジットと 20 以上の Always Free プロダクトを活用して、Google Cloud で構築を開始しましょう。

Google Cloud
  • ‪English‬
  • ‪Deutsch‬
  • ‪Español‬
  • ‪Español (Latinoamérica)‬
  • ‪Français‬
  • ‪Indonesia‬
  • ‪Italiano‬
  • ‪Português (Brasil)‬
  • ‪简体中文‬
  • ‪繁體中文‬
  • ‪日本語‬
  • ‪한국어‬
コンソール
  • Google Cloud プロダクト
  • 100 種類を超えるプロダクトをご用意しています。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。また、すべてのお客様に 25 以上のプロダクトを無料でご利用いただけます(毎月の使用量上限があります)。
Google Cloud