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

情報にはさまざまな形があります。情報には、テキスト文書、リッチメディア、音声のように構造化されていないものもあれば、アプリケーションログ、表、グラフのように構造化されたものもあります。人工知能機械学習 (AI/ML) のイノベーションにより、ML モデルの一種である埋め込みモデルを作成できるようになりました。埋め込みでは、あらゆる種類のデータが、アセットの意味とコンテキストを捉えたベクトルにエンコードされます。これにより、近傍のデータポイントを検索して類似のアセットを見つけることができます。ベクトル検索の方法を用いることで、スマートフォンで写真を撮影したり、類似画像を検索したりするなど、ユニークなエクスペリエンスを実現できます。 

ベクトルデータベースは、ベクトルを高次元の点として保存および取得する機能を提供します。これらには、N 次元空間の最も近い近傍を効率的かつ高速に検索するための機能がさらに追加されています。これらは通常、k-最近傍 (k-NN) インデックスを使用しており、Hierarchical Navigable Small World (HNSW) や転置ファイルインデックス (IVF) などのアルゴリズムを使用して構築されています。ベクトルデータベースは、データ管理、耐障害性、認可とアクセスコントロール、クエリエンジンなどの追加機能を提供します。 

ベクトルデータベースの使用方法

ベクトルデータベースは通常、ビジュアル検索、セマンティック検索、マルチモーダル検索などのベクトル検索ユースケースを強化するために使用されます。最近では、これらを生成系人工知能 (AI) のテキストモデルと組み合わせて、会話型の検索エクスペリエンスを提供するインテリジェントエージェントを作成しています。また、生成系 AI モデルが真実のような嘘を生成し、チャットボットが事実にそぐわないが信憑性のありそうな応答をするのを防ぐこともできます。

開発プロセスは、製品画像のようなコーパスをベクトルにエンコードするように設計された埋め込みモデルを構築することから始まります。データインポートプロセスはデータハイドレーションとも呼ばれます。アプリケーションデベロッパーは、データベースを使用して、製品画像をエンコードし、ベクトルを使用して類似の画像をクエリすることで、類似の製品を検索できるようになりました。

モデル内では、k-最近傍 (k-NN) インデックスによりベクトルを効率的に検索し、コサインなどの距離関数を適用して結果を類似度でランク付けします。 

ベクトルデータベースが重要な理由

デベロッパーは、ベクトルデータベースへの埋め込みによって生成されたベクトルにインデックスを付けることができます。これにより、隣接するベクトルを検索して類似のアセットを見つけることができます。

ベクトルデータベースは、埋め込みモデルを操作する方法を提供します。リソース管理、セキュリティ制御、スケーラビリティ、フォールトトレランス、高度なクエリ言語による効率的な情報検索などのデータベース機能により、アプリケーション開発の生産性が向上します。

ベクトルデータベースは、究極的にはデベロッパーが独自のアプリケーション体験を生み出すことを可能にします。例えば、ユーザーはスマートフォンで写真を撮って、類似の画像を検索できます。 

デベロッパーは他のタイプの機械学習モデルを使用して、画像やスキャンした文書などのコンテンツからのメタデータの抽出を自動化できます。ベクトルと一緒にメタデータをインデックス化して、キーワードとベクトルの両方でハイブリッド検索を行うことができます。また、セマンティックな理解を関連性ランキングに融合させて、検索結果を向上させることもできます。

生成人工知能 (AI) のイノベーションにより、テキストを生成して人間との複雑な会話を管理できる、ChatGPT のような新しいタイプのモデルが導入されました。複数のモダリティを操作できるものもあります。例えば、一部のモデルでは、ユーザーが風景を説明すると、その説明に合った画像を生成できます。

ただし、生成モデルはハルシネーションを生成する傾向があり、それによって、例えばチャットボットがユーザーを誤解させる可能性があります。 ベクトルデータベースは生成系 AI モデルを補完できます。生成系 AI チャットボットの外部知識ベースを提供し、信頼できる情報を確実に提供できるよう支援します。 

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

ベクトルデータベースは、ベクトル検索を活用したエクスペリエンスを作成したいデベロッパーを対象としています。アプリケーションデベロッパーは、オープンソースモデル、自動機械学習 (ML) ツール、および基本的なモデルサービスを使用して、埋め込みを生成し、ベクトルデータベースをハイドレートできます。これには、最低限の ML の専門知識が必要です。

データサイエンティストとエンジニアのチームは、専門的に調整された埋め込みを構築し、ベクトルデータベースを通じて運用できます。これにより、人工知能 (AI) ソリューションをより迅速に提供できます。

運用チームは、使い慣れたデータベースワークロードとしてソリューションを管理することでメリットが得られます。既存のツールやプレイブックを使用できます。

ベクトルデータベースの利点とは?

ベクトルデータベースにより、デベロッパーはベクトル検索を活用した革新的でユニークな体験を生み出すことができます。人工知能 (AI) アプリケーションの開発を加速し、AI を活用したアプリケーションワークロードの運用を簡素化できます。

ベクトルデータベースは、k-最近傍 (k-NN) ベアインデックスを基に構築する代替手段となります。この種のインデックスの使用、調整、運用には、さらに多くの専門知識とエンジニアリングが必要です。

優れたベクトルデータベースは、データ管理、フォールトトレランス、重要なセキュリティ機能、クエリエンジンなどの機能を通じてアプリケーションに基盤を提供します。これらの機能により、ユーザーはワークロードを運用可能にしてスケーリングを簡素化し、高いスケーラビリティを維持し、セキュリティ要件を満たすことができます。

クエリエンジンや SDK などの機能により、アプリケーション開発が簡単になります。また、デベロッパーは k-NN 検索の一部として、メタデータに対してより高度なクエリ (検索やフィルタリングなど) を実行できます。また、BM25 などの従来の用語頻度モデルとベクトルスコアをブレンドしたハイブリッド関連性スコアリングモデルを使用して、情報検索を強化することもできます。

ベクトルデータベースの課題とは?

ベクトルデータベースには、他のデータベーステクノロジーが直面しているのと同じ課題の多くがあります。スケーラビリティ、近似精度、レイテンシーパフォーマンス、経済性を引き続き向上させていくことになります。

比較的初期の技術として、多くのベクトルデータベースは、セキュリティ、レジリエンシー、運用サポート、ワークロードサポートの多様化などのコアデータベースコンピテンシーに基づいて成熟する必要があります。人工知能 (AI) アプリケーションが成熟し、単なるベクトル検索以上のものが必要となるにつれて、これは重要になります。 

AWS はお客様のベクトルデータベース要件をどのようにサポートできるか?

Amazon Web Services (AWS) では、お客様のベクトルデータベース要件を満たす数多くのサービスを提供しています。

今すぐアカウントを作成して、AWS でベクトルデータベースの使用を開始しましょう。

AWS での次のステップ

追加の製品関連リソースを確認する
クラウドの分析サービスの無料オファーを見る 
無料のアカウントにサインアップする

AWS 無料利用枠にすぐにアクセスできます。

サインアップ 
コンソールで構築を開始する

AWS マネジメントコンソールで構築を始めましょう。

サインイン