代表的な埋め込みモデルはどう選ぶべきか: OpenAI・BGE・E5・GTE・Jina の比較

OpenAI、BGE、E5、GTE、Jina など代表的な埋め込みモデルの位置づけと違いを整理し、中国語中心のユースケースでどう選ぶかを実用的にまとめます。

RAG、セマンティック検索、ナレッジベース検索を始めると、多くの人が最初に同じ疑問にぶつかります。埋め込みモデルはたくさんあるけれど、結局どれを選べばいいのか、ということです。

代表的なモデルは大きく二つに分けられます。一つは中国語・英語・多言語タスクを広くカバーする汎用テキスト埋め込みです。もう一つは中国語向けの用途により適していて、中国語検索、中国語 QA、中国語ナレッジベースでの性能を重視したものです。

まず短い結論だけ言うなら、次のように考えると分かりやすいです。

  • 手間を減らして API をそのまま使いたいなら: text-embedding-3-small または text-embedding-3-large
  • 中国語検索をやりたくて、かつオープンソースを自前で運用したいなら: bge-base-zh-v1.5bge-m3gte-large-zh
  • 多言語にも対応したいなら: multilingual-e5-basemultilingual-e5-largejina-embeddings-v3
  • 中国語用途でコストを抑えたいなら: bge-small-zh-v1.5gte-base-zh

1. まずは種類ごとに見る

1. OpenAI 系

  • text-embedding-3-small
  • text-embedding-3-large

この系統の特徴は、呼び出しが簡単で安定していることです。API を直接使って検索、RAG、分類、類似度マッチングを行うのに向いています。強みは「特定の中国語ベンチマークで飛び抜けて高得点」という点ではなく、全体としての使いやすさにあります。導入ハードルが低く、品質が安定していて、エンジニアリングコストも低いです。

チームとしてモデルを自前でホストしたくない、推論サービスの運用もしたくないなら、OpenAI 系はたいてい最も時間を節約しやすい選択です。

2. BGE 系

  • BAAI/bge-small-zh-v1.5
  • BAAI/bge-base-zh-v1.5
  • bge-m3

BGE は中国語検索で非常によく見かける系統です。bge-small-zh-v1.5bge-base-zh-v1.5 は中国語単一言語タスク寄りで、中国語セマンティック検索、ナレッジベース検索、FAQ マッチングに向いています。bge-m3 はより汎用的で、多言語、多粒度、より複雑な検索シナリオもカバーできます。

データの大半が中国語テキストなら、BGE は候補に入れやすいモデル群です。

3. E5 系

  • intfloat/multilingual-e5-base
  • multilingual-e5-large

E5 系の特徴は、多言語性能のバランスがよいことです。中国語と英語が混在する環境、クロスリンガル検索、国際向けコンテンツ基盤に向いています。中国語だけを見るモデルではなく、「異なる言語を一つの検索基盤にまとめる」ことを重視した設計です。

コーパスが中国語だけでなく、英語、日本語、あるいはさらに多くの言語を含むなら、中国語専用モデルより E5 の方が安定しやすいです。

4. GTE 系

  • Alibaba-NLP/gte-base-zh
  • gte-large-zh

GTE も中国語タスクでよく使われます。位置づけは BGE に近く、どちらも中国語検索の実用派です。比較的バランスが良く、導入のハードルも高くありません。中国語ナレッジベース、サイト内検索、社内ドキュメント検索に向いています。

中国語オープンソースモデルを複数比較したいなら、GTE は一緒に評価する価値があります。

5. Jina Embeddings

  • jina-embeddings-v3

Jina はより汎用的で、現代的な実装シナリオに寄った選択肢です。多言語検索、長文、Web コンテンツ処理などでよく使われます。「一つのモデルでより多くのタスク形態をカバーしたい」という文脈でよく名前が挙がり、embedding 層を統一したいチームに向いています。

Web ページ、文書、多言語テキストなど、データソースが混在しているなら、Jina は試す価値のある候補です。

2. 中国語シナリオでよく使われるモデル

対象を中国語シナリオに絞ると、代表的な候補はほぼ次の通りです。

  • bge-small-zh-v1.5
  • bge-base-zh-v1.5
  • bge-m3
  • gte-base-zh
  • gte-large-zh
  • multilingual-e5-base
  • multilingual-e5-large

ここで大事なのは、「どれが絶対に一番強いか」ではなく、次の三つです。

  1. データの中心は中国語か
  2. 多言語対応が必要か
  3. 品質、コスト、導入しやすさのどれを優先するか

3. これらのモデルを並べて考える

1. 中国語性能だけを見る場合

中国語ナレッジベース、中国語 QA、中国語文書検索であれば、まず BGE と GTE を見るのが一般的です。

  • bge-small-zh-v1.5: 軽量で、コスト重視の場面に向く
  • bge-base-zh-v1.5: 中国語用途でバランスが良い定番
  • gte-base-zh: 軽量 BGE に近く、まずベースラインを作るのに向く
  • gte-large-zh: 検索品質をより重視する場面に向く
  • bge-m3: 中国語検索に加えて、より複雑な要件も視野に入れたいときに向く

コーパスがほぼ中国語だけなら、E5 も使えますが、最優先になることは多くありません。

2. 多言語が必要な場合

