Google DeepMindは、テキスト(コードを含む)・画像・動画・音声を単一の768次元ベクトル空間へ埋め込むオープンなマルチモーダル埋め込みモデル「EmbeddingGemma 2」(google/embeddinggemma-2)をHugging Faceで公開しました。総パラメータは740Mで、ライセンスはApache 2.0です。
GemmaはGoogle DeepMindなどGoogleのチームが開発するオープンなAIモデルのファミリーで、モデルの重みと開発用ツールを提供しています。
何が新しいか
EmbeddingGemma 2は4つのモダリティとその組み合わせを1つの埋め込み空間に統合します。構成は270Mのテキストバックボーン(130Mのtransformer+140Mのembedder)に、170Mのビジョンエンコーダーと300Mの音声エンコーダーを組み合わせたもので、モダリティエンコーダーは用途に必要なものだけを選択的にロードできます。100以上の言語に対応し、コードタスクでは前モデル比で約14%改善したとしています。コンテキスト長は8,192 tokensで、数分の音声や動画を処理できると説明しています。Gemma 4のアーキテクチャと機能上の進展を基盤にしています。
アーキテクチャ
| 項目 | 値 |
|---|---|
| レイヤー数 | 24 |
| モデル次元 / 隠れ次元 | 512 / 2048 |
| Sliding Window | 1024 tokens |
| 語彙サイズ | 262,144 |
| ヘッド数 / KVヘッド(Local/Global) | 4 / 2/1 |
| Local:Global | 5:1 |
| Attention | GQA/MQA |
| 活性化 | Gated FFN with GELU |
| プーリング | Mean Pooling |
| 射影層 | 512→768 |
ベンチマーク
結果はすべてフル精度チェックポイント、768dでの値です。
| ベンチマーク | 指標 | EmbeddingGemma 2 | EmbeddingGemma 1 |
|---|---|---|---|
| MTEB multilingual v2 | Mean(Task) | 61.36 | 61.15 |
| MTEB code v1 | NDCG@10 | 78.68 | 68.76 |
| MIEB lite | Mean(TaskType) | 64.64 | - |
| MMEB v2 Image | Hit@1 | 57.28 | - |
| MMEB v2 VisDoc | NDCG@5 | 67.84 | - |
| MMEB v2 Video | Hit@1 | 50.67 | - |
| MSEB Retrieval | MRR@10 | 69.54 | - |
| MAEB | Mean(Task) | 49.39 | - |
MRL(Matryoshka Representation Learning)で768dから512d・256d・128dへ切り詰めて再正規化できます。原文は256dまで品質への影響は小さく、128dはテキストのみのワークロードに向くとしています。
| 出力次元 | 圧縮率 | MTEB multilingual v2 | MTEB eng v2 | MTEB code v1 | MIEB lite | MMEB v2 Overall | MSEB Retrieval | MAEB |
|---|---|---|---|---|---|---|---|---|
| 768d | 1:1 | 61.36 | 68.46 | 78.68 | 64.64 | 59.01 | 69.54 | 49.39 |
| 512d | 1:1.5 | 61.17 | 68.41 | 77.24 | 64.32 | 58.38 | 69.18 | 49.21 |
| 256d | 1:3 | 60.41 | 67.78 | 76.18 | 63.13 | 56.24 | 66.76 | 48.91 |
| 128d | 1:6 | 57.89 | 65.68 | 71.41 | 59.06 | 45.65 | 56.71 | 46.92 |
試し方
モバイル端末やノートPCなどのコンシューマーハードウェアでの実行を想定しています。sentence-transformers経由で使えます。
pip install -U sentence-transformers transformers
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("google/embeddinggemma-2")
query_emb = model.encode("What causes the northern lights?", prompt_name="SearchQuery")
prompt_nameでタスク向けのテキスト指示プレフィックスを指定し、検索・分類・クラスタリング・意味類似度などに合わせて埋め込みを最適化します。用途として、オンデバイスでの検索、RAG、分類、クラスタリングを挙げています。

まだコメントはありません。