AI ベクトル埋め込みモデル徹底比較(2026)

AI与大数据本番環境の AI Agent(更新: 2026年7月20日)

埋め込みモデル選択の重要性

2026 年 RAG は標準だが、埋め込みモデル選択を軽視するチームが多い。埋め込みは全意味検索の基盤。不適切なら LLM コンテキストが的外れ(GIGO)、クラスタリング混乱、多言語同義語が無関係空間に。


5 評価軸

質問
意味品質 MTEB Retrieval/STS スコア
次元数 Matryoshka 短縮対応?
多言語 言語横断品質
コスト /1M トークン価格、オンプレ可?
遅延 p95、バッチスループット

6 モデル

1. text-embedding-3-small

1536次元、Matryoshka 512 で品質 2% 低下のみ。$0.02/1M。最適:英語 RAG、プロトタイプ。

from openai import OpenAI; c=OpenAI()
r=c.embeddings.create(model="text-embedding-3-small",input=["hello"],dimensions=512)
print(len(r.data[0].embedding)) # 512

2. text-embedding-3-large

3072次元、MTEB avg 64.6。$0.13/1M。最適:法務/医療高精度。

3. Cohere embed-v3

多言語デファクト。1024次元。非対称:search_document/search_query。$0.10/1M。

import cohere; co=cohere.Client("key")
doc=co.embed(texts=["Kubernetes guide"],model="embed-multilingual-v3.0",input_type="search_document").embeddings[0]
q=co.embed(texts=["Kubernetes ネットワーク"],model="embed-multilingual-v3.0",input_type="search_query").embeddings[0]

⚠️ 格納/検索で異なる input_type 必須。

4. BGE-M3

密・疎・多ベクトル 3 方式同時サポート。MIT。A10 1 枚。中英極強。

from sentence_transformers import SentenceTransformer
m=SentenceTransformer("BAAI/bge-m3")
d=m.encode("TiDB 検索文書",normalize_embeddings=True)
q=m.encode("Represent this sentence for searching relevant passages: TiDB インデックス選択",normalize_embeddings=True)

ハイブリッド使用で再現率+精度向上。

5. E5 シリーズ

命令チューニング型。multilingual-e5-large 1024次元。e5-mistral-7b 4096次元最高品質。

6. Jina v3

多ベクトル+長文(8192トークン)。Apache-2.0。


MTEB 速報 (2026 Q2)

モデル Retr STS 言語
text-embedding-3-large 59.3 82.7 多言語
Cohere embed-v3 60.1 81.5 多言語最強
BGE-M3 58.7 80.2 中英極強
text-embedding-3-small 56.8 80.1 英語
E5-mistral-7b 61.2 84.3 英語
multilingual-e5-large 57.2 78.9 多言語

⚠️ 公開≠自前。自己評価必須。


コスト (2 億トークン)

モデル コスト オンプレ
small(512) $4
large(512) $26
Cohere $20
BGE-M3 $0(GPU)

継続更新ならオープンソースが数ヶ月で回収。


選定表

状況 推奨
英語迅速 text-embedding-3-small
多言語 RAG Cohere
中国語多 BGE-M3
オンプレ BGE-M3/e5
高精度 large/E5-mistral
長文 Jina v3
予算極小 BGE-M3+単GPU

自己評価

from sentence_transformers import SentenceTransformer, evaluation
model=SentenceTransformer("BAAI/bge-m3")
evaluator=evaluation.InformationRetrievalEvaluator(queries=...,corpus=...,relevant_docs=...)
results=evaluator(model)
print(f"NDCG@10: {results['ndcg@10']:.4f}")

比較:意味検索(NDCG)、分類(線形プローブ)、クラスタリング(Silhouette)、言語横断(mAP)。


FAQ

Q1:Matryoshka とは?——多次元同時最適化学習。生成後短縮可能。例:3072→256、92% 節約。

Q2:微調整時期?——専門領域で不足時。2–5k ペア+数エポック。

Q3:非対称埋め込み?——クエリと文書で異符号化経路。Cohere が代表的。

Q4:疎 vs 密?——疎=キーワード完全一致、密=意味一致、ハイブリッド最強。

Q5:コスト最適化?——短縮・キャッシュ・バッチ API。


結論

3 ステップ:決定表で 2–3 候補→BEIR 自前評価→AB テスト。

#向量嵌入#Embedding#RAG#语义检索#OpenAI#BGE