この場合は優先順位がかなり変わります。

  • multilingual-e5-basemultilingual-e5-large は多言語を統一的に検索するのに向いています
  • jina-embeddings-v3 も多言語と汎用テキスト処理に向いています
  • bge-m3 は従来の中国語専用モデルより、多言語へ拡張しやすいです
  • text-embedding-3-smalltext-embedding-3-large は API ベースで素早く進めたい場合に向いています

中国語、英語、製品ドキュメント、Web コピー、ユーザー問い合わせが同じ基盤に入るなら、多言語モデルの方が後からの改修コストをかなり減らせます。

3. 推論コストと保存コストを抑えたい場合

ここでは軽量モデルが有利です。

  • bge-small-zh-v1.5
  • gte-base-zh
  • multilingual-e5-base
  • text-embedding-3-small

これらは次のようなケースに向いています。

  • 文書量が多い
  • 更新頻度が高い
  • 大量のベクトル化が必要
  • レイテンシとコストに敏感

データ規模が大きい場合、embedding の次元数、推論速度、インデックスサイズは総コストに直結します。そのため、まず小さいモデルでベースラインを作るのは堅実なやり方です。

4. まず性能上限を優先したい場合

より大きいモデルは、複雑な検索や高品質な再現率を求める場面に向いています。たとえば次のようなモデルです。

  • text-embedding-3-large
  • multilingual-e5-large
  • gte-large-zh
  • bge-base-zh-v1.5
  • bge-m3

ただし、モデルが大きいほど本番体験が必ず良くなるわけではありません。多くのプロジェクトでは、本当のボトルネックはモデルそのものではなく、チャンク分割、取得件数、再ランキング、データクリーニング、評価方法にあります。

4. 各モデルはどんなタスクに向くか

モデル 向いている場面 ざっくりした判断
text-embedding-3-small 汎用検索、RAG、素早い導入 API 利用が簡単でコストにも優しい
text-embedding-3-large 品質重視の汎用検索 品質優先で実装負担も小さい
bge-small-zh-v1.5 中国語の軽量検索 中国語用途の定番入門モデル
bge-base-zh-v1.5 中国語ナレッジベース、FAQ、セマンティック検索 中国語シナリオでバランスが良い
bge-m3 中国語中心だが、より複雑な検索にも広げたい場合 拡張性が高い
multilingual-e5-base 多言語の基本検索 国際化プロジェクトでよく使われる
multilingual-e5-large 多言語で高品質な再現率が欲しい場合 より品質重視
gte-base-zh 中国語の軽量検索 まずベースラインを作るのに向く
gte-large-zh 中国語で品質重視の場面 BGE との比較対象として使いやすい
jina-embeddings-v3 多言語、Web、汎用テキストタスク embedding 層を統一したいときに試す価値がある

5. 実際の選定をどう進めるか

論文を書くのではなく、実際にシステムを作るなら、選定手順はもっとシンプルで大丈夫です。

シナリオ 1: 中国語ナレッジベース

まずは次の組み合わせを試します。

  • bge-base-zh-v1.5
  • gte-large-zh
  • bge-small-zh-v1.5

予算が厳しいなら小さいモデルから始めて、検索品質をより重視するなら大きいモデルへ広げます。

シナリオ 2: 中国語と英語が混在するナレッジベース

まずは次を試します。

  • multilingual-e5-base
  • multilingual-e5-large
  • text-embedding-3-small
  • text-embedding-3-large

自前運用を避けたいなら OpenAI がより直接的です。自前でホストしたいなら、E5 の方が一般的です。

シナリオ 3: 今は中国語中心だが、将来的に多言語へ広げる可能性がある

まずは次を試します。

  • bge-m3
  • multilingual-e5-base
  • jina-embeddings-v3

このタイプの場面で一番怖いのは、最初は中国語だけを前提に設計し、後からベクトル基盤を丸ごと作り直すことです。

6. 最後に大事なのは「ランキング1位」ではない

埋め込みモデル選定で最も陥りやすい失敗は、公開ベンチマークの点数だけを見て、そのまま本番投入してしまうことです。

より確実なのは、だいたい次の手順です。

  1. まず 2 から 4 個の候補モデルを選ぶ
  2. 自分たちの実データで embedding を作る
  3. 一度検索評価を回す
  4. そのうえでコスト、遅延、導入方法を合わせて最終判断する

実際に結果を決めるのは、モデル名そのものよりも、そのモデルが自分のコーパス、チャンク戦略、クエリ形式に合っているかどうかだからです。

まとめ

実用的な結論だけ覚えるなら、次のように整理できます。

  • 中国語優先: bge-base-zh-v1.5gte-large-zh
  • コスト優先: bge-small-zh-v1.5gte-base-zhtext-embedding-3-small
  • 多言語優先: multilingual-e5-basemultilingual-e5-largejina-embeddings-v3
  • API をそのまま使いたい: text-embedding-3-smalltext-embedding-3-large
  • 中国語と将来の拡張性を両立したい: bge-m3

すべてのプロジェクトに合う単一のモデルはありませんが、多くのプロジェクトでは、まずこの数グループから第一候補をかなり素早く絞り込めます。

记录并分享
Hugo で構築されています。
テーマ StackJimmy によって設計されています。