開発分析

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

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

日本語RAGで使うEmbeddingモデルを選ぶとき、公開ベンチマークの順位やモデル名の知名度だけで決める必要はない。

まず自分の文書を扱える仕様かを確認し、その後で同じ質問を使って検索結果を比べる方が実用的だ。

生成LLMの回答品質とは別に、Embeddingモデルには「必要な文書を検索候補へ出せるか」という役割がある。

日本語RAGの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モデルを使い、モデルを変えて比較するときは文書を再登録する
  • 最終判断は、自分の日本語質問と正解文書を使った同条件の検索結果で行う

公式サイトで次に進む

この記事で明示的に扱うソフトだけを表示します。配布・手順は各公式ページで確認してください。

local-gen.jpがファイルを配布するものではなく、互換性を保証するものでもありません。

同じテーマから

この記事で扱ったデータ

モデル・GPU・実行ソフトの確認済みデータを、記事とは別に確かめられます。

サイト内検索