AI/MLインフラ(クラウド)

ベクトルデータベース べくとるでーたべーす

エンベディング類似度検索RAG自然言語処理ベクトル検索セマンティック検索
ベクトルデータベースについて教えて

簡単に言うとこんな感じ!

「意味が似ているものを素早く探せる」データベースだよ!普通のDBが「完全一致」で探すのに対して、ベクトルDBは「なんとなく近いもの」を見つけられるんだ。AIが文章や画像の”意味”を数値の塊(ベクトル)に変換して、その距離を計算して検索するって仕組みだよ!


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

ベクトルデータベースとは、テキスト・画像・音声などのデータを多次元の数値ベクトルとして保存し、「意味的な近さ(類似度)」に基づいて高速に検索するためのデータベースです。従来のリレーショナルデータベース(RDB)が「名前=田中」のような完全一致や範囲検索に特化しているのに対し、ベクトルデータベースは「この文章と意味が近い文書を探す」といったセマンティック検索(意味検索)を得意とします。

ChatGPTのような大規模言語モデル(LLM)は、膨大な知識を学習済みですが、自社の社内文書や最新情報は持っていません。そこで、社内データをベクトルとして保存しておき、質問に近い情報をベクトルDBから取り出してAIに渡す仕組み=RAG(Retrieval-Augmented Generation:検索拡張生成)が注目されています。ベクトルデータベースは、このRAGアーキテクチャの中核を担うコンポーネントとして急速に普及しています。

AIシステムの実用化を検討する企業にとって、「社内の文書・FAQをAIに賢く検索させたい」「類似商品を素早くレコメンドしたい」といった要件を実現する際に、ベクトルデータベースの採用が必須の検討項目になりつつあります。


ベクトル検索の仕組み

ベクトルデータベースを理解するには、まず「データを数値の塊に変換する」プロセスを押さえる必要があります。

ステップ処理内容具体例
① データ入力テキスト・画像などの生データ「返品ポリシーを教えてください」
② エンベディング変換AIモデルが多次元ベクトルへ変換[0.12, -0.87, 0.43, … ](数百〜数千次元)
③ ベクトル保存ベクトルDBにインデックスと共に格納メタデータ(元テキスト等)も一緒に保存
④ クエリ変換検索クエリも同じモデルでベクトル化「返品したい」→ [0.11, -0.85, 0.41, …]
⑤ 類似度計算ベクトル間の距離を計算して近い順に返すコサイン類似度・ユークリッド距離など

類似度の測り方

ベクトル同士の「近さ」を測るには主に以下の3つの指標が使われます。

コサイン類似度:ベクトルの向きの近さを測る(方向重視)→ テキスト検索に多い
ユークリッド距離:ベクトルの直線距離を測る(絶対位置重視)
内積(ドット積):大きさと方向の両方を考慮する

次元数とインデックスの関係

ベクトルは数百〜数千次元になるため、全データと総当たりで比較すると計算量が膨大になります。そのため、ベクトルDBはANN(近似最近傍探索)と呼ばれる手法でインデックスを構築し、「完全に正確ではないが爆速に近いものを返す」最適化を行っています。代表的なアルゴリズムには HNSW(Hierarchical Navigable Small World)IVF(Inverted File Index) があります。


歴史と背景

  • 2010年代前半: Word2Vecなどの単語エンベディング技術が登場。単語を数値ベクトルで表現することが研究分野で普及し始める
  • 2017年: Googleが「Attention is All You Need」論文でTransformerを発表。テキストの意味理解が飛躍的に向上
  • 2019〜2020年: BERTやGPT-2/3が登場。大規模言語モデルによるエンベディング品質が実用レベルに到達
  • 2021年: Pineconeがベクトルデータベース専用クラウドサービスをリリース。「ベクトルDB」という市場カテゴリが確立
  • 2022年: ChatGPT登場によりLLM活用が爆発的に拡大。RAGアーキテクチャの注目とともにベクトルDB需要が急増
  • 2023年〜現在: Weaviate・Qdrant・Chroma・Milvusなどオープンソース系が台頭。既存DBへのベクトル検索機能追加(pgvector、Redis等)も進み、選択肢が急増

主要なベクトルデータベースの比較

ベクトルDB ポジショニングマップ 縦軸: マネージド度(上=フルクラウド / 下=セルフホスト) 横軸: 用途(左=専用ベクトルDB / 右=既存DBへの追加) フルマネージド(クラウド) セルフホスト(OSS) 専用ベクトルDB 既存DB拡張 Pinecone クラウド専用 Weaviate Cloud / OSS pgvector PostgreSQL拡張 Redis VSS Redisベクトル検索 Qdrant OSS / Cloud Chroma ローカル開発向け Milvus 大規模OSS

用途別の選び方

用途・状況おすすめの選択肢理由
PoC・小規模開発Chroma / pgvector導入が簡単・無料から始められる
AWSで本番運用したいAmazon OpenSearch / pgvector on RDS既存インフラとの統合が容易
Azureで本番運用したいAzure AI SearchMicrosoftエコシステムとの親和性
GCPで本番運用したいVertex AI Vector SearchGoogle AIサービスとの連携
クラウド非依存で専用DBを使いたいPinecone / Weaviate高い検索性能・管理のシンプルさ
大規模データをOSSで管理したいMilvus / Qdrantスケーラビリティと柔軟性

RAGアーキテクチャにおける位置づけ

【ユーザー質問】

  エンベディングモデル(OpenAI / Cohere / Bedrock等)
      ↓ ベクトル変換
  ベクトルデータベース ←── 社内文書・FAQ・製品情報(事前登録済み)
      ↓ 類似チャンク取得(Top-K件)
  LLM(GPT / Claude / Gemini等)へ「質問+関連文書」を渡す

【回答生成】← 社内知識に基づいた正確な回答

関連する規格・RFC(あれば)

規格・仕様内容
ANN Benchmarks近似最近傍探索アルゴリズムのベンチマーク標準(ann-benchmarks.com)
HNSW論文(2016)Malkov & Yashunin による高速ANN手法の原論文。多くのDBが採用
OpenAI Embeddings APItext-embedding-ada-002 / text-embedding-3系。1536次元〜のベクトル生成
Sentence TransformersHuggingFace製のオープンソースエンベディングライブラリ

関連用語