Model overview · Google DeepMind
EmbeddingGemma 2
An open multimodal embedding model that maps text (incl. code), images, video, and audio—and combinations—into one shared 768-dimensional space. About 740M total parameters, built for low-latency search, RAG, classification, and clustering on consumer hardware. Hugging Face: google/embeddinggemma-2.
What it is
EmbeddingGemma 2 builds on Gemma 4 advances: four modalities in one embedding space, plus Matryoshka Representation Learning (MRL)—native 768-d output, truncatable to 512 / 256 / 128-d to cut vector storage cost.
- Native multimodality: text, images, video, audio.
- Multilingual + code: 100+ languages; ~14% improvement on code tasks vs predecessor (per model card).
- Flexible footprint: 270M text backbone + optional vision (170M) and audio (300M) encoders.
- Context: 8K token window; task instruction prefixes steer search / classification / clustering.
Overview from the HF card: 740M total params; native output 768-d; mean pooling; 512→768 projection.
Who made it
Published by Google DeepMind, hosted under the Hugging Face google org as google/embeddinggemma-2. Tagged for feature-extraction with transformers / sentence-transformers / safetensors.
HF cardData lists Apache-2.0; the model card also requires the Gemma Prohibited Use Policy. Always follow the official license and policy text.
What it is for
Intended downstream uses listed on the model card include:
- Retrieval / RAG across text, code, images, video, and audio.
- Classification (sentiment, moderation, audio events, image categories).
- Clustering and near-duplicate discovery across modalities.
- Semantic similarity for recommendations, paraphrase detection, cross-lingual alignment.
- Fact verification via evidence retrieval for a claim.
Text-only effective size ~270M; full multimodal ~740M.
How to try
Official quick start (sentence-transformers):
pip install -U sentence-transformers transformers
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("google/embeddinggemma-2")
query = "What causes the northern lights?"
document = "The northern lights are caused by charged particles from the sun."
query_emb = model.encode(query, prompt_name="SearchQuery")
doc_emb = model.encode(document, prompt_name="Document")
print(model.similarity(query_emb, doc_emb))
Use recommended text task prefixes; do not prefix images/video/audio. For MRL truncation pass truncate_dim and normalize_embeddings=True. Prefer bfloat16 or float32—avoid float16 (NaN risk per model card).
Source of truth: the model card.
vs EmbeddingGemma 1
Selected 768-d full-precision figures from the model card:
- MTEB multilingual v2 Mean(Task): 61.36 vs 61.15 (roughly flat).
- MTEB code v1 NDCG@10: 78.68 vs 68.76 (large code gain).
- New image / video / audio benchmarks (MIEB, MMEB v2, MSEB, MAEB) with no EmbeddingGemma 1 column.
Main deltas: unified four-modality space, optional encoders, and MRL truncation. Numbers belong to the HF card.
FAQ
Do I need the full 740M?
No. Disable unused encoders via config_kwargs: text-only ~270M; text+image ~440M; text+audio ~570M; full 740M.
Is 128-d safe?
Supported dims are 128/256/512/768. Quality is near-lossless down to 256-d; 128-d hurts multimodal quality. Re-normalize after truncation; query and corpus dims must match.
What is the license?
HF cardData says Apache-2.0; the model card also cites the Gemma Prohibited Use Policy. Follow official texts.
How is this different from generative Gemma?
It is an embedding model: vectors, not chat text. No generative alignment / output moderation—downstream apps own safeguards.
Is this the official site?
No. Unofficial overview of public model-card facts. Hugging Face and Google / Gemma docs are authoritative.
Unofficial model overview. Summarizes the public Hugging Face model card for EmbeddingGemma 2. Not affiliated with Google / DeepMind / Gemma. Source of truth: google/embeddinggemma-2.