ベクトル・データベースは、高次元のベクトル表現データを保存、検索、管理するために設計された特殊なデータ管理システムである。機械学習や人工知能において、ベクトルデータベースは、テキスト、画像、音声、その他のデータタイプに由来する数値埋め込みデータに対して、効率的に類似性検索や比較を行うために不可欠である。
ベクトルデータベースは、多次元空間におけるデータポイントの数学的表現であるベクトルを管理するために最適化されている。これらのベクトルは多くの場合、機械学習モデルによって生成され、単語の意味、画像の視覚的特性、サウンドクリップのオーディオ特性など、複雑な関係や特徴をカプセル化します。
完全一致や単純なインデックスに依存する従来のデータベースとは異なり、ベクトルデータベースは、近似最近傍(ANN)検索のような洗練されたアルゴリズムを使用して、クエリベクトルに最も類似するベクトルを迅速に特定します。そのため、完全一致よりも関連性や類似性が重視されるアプリケーションに最適です。
自然言語処理では、BERTやGPTなどのモデルによって生成された単語埋め込みや文埋め込みを格納するために、ベクトルデータベースが使用される。これらの埋め込みは、意味検索や質問応答システムなどのタスクを可能にする。例えば、ベクトルデータベースは、たとえ単語が完全に一致しなくても、ユーザからのクエリと似た意味の文書を検索することができる。
ベクトル・データベースは、画像の類似性検索のようなコンピュータ・ビジョンのタスクにおいて重要な役割を果たす。例えば Ultralytics YOLOのようなモデルは、画像をベクトルデータベースに格納される埋め込みに処理することができる。これにより、電子商取引のカタログで視覚的に類似した商品を見つけるなど、類似した内容や特徴を持つ画像の検索が可能になる。
レコメンデーションエンジンは、ユーザーとアイテムの埋め込みを保存するためにベクトルデータベースを使用する。そして、これらの埋め込みを比較して、対話履歴で表されるユーザーの好みに近いアイテム(映画や商品など)を提案する。
NetflixやSpotifyのようなプラットフォームは、コンテンツを推薦するためにベクトルデータベースを利用している。例えば、ユーザーの好みはベクトルとしてエンコードされ、データベース内の映画や楽曲を表すベクトルと照合される。そして、最も近いものがユーザーに推薦される。
eコマース・プラットフォームでは、ユーザが商品の画像をアップロードし、購入可能な類似商品を検索できるように、ベクトル・データベースを使用することがある。これは、コンピュータ・ビジョン・モデルを用いて、アップロードされた画像と商品カタログの埋め込みを生成し、ベクトル・データベースで類似検索を行うことで実現される。
ベクトル検索は類似したベクトルを見つけるプロセスを指すが、ベクトルデータベースはこの検索を可能にするインフラストラクチャである。ベクトル検索はベクトルデータベースが提供する機能であり、コサイン類似度やユークリッド距離のような技術を活用することが多い。
エンベッディングとは、ベクトルデータベース内に格納されているデータ表現である。機械学習モデルによって生成され、類似検索の基礎となる。エンベッディングの詳細については、機械学習におけるエンベッディングを参照してください。
機械学習モデルとハードウェアアクセラレーションにおける最近の進歩により、ベクトルデータベースはより効率的でスケーラブルになった。Ultralytics HUBのようなツールは、シームレスなモデルトレーニングとデプロイを可能にすることで、AIワークフローとベクトルデータベースの統合を簡素化する。さらに、FAISS(Facebook AI Similarity Search)のようなオープンソースライブラリや、PineconeやWeaviateのような商用ソリューションは、ベクトルデータを管理するための堅牢な実装を提供しています。
ベクターデータベースと関連技術がどのように産業を変革しているかについては、Ultralytics ブログをご覧ください。ヘルスケアや製造業などの具体的な使用例については、ヘルスケアにおけるAIアプリケーションや 製造業におけるAIをご覧ください。