開発分析
日本語RAGのEmbeddingモデルはどう選ぶ?同じ質問セットで比較する方法

目次
日本語RAGで使うEmbeddingモデルを選ぶとき、公開ベンチマークの順位やモデル名の知名度だけで決める必要はない。
まず自分の文書を扱える仕様かを確認し、その後で同じ質問を使って検索結果を比べる方が実用的だ。
生成LLMの回答品質とは別に、Embeddingモデルには「必要な文書を検索候補へ出せるか」という役割がある。
図: 主な比較軸を1枚に整理。細かな条件は本文と表で確認する。
まず5項目で候補を絞る
最初に確認したいのは次の5つだ。
| 項目 | 確認すること |
|---|---|
| 対応言語 | 配布元が日本語・多言語利用を案内しているか |
| ライセンス | 自分の用途で利用できる条件か |
| 最大入力長 | 文書の分割方法と合うか |
| ベクトル次元 | 利用するベクトルDBで扱えるか |
| 実行環境 | Ollamaなど実際に使う環境で利用できるか |
この段階では、どのモデルが一番高精度かまでは決めない。
EmbeddingGemmaやQwen3 Embeddingのように、多言語対応や入力長、次元などを公式に示しているモデルは候補を絞る材料になる。ただし、それだけで自分の日本語文書で最良になるとは限らない。
ベクトル次元が大きいほど高精度とは限らない
Embeddingモデルは文章を数値のベクトルへ変換する。ベクトル次元は、その数値列の長さだ。
次元は保存容量やベクトルDBの設計にも関係するため重要だが、数値が大きいだけで日本語検索の精度が高いとは判断できない。
同様に、モデルのパラメータ数やダウンロード容量だけから検索性能を決めることもできない。
自分の日本語質問を10件ほど用意する
巨大な評価データを作る必要はない。
自分のRAGで実際に聞きそうな質問を10件前後用意し、それぞれに「どの文書が取れてほしいか」を決める。
質問: 保証期間は何年?
正解文書: 製品保証規定.pdf
正解箇所: 第3条 保証期間
質問には、
- 固有名詞
- 数字
- 言い換え
- 短い質問
- 少し曖昧な質問
などを混ぜると、実際の使い方に近づけやすい。
比較では検索以外の条件を揃える
Embeddingモデルを比較するときは、少なくとも次を同じにする。
- 同じ文書
- 同じ分割方法
- 同じ質問
- 同じ取得件数
- 同じ評価基準
生成LLMまで同時に変えると、検索の差なのか回答生成の差なのか分からなくなる。
まずは「正解文書が上位に入ったか」を検索部分だけで比べる。
モデルを変えたら文書を再登録する
EmbeddingモデルAで文書をベクトル化し、質問だけモデルBでベクトル化するような比較は避ける。
文書側と質問側で別のEmbeddingモデルを使えば、同じベクトル空間を前提にした比較にならない。
モデルAとモデルBを比べるなら、それぞれのモデルで文書を登録し直し、同じ質問セットを流す。
最後は自分の文書で決める
「日本語対応」「多言語」「次元が大きい」といった仕様は、試す候補を減らすために使う。
最後は、自分の日本語文書と質問で必要な文書を安定して取れるかを見る。
候補を2〜3個に絞り、同じ質問セットで比較すれば、公開ランキングだけを見るより、自分のRAGに合うモデルを選びやすい。
OllamaでEmbeddingを初めて動かす場合は、OllamaでEmbeddingを使う最初の手順へ進む。個別候補としてQwen3 Embeddingを確認したい場合は、Qwen3-Embedding-0.6Bのモデル解説も参考になる。
まとめ
- 日本語対応や多言語対応という表記だけで、自分の文書検索の精度は決まらない
- 対応言語、ライセンス、入力できる長さ、ベクトル次元、使う実行環境への対応を先に確認する
- 文書の登録と検索では同じEmbeddingモデルを使い、モデルを変えて比較するときは文書を再登録する
- 最終判断は、自分の日本語質問と正解文書を使った同条件の検索結果で行う
公式サイトで次に進む
この記事で明示的に扱うソフトだけを表示します。配布・手順は各公式ページで確認してください。
Ollama
local-gen.jpがファイルを配布するものではなく、互換性を保証するものでもありません。
この記事で扱ったデータ
モデル・GPU・実行ソフトの確認済みデータを、記事とは別に確かめられます。