用語集

ベクトル・データベース

ベクトルデータベースが、効率的な類似検索、意味検索、インテリジェントシステムの異常検知を可能にすることで、AIにどのような革命をもたらすかをご覧ください。

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

ベクターデータベースは、高次元ベクターを格納、管理、照会するために設計された特殊なタイプのデータベースであり、しばしばエンベッディングと呼ばれる。人工知能(AI)機械学習(ML)の文脈では、これらのベクトルはディープラーニング(DL)モデルによって生成されたテキスト、画像、音声、動画などの非構造化データの数値表現です。構造化されたデータや完全一致を得意とする従来のデータベースとは異なり、ベクトル・データベースは類似検索に最適化されており、アプリケーションはキーワードのマッチングではなく、概念的または意味的な近さに基づいてアイテムを見つけることができる。この機能は、多くの最新のAI主導型機能の基本となっている。

コアコンセプトと機能性

ベクトル・データベースはベクトル探索の原理で動作し、与えられたクエリ・ベクトルに「最も近い」ベクトルをデータベースから探し出す。この近さは通常、コサイン類似度や ユークリッド距離のような距離メトリクスを使って測定されます。コアとなるワークフロー

  1. 埋め込み生成:データ(テキスト、画像など)は、埋め込みモデル(テキストの場合はBERT、埋め込みモデルの場合は Ultralytics YOLOモデルなど)を使ってベクトルに変換する。これらのベクトルは、高次元空間でデータの意味的本質を捉えます。
  2. インデックス作成:生成されたベクトルはベクトルデータベースに格納される。高速な検索を可能にするため、データベースはHNSW(Hierarchical Navigable Small World)やIVF(Inverted File Index)のような近似最近傍(ANN)検索技術を中心とした特殊なインデックス作成アルゴリズムを使用している。これらのインデックスは、何十億ものベクトルでも高速な類似性検索を可能にし、リアルタイムの推論に不可欠なスピードの大幅な向上と完璧な精度を引き換えにします。一般的なANNライブラリにはFAISSや ScaNNがある。
  3. クエリ:クエリ(ベクトルにも変換される)を受け取ると、データベースはそのインデックスを使用して、選択された距離メトリックに基づいてクエリベクトルに最も類似したベクトルを効率的に検索して返す。

ベクターデータベースと従来のデータベースの比較

従来のデータベース(SQLやNoSQLデータベースのような)は、構造化または半構造化データ用に設計されており、標準的なデータベースインデックス作成方法(Bツリーなど)を使用した厳密なマッチングに依存している。これらは本来、ベクトルとして表現される非構造化データに必要な類似性検索を処理する機能を備えていません。

主な違いは以下の通り:

  • データ型:従来のデータベースは英数字やJSONなどを扱う。ベクトル・データベースは高次元の数値ベクトルを扱う。
  • クエリーの種類:従来のデータベースは完全一致、範囲検索、キーワード検索を行う。ベクターデータベースは類似検索(最近傍検索)を行う。
  • インデックス作成:従来のデータベースでは、Bツリーやハッシュ・インデックスのようなインデックスを使用。ベクターデータベースはANNインデックスを使用する。

AIと機械学習における応用

ベクターデータベースは、多くのAIアプリケーションのバックボーンとなっている:

  • セマンティック検索検索エンジンや社内のナレッジベースが、単なるキーワードではなく、意味に基づいて検索結果を見つけられるようにすること。例えば、「ヘルシーランチのアイデア」を検索すると、正確な検索語が含まれていなくても、サラダや穀物ボウルのレシピが返されることがある。
  • レコメンデーションシステムNetflixやSpotifyのようなプラットフォームで、コンテンツとユーザープロファイルの埋め込みに基づいて、ユーザーが以前に気に入ったものに似た映画や曲を提案する。
  • 画像認識とビジュアル検索:画像をアップロードすることで、ユーザーが類似画像を検索したり(逆画像検索)、eコマースで商品検索を可能にする。これはコンピュータ・ビジョン(CV)における重要なアプリケーションである。Ultralytics HUBのようなプラットフォームは、大規模なビジュアルデータセットの管理と検索にベクトルデータベースを活用するかもしれない。
  • 自然言語処理(NLP)テキストのセマンティクスを理解することで、質問応答システム、チャットボット、文書クラスタリングなどのアプリケーションをサポートする。
  • 検索補強型生成(RAG) 大規模言語モデル(LLM)を、ベクトルデータベースから関連する最新の情報を検索することで強化し、モデルの応答を事実データに基づかせることで、幻覚を減らす。
  • 異常検出ベクトル空間内の密集したクラスターから離れた場所にある異常なデータポイント(ベクトル)を特定し、不正検出やシステム監視に役立てる。
  • データ探索ツール Ultralytics Explorerのようなツールは、類似のデータポイントをグループ化することで、ユーザーが大規模なデータセットを視覚化し、理解するのに役立つ埋め込みを使用します。

人気のベクターデータベース

オープンソースや商用のベクターデータベースがいくつか利用できる:

  • Pinecone人気のマネージドベクターデータベースサービス。
  • Milvus: スケーラビリティのために設計されたオープンソースのベクトルデータベース。
  • Weaviate:グラフ機能を備えたオープンソースのAIネイティブベクターデータベース。
  • Chroma DB: 開発者のエクスペリエンスにフォーカスしたオープンソースのエンベッディングデータベース。
  • Qdrant:オープンソースのベクトルデータベースと類似検索エンジン。

ベクターデータベースの台頭は、高度なAIアプリケーションの構築における埋め込みと類似検索の重要性の高まりを反映しており、ベクターデータベース市場の大きな成長を牽引している。ベクターデータベースは、最新の機械学習モデルによって得られた知見を効果的に活用するための重要なインフラストラクチャーコンポーネントである。

すべて読む