日本語に対応した埋め込みモデルの検索性能を比較する
本記事では、軽量な検索ベンチマークであるNano-BEIRを用いて、日本語に対応した埋め込みモデルの検索性能を比較します。日本語埋め込みモデルの代表的なベンチマークとしては、JMTEB v2.0 があります[1]。JMTEBにも検索タスクは含まれていますが、ベンチマークの実行に時間がかかるため、今回はより高速に評価可能なNano-BEIRを用います。
Nano-BEIRとは
Nano-BEIRは、BEIRを小規模化したベンチマークです。BEIRは、18のデータセットを9種類の検索タスクにまたがって収集した情報検索用のベンチマークです[2]。タスクとして質問応答、事実検証、重複質問検索、議論検索、ニュース検索、ツイート検索、バイオメディカル検索、エンティティ検索、引用予測を含みます。以下にBEIRに含まれるタスクとデータセットを示します。多様なタスクとドメイン横断での評価ができる点が強みです。

Nano-BEIRは、このBEIRをより小規模化したベンチマークであり、5言語対応、649クエリ、13データセット、8種類の検索タスクから構成されています[3]。日本語版としてNano-BEIR-jaが公開されています。本家のBEIRと比べると、Nano-BEIRはデータセットの構成がやや異なり、MSMARCOが含まれる一方で、ニュース検索やツイート検索は含まれていません。
以下にNano-BEIRを構成するデータセットとクエリ数、文書数を示します。
| データセット | クエリ数 | 文書数 |
|---|---|---|
| NanoArguAna | 50 | 3,635 |
| NanoClimateFEVER | 50 | 3,408 |
| NanoDBPedia | 50 | 6,045 |
| NanoFEVER | 50 | 4,996 |
| NanoFiQA2018 | 50 | 4,598 |
| NanoHotpotQA | 50 | 5,090 |
| NanoMSMARCO | 50 | 5,043 |
| NanoNFCorpus | 50 | 2,953 |
| NanoNQ | 50 | 5,035 |
| NanoQuoraRetrieval | 50 | 5,046 |
| NanoSCIDOCS | 50 | 2,210 |
| NanoSciFact | 50 | 2,919 |
| NanoTouche2020 | 49 | 5,745 |
| 合計 | 649 | 56,723 |
評価結果
以下に評価結果を示します。比較用にJMTEBの検索スコアがあるものは併記しました。
| Model | JMTEB (検索) | NDCG@10 | MRR@10 | MAP@100 |
|---|---|---|---|---|
| ruri-v3-30m | 73.3 | 0.5399 | 0.6143 | 0.4577 |
| ruri-v3-70m | 74.73 | 0.5583 | 0.6326 | 0.4790 |
| ruri-v3-130m | 76.41 | 0.5663 | 0.6425 | 0.4847 |
| ruri-v3-310m | 76.29 | 0.5788 | 0.6506 | 0.4973 |
| sarashina-embedding-v2-1b | 76.58 | 0.5690 | 0.6376 | 0.4874 |
| embeddinggemma-300m | 72.3 | 0.5869 | 0.6473 | 0.4994 |
| plamo-embedding-1b | 0.5278 | 0.5959 | 0.4441 | |
| jina-embeddings-v5-text-nano | 0.6055 | 0.6724 | 0.5216 | |
| jina-embeddings-v5-text-small | 0.6152 | 0.6896 | 0.5301 | |
| pplx-embed-v1-0.6b | 0.6083 | 0.6799 | 0.5285 | |
| harrier-oss-v1-0.6b | 0.5718 | 0.6383 | 0.4892 | |
| Qwen3-Embedding-0.6B | 0.5580 | 0.6378 | 0.4730 | |
| snowflake-arctic-embed-l-v2.0 | 0.5739 | 0.6488 | 0.4926 |
まず全体傾向を見ると、今回のNano-BEIR-jaではJina系とpplx-embedが強く、特にjina-embeddings-v5-text-smallがNDCG@10、MRR@10、MAP@100のすべてで最上位でした。一方で、日本語モデルとしてよく使われているruri-v3やsarashina-embedding-v2-1bは、今回の条件では最上位には到達しませんでした。
ruri-v3やsarashina-embedding-v2-1bの結果を見た感じだと、JMTEBのスコアが高いほうがNano-BEIR-jaのスコアも高くなる傾向があるように見えます。ただ、embeddinggemma-300mがNano-BEIR-jaでのスコアの高さの割にJMTEBのスコアが低いです。このあたりは訓練時の日本語データの量やアーキテクチャ、Nano-BEIR-jaの作り方が関係しているのかもしれません。