正しい箇所を見つけるのは、どの埋め込みモデルか 2026-10-27 測定 · v0.98
確かめたこと。 「意味で探す」検索には埋め込みモデルが要ります。それまでの Graphium は API 経由のモデルを使っていたので、Claude や Copilot をつないだ人には、意味の検索がまったくありませんでした。手元のパソコンで動くモデルで、品質を落とさずに置き換えられるのでしょうか。置き換えられるなら、どのモデルでしょうか。
ひとことで。 パソコン上の bge-m3 が、どの指標でも 1 位で、API のモデルを上回りました。v0.99.0 からは、デスクトップアプリの既定になっていて、最初に必要になったときに自動でダウンロードされます。
測り方
| 検索の対象 | 私自身のナレッジのページ。2,375 ページを 4,942 の節に分けたもの |
| 質問 | 60 問。それぞれ、答えが書いてある節を事前に決めた。日本語 42 問・英語 18 問。10 問のうち 4 問ほどは、節と言い方が違う |
| 方法 | すべての節とすべての質問を埋め込み、似ている順に節を並べて、正しい節が何番目に来るかを見る |
| 指標 | R@1 / R@5 / R@10 は、正しい節が上位 1 / 5 / 10 件に入った割合。MRR@10 は、早く出るほど高くなる。AI の採点者は使っていない |
結果
| モデル | 動く場所 | R@1 | R@5 | R@10 | MRR@10 | 日本語 R@5 | 英語 R@5 |
|---|---|---|---|---|---|---|---|
| multilingual-e5-large(当時の使い方) | API | 0.27 | 0.55 | 0.68 | 0.38 | 0.64 | 0.33 |
| multilingual-e5-large(接頭辞あり) | API | 0.28 | 0.60 | 0.75 | 0.42 | 0.67 | 0.44 |
| multilingual-e5-small | このパソコン | 0.33 | 0.50 | 0.65 | 0.41 | 0.57 | 0.33 |
| multilingual-e5-base | このパソコン | 0.18 | 0.57 | 0.67 | 0.31 | 0.64 | 0.39 |
| multilingual-e5-large | このパソコン | 0.25 | 0.60 | 0.77 | 0.40 | 0.64 | 0.50 |
| bge-m3 | このパソコン | 0.42 | 0.68 | 0.83 | 0.54 | 0.69 | 0.67 |
負荷がかかった M1 Max での速さ:
| モデル | ダウンロード | 1 秒あたりの節数 | 5,000 節の最初の索引づくり |
|---|---|---|---|
| e5-small | 135 MB | 55 | 約 1.5 分 |
| e5-base | 296 MB | 21 | 約 4 分 |
| e5-large | 579 MB | 7 | 約 12 分 |
| bge-m3 | 587 MB | 2 | 約 39 分(下の注記を参照) |
この測定で bge-m3 は、1 節あたり最大 8,192 トークンまで読みました。アプリは 1 節を 512 トークンで切るので、速さは e5-large に近づくはずです。512 トークンでの速さも品質も、ここでは測っていません。
分かったこと
- 動かす場所より、モデルのほうが効きます。 同じ e5-large は、パソコン上でも API 経由でも、ほぼ同じ点数でした。
- bge-m3 は、とくに英語の質問で 1 位でした(R@5 は 0.33〜0.50 に対して 0.67)。英語の質問は 18 問しかないので、数問の差です。大きさでなく、順番として読んでください。
- どのチャットモデルをつないでいても、だれでも意味で探せます。
- 代わりに、最初の索引づくりに時間がかかります。アプリは起動後にバックグラウンドで索引を埋め、モデルは最初に必要になったときだけダウンロードします。
限界
- 60 問は少なめです。各点数には ±0.12 ほどの不確かさがあります。順番(bge-m3 が 1 位、その次に e5-large が前後して並び、e5-small が続く)は読めますが、小さな差は読めません。
- 同じ内容が複数のページに出てきます(主張、そのトピック、要約)。正解とする節は 1 つだけなので、どの点数も低めに出ます。ほかのベンチマークとではなく、ここにある点数どうしで比べてください。
- ページは私のもので、材料の研究と AI の論文に偏っています。
- 速さは 1 回だけ、速いマシンで、ほかの処理が走っているときに測りました。
