Ahogrammer

Deep Dive Into NLP, ML and Cloud

日本語に対応した埋め込みモデルの検索性能を比較する

本記事では、軽量な検索ベンチマークであるNano-BEIRを用いて、日本語に対応した埋め込みモデルの検索性能を比較します。日本語埋め込みモデルの代表的なベンチマークとしては、JMTEB v2.0 があります[1]。JMTEBにも検索タスクは含まれていますが、ベンチマークの実行に時間がかかるため、今回はより高速に評価可能なNano-BEIRを用います。

Nano-BEIRとは

Nano-BEIRは、BEIRを小規模化したベンチマークです。BEIRは、18のデータセットを9種類の検索タスクにまたがって収集した情報検索用のベンチマークです[2]。タスクとして質問応答、事実検証、重複質問検索、議論検索、ニュース検索、ツイート検索、バイオメディカル検索、エンティティ検索、引用予測を含みます。以下にBEIRに含まれるタスクとデータセットを示します。多様なタスクとドメイン横断での評価ができる点が強みです。

BEIRに含まれるタスクとデータセット。画像は`[2]`より引用。

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の作り方が関係しているのかもしれません。

参考文献

  1. JMTEB | GitHub
  2. BEIR: A Heterogeneous Benchmark for Zero-shotEvaluation of Information Retrieval Models
  3. Nano-BEIR: A Multilingual Information Retrieval Benchmark with Quality-Enhanced Queries