Embedding Gemma 300M 文章ベクトルの日本語性能を JMTEB で測る
Google が先日 EmbeddingGemma google/embeddinggemma-300m という文章ベクトルモデルをリリースしましたね。MTEB(Multilingual v2)においては、かなりの成績、というわけで日本語性能もちゃんと測るべく、JMTEB(v1)でベンチマークを取ってみました。
結論から言うと日本語においては、EmbeddingGemma はとても性能が低かったです。
JMTEB v1 ベンチマーク評価
モデル | params | avg | Retrieval | STS | Classification | Reranking | Clustering | PairClass |
---|---|---|---|---|---|---|---|---|
google/embeddinggemma-300m | 308M | 58.10 | 42.18 | 73.36 | 63.23 | 91.55 | 45.87 | 62.42 |
intfloat/multilingual-e5-small | 118M | 69.52 | 67.27 | 80.07 | 67.62 | 93.03 | 46.91 | 62.19 |
intfloat/multilingual-e5-large | 560M | 71.65 | 70.98 | 79.70 | 72.89 | 92.96 | 51.24 | 62.15 |
cl-nagoya/ruri-v3-30m | 37M | 74.51 | 78.08 | 82.48 | 74.80 | 93.00 | 52.12 | 62.40 |
cl-nagoya/ruri-v3-310m | 315M | 77.24 | 81.89 | 81.22 | 78.66 | 93.43 | 55.69 | 62.60 |
注:MTEB v1の16の日本語タスクのマイクロ平均(単純平均)で算出
なお、JMTEBの設定はこちらで、各種 prefix などはつけているはずです。また結果の json である summary.json はこちら(gist)。再現方法も gist に記載してます。私の測定結果がおかしかったら教えてください。
JQaRA / JaCWIR
JMTEB v1 でのスコアが低すぎるので、別途 JQaRA / JaCWIR でも評価してみましたが、やはりかなり低い結果となりました。
モデル | JQaRA (nDCG@10) | JQaRA (MRR@10) | JaCWIR (MAP@10) | JaCWIR (HIT_RATE@10) |
---|---|---|---|---|
google/embeddinggemma-300m | 0.261 | 0.457 | 0.730 | 0.904 |
intfloat/multilingual-e5-small | 0.492 | 0.729 | 0.869 | 0.970 |
intfloat/multilingual-e5-large | 0.554 | 0.799 | 0.876 | 0.973 |
MTEB 高性能 ≠ 日本語高性能
先日評価した Qwen3 Embedding (Qwen3 Embedding 文章ベクトルの日本語性能を JMTEB で測る)もですが、最近の MTEB 高評価マルチリンガル embedding モデルは、日本語性能が低いことが多いですね。なんでだろうと、MTEB Leaderboard の Language-specific
の Japanese
を見ると、Qwen3 Embeddings, Embedding Gemma 共に Pair Classification しか日本語結果では載っていないので、ほぼ参考になりません。マルチリンガル性能とは…。
またこの Qwen3 Embedding, Embedding Gemma の2モデルは decoder モデルベースのアーキテクチャです。embeddinggemma-300m の中身を見ると、埋め込み用の HEAD (pooling + 2層dense) を mean pooling して使っていますね。
decoder + 小さなパラメータサイズの場合、少なくとも日本語における性能は他の encoder マルチリンガルモデルよりだいぶ低い結果でした。この辺は、そもそも日本語を embeddings タスクでほとんど学習させてないからなのか、それとも大元の小さな decoder の時点で日本語汎化性能が低いのか…。